Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) Помогите навести порядок (число прочтений - 5867 )
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Помогите навести порядок
Ответ #15 - 06. Апреля 2007 :: 05:19
Печать  
А можно и мне сови пять вставить?
Вадимко!
А как на счет тормозов при соединении с 1sjourn?
Условие на дату помоему разницы в скорости не дает.
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите навести порядок
Ответ #16 - 06. Апреля 2007 :: 12:35
Печать  
2(Спок) Вот так:
Запрос.УложитьСписокОбъектов(ВыбТовар, СписокТМЦ, "Номенклатура");

2(Варельчик) Трудно сказать, мало документов, но в них много ТМЦ. Думал сделать флажок быстрой обработки, но и так очень быстро работает
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите навести порядок
Ответ #17 - 06. Апреля 2007 :: 13:03
Печать  
Я тебя не понимаю.
У тебя список элементов, которые нужно тупо уложить в таблицу? При размере списка 19 тыс - кол-во строк в таблице тоже 19 тыс.
Или же у тебя список элементов с группами, которые нужно уложить и дополнительно еще то, что в группах? При размере списка 19 тыс - кол-во строк в таблице >= 19 тыс.
  
Наверх
ICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите навести порядок
Ответ #18 - 06. Апреля 2007 :: 13:21
Печать  
Нет
Просто первый запрос возвращал ТЗ, ее я выгружал в список и использовал для второго запроса
Укладывал как написал
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите навести порядок
Ответ #19 - 06. Апреля 2007 :: 13:24
Печать  
Вот нашел именно тот кусок:

ТЗСпр = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
     
     Запрос.УстановитьТекстовыйПараметр("ВыбФирма",             ВыбФирма);
     СписокНом = "";
     Если ТЗСпр.КоличествоСтрок() > 0 Тогда
           Список = СоздатьОбъект("СписокЗначений");
           ТЗСпр.Выгрузить(Список,,,"Номенклатура");
           
           Запрос.УложитьСписокОбъектов(Список, СписокНом, "Номенклатура");
           Запрос.УстановитьТекстовыйПараметр("СписокНом", СписокНом);
     Иначе      
           Сообщить("По заданным условиям нет номенклатуры для обработки");      
           Возврат;
     КонецЕсли;
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите навести порядок
Ответ #20 - 06. Апреля 2007 :: 13:28
Печать  
Теперь выглядит так, в двух частях Юниона (см. модернизированный слегка запрос в первом посту), все отлично:

|AND $Цены.Номенклатура IN (" + ТекстЗапросаВлож +  ")
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите навести порядок
Ответ #21 - 06. Апреля 2007 :: 14:01
Печать  
В таком случае
Код
Выбрать все
Запрос.УложитьСписокОбъектов(Список, СписокНом, "Номенклатура");
 


для каждого элемента списка, который укладывается, будут выполняться два запроса.
Т.е. на каждый элемент из списка будет выполнен запрос
Код
Выбрать все
INSERT INTO ВремТаблица (VAL, ISFOLDER) VALUES ('   ХНЯ   ', 2) --или 1, если это группа
 



и еще такой
Код
Выбрать все
INSERT INTO ВремТаблица (val, isfolder)
    SELECT
        SC.id as val,
        SC.isfolder as isfolder
    FROM $Справочник.Номенклатура as SC
    WHERE
        (SC.parentid IN (SELECT T.val FROM ВремТаблица as T))
        AND (SC.id NOT IN (SELECT TT.val FROM ВремТаблица as TT))
 



В твоем случае второй запрос лишнее. Убери третий параметр.
ps: подзапрос конечно будет быстрее, вместо укладки списка.
  
Наверх
ICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите навести порядок
Ответ #22 - 06. Апреля 2007 :: 14:57
Печать  
Большое спасибо!
А то я думал.. чого меня все игнорируют  Смущённый

Вот еще бы кто подсказал по вопросам  Круглые глаза

1. как в запросе по справочнику получить таблицу вида:
Номенклатура    НоменклатураВУ    Цена

где Цена - реквизит
НоменклатураВУ   - номенклатура самого верхнего уровня (НоменклатураВУ.PARENTID = $ПустойИд, НоменклатураВУ.ISFOLDER <> 2)

2. Как получить одну колонку вместо двух? (надо брать не максимальную цену, а по такому принципу: если в регистре цена есть - брать ее, если нет - себестоимость)
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Помогите навести порядок
Ответ #23 - 10. Апреля 2007 :: 09:23
Печать  
1) А как получается НоменклатураВУ и как она связана с Номенклатура и Цена? То условие, которое ты приводишь никак не связано с остальными параметрами.
2) Под MSSQL есть функция CASE, под драйвер для ДБФ ничего сказать не могу Печаль
  
Наверх
ICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Помогите навести порядок
Ответ #24 - 10. Апреля 2007 :: 11:03
Печать  
Цены тут никаким боком
Просто вот интересно, как на ДБФ получить допустим в приведенном запросе еще и родителя верхнего уровня
Ну или в простом запросе по справочнику
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать