Приветствую, Форумчане!
1с8.3.12, УФ, самопис
В ТЧ есть два реквизита "ТипДанных" и "Оформитель" (все перечисления)
Покрытие - Офис
Покрытие - Офис
Покрытие - Производство
Покрытие - Производство
Ерунда1 - Игнор
Ерунда1 - Игнор
Требуется проанализировать только по парам "Покрытие - Офис" и "Покрытие - Производство"
Т.е. проверить наличие этих пар в ТЧ, причем главным условием должно быть наличие только одной из этих пар: если есть обе, то это очень плохо и больно...
Проверка идет перед записью в модуле объекта.
Перепробовал несколько мыслей:
СтруктураДляПоиска.Вставить("ТипДанных, Оформитель", Перечисления.ТипыДанныхОформления.Покрытие, Перечисления.СпособыИзготовления.Производство);
МассивСтрокНаПроизводстве = Оформление.НайтиСтроки(структураДляПоиска);
ПроверкаПокрытия.Свернуть("ТипДанных", "Оформитель");
Опять 90% Вами выполнено. Нужен еще шаг. "Свернуть" отбрасываем. "НайтиСтроки" - самое то.
Пара1ДляПоиска.Вставить("ТипДанных, Оформитель", Перечисления.ТипыДанныхОформления.Покрытие, Перечисления.СпособыИзготовления.Производство);
МассивСтрокПара1 = Оформление.НайтиСтроки(Пара1ДляПоиска);
Пара2ДляПоиска.Вставить("ТипДанных, Оформитель", Перечисления.ТипыДанныхОформления.Покрытие, Перечисления.СпособыИзготовления.Офис);
МассивСтрокПара2 = Оформление.НайтиСтроки(Пара2ДляПоиска);
Если МассивСтрокПара1.Количество()>0 И МассивСтрокПара2.Количество()>0 Тогда
Сообщить("Смотри чо творишь, Пользователь!");
Отказ = ИСТИНА;
КонецЕсли;
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua