Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 апр 2024, 07:40

1с83 как обойти выборку запроса

Автор buketov.av, 14 янв 2020, 15:05

0 Пользователей и 1 гость просматривают эту тему.

buketov.av

Добрый день, Дорогие Форумчане!
На скриншоте результат выборки запроса.
Подскажите, пожалуйста, каким образом обойти ее правильно:
если НаправлениеВыпуска = "Выпуск продукции на склад", тогда надо искать в пределах одной спецификации одинаковые записи в полях ПодразделениеВыпуска и ЭтапПодразделение, если не найдено совпадений, тогда выполняется запись Выпуска и Спецификации в ТЧ на форме обработки, а если найдены соответствия, тогда переходим к следующей спецификации и выполняем подобные проверки.
Если же НаправлениеВыпуска = "Выпуск продукции в подразделение", тогда выполняем не одну, а две подобных проверки.

думал попробовать решить задачу таким образом


   ВыборкаВыпуск = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Выпуск");
    Пока ВыборкаВыпуск.Следующий() Цикл
        ВыборкаСпецификация = ВыборкаВыпуск.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Спецификация");
        Пока ВыборкаСпецификация.Следующий() Цикл
           
            ВыборкаПодразделениеВыпуска = ВыборкаСпецификация.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ПодразделениеВыпуска");
            Пока ВыборкаПодразделениеВыпуска.Следующий() Цикл
            КонецЦикла;
           
            ВыборкаПодразделениеПолучатель = ВыборкаСпецификация.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ПодразделениеПолучатель");
            Пока ВыборкаПодразделениеПолучатель.Следующий() Цикл
            КонецЦикла;
           
        КонецЦикла;
    КонецЦикла;

buketov.av


но видимо такой код не поможет...
теперь думаю может всю выборку выгрузить в ТЗ и там делать некие действия, проверять построчно каждую спецификацию, так же имеем количество строк по каждой спецификации, так вот, попробовать может сделать так, КоличествоСтрокДоУдаления = Выборка.Количество(); и проверять на совпадения данные в колонках если совпадают, тогда КоличествоСТрокПослеУдаления = КоличествоСтрокДоУдаления - 1 и удалять строку ТЗ по этой спецификации и в итоге, если у нас КоличествоСтрокДоУдаления = КоличествоСТрокПослеУдаления, значит не было совпадений, а значит в Ресурсной спецификации нет такого такого этапа/участка/подразделения. которое указано в документе выпуска готовой продукции... мысли вслух..

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск