Информационный поток
Задания вакансии материалы разработки сообщения форума
Рубрики статей и материалов
Яндекс-директ

Использование макета в справочнике

  • Добавить свою публикацию
  • для этого требуется регистрация

В некоторых конфигурациях необходимо использовать шаблоны, а шаблоном может служить справочник со
строкой неограниченой длины. Например это эффективно в конфигурациях связанных с медициной.
Например это могут быть Шаблоны врача, шаблоны Диагнозов.

Изображение

Изображение

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

Изображение

В Форме элемента разместим поле табличного документа

Изображение

Модуль:

Процедура ПриОткрытии()
    Если ЭтоНовый() тогда
        МакетДоговора = Справочники.ШП.ПолучитьМакет("ТБО");
    Иначе
        МакетДоговора = Макет.Получить();
    КонецЕсли;    
    ЭлементыФормы.ТабДок.Вывести(МакетДоговора);
    ОбластьПриемник = ЭлементыФормы.ТабДок.Область("R1C1:R50C14");
    ОбластьПриемник.Очистить(Истина,Истина,Истина);
    ОбластьДляВставки = МакетДоговора.Область("R1C1:R50C14");
    ЭлементыФормы.ТабДок.ВставитьОбласть(ОбластьДляВставки, ОбластьПриемник,,Ложь);
    Модифицированность = Ложь;
КонецПроцедуры

Процедура ПриЗаписи(Отказ)
    МакетДоговора = Новый ТабличныйДокумент;
    Область = ЭлементыФормы.ТабДок.Область("R1C1:R50C14");
    ОбластьПриемник = МакетДоговора.Область("R1C1:R50C14");
    МакетДоговора.ВставитьОбласть(Область,ОбластьПриемник,,Ложь);
    Макет = Новый ХранилищеЗначения(МакетДоговора);
КонецПроцедуры

 

Полезная используемая область 14 столбцов на 50 строк.

Создадим форму Подбора.

Теперь в нужном документе (в форме) добавим Поле табличного документа, в которое будем передавать шаблон (приеменик).

Изображение

Добавим кнопу открываюущую форму подбора нашего справочника.

И в модуль формы документа добовим процедуры:

 

Процедура ПриОткрытии()
	
	
	
	
	если ЭтоНовый() тогда
        МакетДоговора = Справочники.ШП.ПолучитьМакет("ТБО");
	Иначе
		если не(макет1.Получить()=неопределено)
			тогда
        МакетДоговора = макет1.Получить();
		иначе макетдоговора=новый табличныйдокумент;
		конецесли;
    КонецЕсли;    
    ЭлементыФормы.ТабД.Вывести(МакетДоговора);
    ОбластьПриемник = ЭлементыФормы.ТабД.Область("R1C1:R50C14");
    ОбластьПриемник.Очистить(Истина,Истина,Истина);
    ОбластьДляВставки = МакетДоговора.Область("R1C1:R50C14");
    ЭлементыФормы.ТабД.ВставитьОбласть(ОбластьДляВставки, ОбластьПриемник,,Ложь);
    Модифицированность = Ложь;	
		
	
	
	
КонецПроцедуры


Процедура ПриЗаписи(Отказ)

	
		 МакетДоговора =  Новый ТабличныйДокумент;
    Область = ЭлементыФормы.ТабД.Область("R1C1:R50C14");
    ОбластьПриемник = МакетДоговора.Область("R1C1:R50C14");
    МакетДоговора.ВставитьОбласть(Область,ОбластьПриемник,,Ложь);
	  
    Макет1 = Новый ХранилищеЗначения(МакетДоговора);	
КонецПроцедуры

Теперь у нас есть справочник с макетом:Изображение

и он попадает в документ

Изображение

И вывод на печать

 

 ОБЛАСТЬ=МАКЕТ.ПолучитьОбласть("ТаблОбласть");
	     ОбластьПриемник=ОБЛАСТЬ.ОБЛАСТЬ("R1C1:R50C14");
       МАКЕТДОГОВОРА=макет1.Получить();
		
    ОбластьПриемник.Очистить(Истина,Истина,Истина);
    ОбластьДляВставки = МакетДоговора.Область("R1C1:R50C14");
    ОБЛАСТЬ.ВставитьОбласть(ОбластьДляВставки, ОбластьПриемник,,Ложь);	 
ТабДокумент.Вывести(Область);

 

 
0
Читайте также
Восстановление потерянных реквизитов документов v 7.7
В ранее записанных и проведённых документах пропали некоторые реквизиты. В отчётах полный бардак. Как я решил эту проблему.
Внимание! Будь осторожен - "макет" возможен.
В 1С 8 есть полезная возможность сохранять в качестве макета сторонние файлы
Подчиненные справочники. Быстро.
Создание подчиненных справочников
Разработки
Автоматическое резервное копирование: Effector saver 3
Резервное копирование методом архивирования баз данных
Проверка и групповая корректировка адресов в ЗУП на соответствие КЛАДР
Проверка правильного заполнения адресов 1С ЗиУП 8
Загрузка справочников и документов из excel в 1С 8
"Обработка для загрузки документов и справочников из Excel"
Еще от автора
≡ к списку статей