Имя: Пароль:
1C
1С v8
Остатки на начало и конец дня ут 10.3
0 ilya1cnik
 
28.08.16
15:51
Доброго времени суток, делаю выгрузку данных по реализации за определенный период, в одном из файлов выгрузки требуется указать количество товара на начало и конец дня, использую запрос

                ЗапросОстаткиФактические = Новый Запрос
                ("ВЫБРАТЬ
                |    Товары.Ссылка,
                |    Склады.Ссылка КАК Ссылка1,
                |    ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток
                |ИЗ
                |    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&Период) КАК ТоварыНаСкладахОстаткиИОбороты
                |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Товары
                |        ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = Товары.Ссылка
                |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады
                |        ПО ТоварыНаСкладахОстаткиИОбороты.Склад = Склады.Ссылка
                |ГДЕ
                |    ТоварыНаСкладахОстаткиИОбороты.Номенклатура = &Владелец
                |    И ТоварыНаСкладахОстаткиИОбороты.Склад = &Склад");
                ЗапросОстаткиФактические.УстановитьПараметр("Владелец",СтрТч.Номенклатура);
                ЗапросОстаткиФактические.УстановитьПараметр("Склад", Док.Склад);
                ЗапросОстаткиФактические.УстановитьПараметр("Период",Новый Граница(КонецДня(Док.Дата), ВидГраницы.Включая));
                ВыборкаОстаткиФакт = ЗапросОстаткиФактические.Выполнить().Выбрать();
                ВыборкаОстаткиФакт.Следующий();
                КоличествоФакт = 0;
                Если ВыборкаОстаткиФакт.Количество() > 0 Тогда
                    КоличествоФакт = ВыборкаОстаткиФакт.КоличествоКонечныйОстаток;
                КонецЕсли;


Прочитал про НачалоДня и КонецДня все, что есть в доступе, пробовал через момент времени, результат такой же, показывает остатки исключительно на начало. Может я что-то где-то упускаю в работе с Границой, спасибо заранее за подсказки и советы
1 Горогуля
 
28.08.16
15:53
выкини свои справочники, упихай отборы в параметры ВТ и больше так никогда не делай
2 Горогуля
 
28.08.16
15:57
>УстановитьПараметр("Владелец",СтрТч.Номенклатура)
да здесь попахивает запросом в цикле. так тоже больше не делай
3 ilya1cnik
 
28.08.16
16:02
(2) Оптимизацией кода обязательно займусь и выведу запросы вне цикла, просто пока опыта не так много делаю все поэтапно, чтобы работало. Про временные таблицы попробую сейчас, спасибо за наводку
4 Горогуля
 
28.08.16
16:03
виртуальные
5 ilya1cnik
 
28.08.16
16:08
(4) В конструкторе запроса в Параметрах виртуальной таблицы отборы вводить?
6 mehfk
 
28.08.16
16:20
Да. И если у тебя запрос в цикле (о чем косвено свидетельствует СтрТч.Номенклатура), то переделай логику работы.
7 Горогуля
 
28.08.16
16:22
(5) даже можешь это сделать вне конструктора