-
0
Сказали сделать обращение к результату запроса без цикла. Это как?
Выборка=Запрос.Выполнить();
ТЗ=Выборка.Выбрать();
пост="";
орг="";
склад="";
//Для каждого строкатаблицы из тз Цикл
Пока ТЗ.Следующий() Цикл
//сообщить(строка(тз.Получить(сч)));
Попытка
//выборка2=тз.Получить(сч);
Если (тз.заказать)<>0 тогда
Док1=Документы.ЗаказПоставщику;
Если НЕ((пост=тз.поставщик)и(орг=тз.организация)и(склад=тз.склад))или
((пост="")и(орг="")и(склад="")) тогда
Док=Док1.СоздатьДокумент();
пост=тз.поставщик;
орг=тз.организация;
склад=тз.склад ;
конецесли;
док.Дата=ТекущаяДата();
док.Склад=тз.склад;
док.Организация=тз.организация;
док.ВалютаДокумента= Константы.ВалютаРегламентированногоУчета;
док.Контрагент=тз.поставщик;
док.ДоговорКонтрагента=тз.поставщик.ОсновнойДоговорконтрагента;
Док.ДатаОплаты=Док.Дата+Док.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности*84600;
Док.ДатаПоступления=Док.Дата+Док.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности*84600;
стр=док.Товары.Добавить();
стр.ЕдиницаИзмерения=тз.номенклатура.базоваяединицаизмерения;
стр.Количество=тз.заказать;
стр.Номенклатура=тз.номенклатура;
Док.Записать();
КонецЕсли;
исключение
Конецпопытки;
КонецЦикла;
-
0
Это когда все условия можно запихнуть в запрос.
-
0
Задача такая получить из регистра номенклатуру которую нужно дозаказывать, поэтому смотрим регистр остатки товарыорганизаций. Номенклатуры несколько. Получаеться несколько строк. Как тут без цикла справиться?
-
+1
вы за каждую итерацию цикла Создаетет документ. Это правильно?
-
- #5
- 07.03.2016 22:29
-
Отредактировано: 07.03.2016 22:31:04
0
Документ создаеться когда новый поставщик, организация. По поставщику сортировка, меняеться создаем док.
-
0
1. используйте в запросе ИТОГИ ПО и обрабатывайте выборку по группировкам.
2. условие по Если (тз.заказать)<>0 тогда можно и в запрос.
-
0
Итоги по понятно вконце вместо сгруппировать и поля пишем. А второе как в код добавить?
-
0
запроса не вижу, но скорей всего есть там поле "Заказать".
вот и пишите
"..... ГДЕ Заказать<>0".