Информационный поток
Задания вакансии материалы разработки сообщения форума
Форум

проблема с запросом

    • #1
    • 07.03.2016 22:13
    0
    Сказали сделать обращение к результату запроса без цикла. Это как?

    Выборка=Запрос.Выполнить();
    ТЗ=Выборка.Выбрать();
    пост="";
    орг="";
    склад="";
    //Для каждого строкатаблицы из тз Цикл
    Пока ТЗ.Следующий() Цикл
    //сообщить(строка(тз.Получить(сч)));
    Попытка
    //выборка2=тз.Получить(сч);
    Если (тз.заказать)<>0 тогда

    Док1=Документы.ЗаказПоставщику;
    Если НЕ((пост=тз.поставщик)и(орг=тз.организация)и(склад=тз.склад))или
    ((пост="")и(орг="")и(склад="")) тогда
    Док=Док1.СоздатьДокумент();
    пост=тз.поставщик;
    орг=тз.организация;
    склад=тз.склад ;

    конецесли;
    док.Дата=ТекущаяДата();
    док.Склад=тз.склад;
    док.Организация=тз.организация;
    док.ВалютаДокумента= Константы.ВалютаРегламентированногоУчета;
    док.Контрагент=тз.поставщик;
    док.ДоговорКонтрагента=тз.поставщик.ОсновнойДоговорконтрагента;
    Док.ДатаОплаты=Док.Дата+Док.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности*84600;
    Док.ДатаПоступления=Док.Дата+Док.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности*84600;
    стр=док.Товары.Добавить();
    стр.ЕдиницаИзмерения=тз.номенклатура.базоваяединицаизмерения;
    стр.Количество=тз.заказать;
    стр.Номенклатура=тз.номенклатура;
    Док.Записать();
    КонецЕсли;

    исключение
    Конецпопытки;


    КонецЦикла;
    • #2
    • 07.03.2016 22:20
    0
    Это когда все условия можно запихнуть в запрос.
    • #3
    • 07.03.2016 22:26
    0
    Задача такая получить из регистра номенклатуру которую нужно дозаказывать, поэтому смотрим регистр остатки товарыорганизаций. Номенклатуры несколько. Получаеться несколько строк. Как тут без цикла справиться?
    • #4
    • 07.03.2016 22:27
    +1
    вы за каждую итерацию цикла Создаетет документ. Это правильно?
    • #5
    • 07.03.2016 22:29
    • Отредактировано: 07.03.2016 22:31:04
    0
    Документ создаеться когда новый поставщик, организация. По поставщику сортировка, меняеться создаем док.
    • #6
    • 07.03.2016 22:31
    0
    1. используйте в запросе ИТОГИ ПО и обрабатывайте выборку по группировкам.
    2. условие по Если (тз.заказать)<>0 тогда можно и в запрос.
    • #7
    • 07.03.2016 22:41
    0
    Итоги по понятно вконце вместо сгруппировать и поля пишем. А второе как в код добавить?
    • #8
    • 07.03.2016 22:43
    0
    запроса не вижу, но скорей всего есть там поле "Заказать".
    вот и пишите
    "..... ГДЕ Заказать<>0".
Яндекс-директ
Для участия в обсуждении Вам необходимо авторизоваться либо   зарегистрироваться