Имя: Пароль:
1C
1С v8
Выбор печатной формы в зависимости от вида договора (с обращен. в регистр свед)
0 art93
 
07.08.15
10:54
Добавил регистр "Настройка печати" Измерения: ВидДоговора и Организация. Ресурс: Шаблон договора.
В форме справочника "Договора" есть поля ВидДоговора и Организация. и в зависимости от ох значений должно выбираться нужный Шаблон договоров и в стандартной кнопке печати должен быть доступен только он.

Я начинающий. Начал разбираться, но не очень понимаю как это реализовать.
Понимаю, это должны быть события: ПриОткрытии, ПриИзмененииВидДоговора, ПриИзмененииОрганизация.

Но не пойму На клиенте или На сервере и как нужные только выбрать из регистра, как удалить не нужные из кнопки печати.

Подскажите пожалуйста
1 Fish
 
07.08.15
10:55
Для начала: что за конфа? Какая платформа? УФ или обычные формы?
2 art93
 
07.08.15
10:58
Извиняюсь не упомянул. УФ. 8.3 УТ11+СRM.
3 EugeniaK
 
07.08.15
11:00
(0) Сделай одну внешнюю печатную форму и уже в ней несколько макетов.
В зависимости от вида договора свой алгоритм заполнения и макет.
4 art93
 
07.08.15
11:04
Уже добавил 30 макетов договоров в пользовательском режиме в базу. По ТЗ нужно так делать. Нужно как то удалять из подгружаемого списка в Подменю "Печать" не нужные, не соответствующие данным в регистре.
5 art93
 
07.08.15
11:07
Может кто то подскажет где такой типовой механизм посмотреть можно?
6 Масянька
 
07.08.15
11:09
(4) А в чем проблема: одна кнопка "Печать", при нажатии определять макет (в зависимости от договора) и выводить его?
7 art93
 
07.08.15
11:12
Хорошо, в этом может ничего сложного, ещё не понял и не осознал этого. Основная проблема в:
не очень понимаю как это реализовать механизм обращения к регистру сведений
Понимаю, это должны быть события: ПриОткрытии, ПриИзмененииВидДоговора, ПриИзмененииОрганизация.
8 art93
 
07.08.15
12:00
Нашёл в Радченко примеры, но не понимаю какой мне то

// объект РегистрСведенийМенеджер.
// СоздатьНаборЗаписей()

// Пример: показать номенклатуру, цена на которую была установлена в заданную дату и время.
Набор = РегистрыСведений.Цены.СоздатьНаборЗаписей();
Набор.Отбор.Период.Установить(ЗаданнаяДата, Истина);
Набор.Прочитать();
Для Каждого ОчереднаяЗапись Из Набор Цикл
Сообщить("Номенклатура = "+ ОчереднаяЗапись.Номенклатура +", цена = "+ ОчереднаяЗапись.Цена);

КонецЦикла;

5.
// объект РегистрСведенийМенеджер.
// СоздатьМенеджерЗаписи()

// Пример: добавить новое значение цены в регистр "Цены".
Запись = РегистрыСведений.Цены.СоздатьМенеджерЗаписи();
Запись.Период = ТекущаяДата();
Запись.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("0000005");
Запись.Цена = 568;
Запись.Записать();

6.
// объект РегистрСведенийНаборЗаписей.
// []
// Для Каждого … Из … Цикл … КонецЦикла;

// Пример: показать номенклатуру, цена на которую была установлена в заданную дату и время.
Набор = РегистрыСведений.Цены.СоздатьНаборЗаписей();
Набор.Отбор.Период.Установить(ЗаданнаяДата, Истина);
Набор.Прочитать();
Для Каждого ОчереднаяЗапись Из Набор Цикл
Сообщить("Номенклатура = "+ ОчереднаяЗапись.Номенклатура + ", цена = " + ОчереднаяЗапись.Цена);

КонецЦикла;