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

1C 8.x Сравнение реквизитов из табличной части одного документа с реквизитом другого.

Автор evgenij78, 06 ноя 2016, 14:36

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

evgenij78

Всем доброго времени суток!
Нужна подсказка))
Делаю самописную конфигурацию, возник один интересный момент. Есть 2 документа - Договор с табличной частью, в которой находятся покупатели,
и оплата по договору, без каких-либо табличных частей.
В модуле документа делаю процедуру "ОбработкаПроверкиЗаполнения", в ней нужно сравнивать покупателя в документе оплаты, со списком покупателей
из договора (реквизит с договором имеется в этом документе).
Это нужно для того, чтобы пользователи не могли вбить некорректного покупателя, которого нет в договоре.
Как правильнее поступить?
Делаю функцию с запросом к табличной части документа "Договор", затем эта функция
вызывается из проверки заполнения, делается обход в цикле.
Вот на этом самом обходе возник затык, поскольку подобных вещей раньше делать
просто не приходилось.

cska-fanat-kz

НашлиПокупателя = ЛОЖЬ;
мМассивПокупателей = Справочники.Договоры.ПолучитьСписокПокупателей(); // получаем массив покупателей из ТЧ договора
Для каждого Покупатель из мМассивПокупателей Цикл
    Если Покупатель = ПокупательИзШапкиДОкументаОплаты Тогда
         НашлиПокупателя = ИСТИНА;
        Прервать;
КонецЕсли;
КонецЦикла;

вообще есть куча разных вариантов
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

LexaK

у вас с самого начала принципиально неправильный подход!

надо не проверять каждого (выбранного пользователем) покупателя на соответствие договору,
а в документе Оплата в списке выбора покупателя оставить только тех кто соответствует выбранному договору.

например
выбрали один договор, в поле покупатель (в списке выбора) 10 покупателей (только те кто связан с этим договором)
выбрали другой договор, в списке выбора будет другой состав покупателей из связанных с этим договором.
тогда пользователь без всяких ошибок и проверок сразу выберет правильного покупателя.

если помогло нажмите: Спасибо!

Теги:

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

Рейтинг@Mail.ru

Поиск