Добавил регистр "Настройка печати" Измерения: ВидДоговора и Организация. Ресурс: Шаблон договора.
В форме справочника "Договора" есть поля ВидДоговора и Организация. и в зависимости от ох значений должно выбираться нужный Шаблон договоров и в стандартной кнопке печати должен быть доступен только он.
Я начинающий. Начал разбираться, но не очень понимаю как это реализовать.
Понимаю, это должны быть события: ПриОткрытии, ПриИзмененииВидДоговора, ПриИзмененииОрганизация.
Но не пойму На клиенте или На сервере и как нужные только выбрать из регистра, как удалить не нужные из кнопки печати.
Уже добавил 30 макетов договоров в пользовательском режиме в базу. По ТЗ нужно так делать. Нужно как то удалять из подгружаемого списка в Подменю "Печать" не нужные, не соответствующие данным в регистре.
Хорошо, в этом может ничего сложного, ещё не понял и не осознал этого. Основная проблема в:
не очень понимаю как это реализовать механизм обращения к регистру сведений
Понимаю, это должны быть события: ПриОткрытии, ПриИзмененииВидДоговора, ПриИзмененииОрганизация.
Нашёл в Радченко примеры, но не понимаю какой мне то
// объект РегистрСведенийМенеджер.
// СоздатьНаборЗаписей()
// Пример: показать номенклатуру, цена на которую была установлена в заданную дату и время.
Набор = РегистрыСведений.Цены.СоздатьНаборЗаписей();
Набор.Отбор.Период.Установить(ЗаданнаяДата, Истина);
Набор.Прочитать();
Для Каждого ОчереднаяЗапись Из Набор Цикл
Сообщить("Номенклатура = "+ ОчереднаяЗапись.Номенклатура +", цена = "+ ОчереднаяЗапись.Цена);
КонецЦикла;
5.
// объект РегистрСведенийМенеджер.
// СоздатьМенеджерЗаписи()
// Пример: добавить новое значение цены в регистр "Цены".
Запись = РегистрыСведений.Цены.СоздатьМенеджерЗаписи();
Запись.Период = ТекущаяДата();
Запись.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("0000005");
Запись.Цена = 568;
Запись.Записать();
6.
// объект РегистрСведенийНаборЗаписей.
// []
// Для Каждого … Из … Цикл … КонецЦикла;
// Пример: показать номенклатуру, цена на которую была установлена в заданную дату и время.
Набор = РегистрыСведений.Цены.СоздатьНаборЗаписей();
Набор.Отбор.Период.Установить(ЗаданнаяДата, Истина);
Набор.Прочитать();
Для Каждого ОчереднаяЗапись Из Набор Цикл
Сообщить("Номенклатура = "+ ОчереднаяЗапись.Номенклатура + ", цена = " + ОчереднаяЗапись.Цена);
КонецЦикла;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший