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

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем АртемБууууу, 14 янв 2020.

  1. TopicStarter Overlay
    АртемБууууу
    Offline

    АртемБууууу Опытный в 1С

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

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

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

    Вложения:

    Последнее редактирование: 14 янв 2020
  2. TopicStarter Overlay
    АртемБууууу
    Offline

    АртемБууууу Опытный в 1С

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