1сv7. Есть справочник категории цен.Редактировать в списке. Завел в нем реквизит (Перечисление.ДаНет) для того чтобы фиксануть какую из цен выводить на сайт.... логика простая Да должно быть обязательно указано у одной из записей...
ФлагОшибки = 1;
Да=0;
спрКЦ=СоздатьОбъект("Справочник.КатегорииЦен");
спрКЦ.ВыбратьЭлементы();
Если Поумолчанию=Перечисление.ДаНет.да Тогда
// колво ДА в справочнике, Один обязательно должен быть ДА
Пока спрКЦ.ПолучитьЭлемент() > 0 Цикл
Если спрКЦ.ПоУмолчанию=Перечисление.ДаНет.да Тогда ФлагОшибки = 0; КонецЕсли;
КонецЦикла;
Если ФлагОшибки=0 Тогда
// не заполнено обязательное поле
Предупреждение("Уже есть цена установленная по умолчанию");
СтатусВозврата(0);
КонецЕсли;
иначе
Пока спрКЦ.ПолучитьЭлемент() > 0 Цикл
Если спрКЦ.ПоУмолчанию=Перечисление.ДаНет.да Тогда Да=Да+1;КонецЕсли;
КонецЦикла;
Если Да=0 Тогда
не заполнено обязательное поле
Предупреждение("Уже есть цена установленная по умолчанию");
СтатусВозврата(0);
КонецЕсли;
КонецЕсли;
Если все записи Нет и одна ДА у которой указали Нет - получаются все Нет... А если все Нет и одно ДА и мы решили ДА передернуть, то надо будет сначала указать НЕт сохранить а потом ДА. т.е. одного ПриЗаписи не хватает, можно подключить и ПриЗакрыти, но можно закрять 1С и это событие пролетит...Как правильно решить подобную задачу?