Добавляем новый документ в обработку Диадок

Для начала сгенерируем нужные нам события

 

 

 

Выбираем обрабплатформаот внешние компонентыать типовой результат. Можно и переопределить полностью, но тогда придется описывать все документы, с которыми мы работ внешние компонентыаем.

 

 

Получаем шаблон с событиями, которые нам нужно обрабплатформаот внешние компонентыать

 

 

1. ПолучитьТаблицуИспользуемыхПакетов()

 

 

Функция ПолучитьТаблицуИспользуемыхПакетов(Параметры)

	Если ТипЗнч(Параметры) = Тип("Структура") И Параметры.Свойство("Результат_ИМ") Тогда 
		
		//ТЗ = ТаблицаЗначенийСКолонками("ID, Наименование, СоставПакета, КатегорияПакета, НаименованиеКатегории, Шаблон");

		ТЗ  = Параметры.Результат_ИМ;
		ОсновнойМодуль.ЭДО_Служебные_ДобавитьСтрокуВТаблицуЗначений(ТЗ, "ID_Приложение", "Приложение" , "ID_Приложение", "ЗаказКлиента", "ЗаказКлиента");  
					
		Возврат ТЗ;

	Конецпечатную версиюЕсли;

Конецпечатную версиюФункции 

 

2. ПолучитьТаблицуИспользуемыхВидовДокументов()

 

 

Функция ПолучитьТаблицуИспользуемыхВидовДокументов(Параметры)

	Если ТипЗнч(Параметры) = Тип("Структура") И Параметры.Свойство("Результат_ИМ") Тогда  
		
		ТЗ  = Параметры.Результат_ИМ;
		ОсновнойМодуль.ЭДО_Служебные_ДобавитьСтрокуВТаблицуЗначений(ТЗ, "ID_Приложение", "Приложение", "Nonformalized", "");   

		Возврат ТЗ;

	Конецпечатную версиюЕсли;

Конецпечатную версиюФункции 

 

3.ПолучитьТекстЗапросаДляСпискаПакетовНаОтправкуПоМассивуВидовПакетов()

 

 

Функция ПолучитьТекстЗапросаДляСпискаПакетовНаОтправкуПоМассивуВидовПакетов(Параметры)

	Если ТипЗнч(Параметры) = Тип("Структура") И Параметры.Свойство("Результат_ИМ") Тогда 
				
		Если Параметры.МассивВидовПакетов.Найти("ID_Приложение") <> Неопределено Тогда
		
			ОписаниеВидаПакета = ОсновнойМодуль.ЭДО_СправочникМенеджер_ПолучитьЭлемент("ВидыПакетов", "ID_Приложение");
			     
			Параметры.ПараметрыЗапроса.Вставить("ВидПакетаID_ID_Приложение","ID_Приложение");
			
			Если Параметры.МассивВидовПакетов.Количество() = 1 Тогда
				Результат = ТекстЗапроса_Приложение(ОписаниеВидаПакета);   
				Результат = "ВЫБРАТЬ РАЗРЕШЕННЫЕ" + Сред(Результат, СтрДлина("ВЫБРАТЬ") + 1);
				Результат = ТекстЗапроса_ВременныеТаблицыДляСпискаПакетовНаОтправку_1С() + "
							|;
							|
							|//////////////////////////
							|" + Результат + "
							|УПОРЯДОЧИТЬ ПО
							|	ДатаДокумента, НомерДокумента";    
				Параметры.Результат_ИМ = Результат;

			Иначе	
				Результат = ДобавитьОбъединениеВТекстЗапроса() + ТекстЗапроса_Приложение(ОписаниеВидаПакета);
				ТекстДляЗамены = "
							|" + Результат + " 
							|
							|УПОРЯДОЧИТЬ ПО 
							|";
				Параметры.Результат_ИМ = СтрЗаменить(Параметры.Результат_ИМ, "УПОРЯДОЧИТЬ ПО" , ТекстДляЗамены); 
			Конецпечатную версиюЕсли;
						
			Возврат Параметры.Результат_ИМ;
    	Конецпечатную версиюЕсли;
	Конецпечатную версиюЕсли;

Конецпечатную версиюФункции

 

В функции ПолучитьТекстЗапросаДляСпискаПакетовНаОтправкуПоМассивуВидовПакетов нужно определить, запрос идет ко всем документам, с которыми мы работ внешние компонентыаем, или только к новому документу. Если ко всем, то запрос просто дописываем в конец основного запроса, а если только к новому документу, то нужно написать весь запрос (со всеми временными таблицами).

 
 Запрос к новому документу

 Если у вас модуль Диадока встроен в конфигурацию, то у вас будут другие временные таблицы. Их можно будет взять из запроса, когда мы добавляем наш запрос к основному запросу.

 
 Временные таблицы

4. ПодготовитьПакет()

 

 

Функция ПодготовитьПакет(Параметры)

	Если ТипЗнч(Параметры) = Тип("Структура") И Параметры.Свойство("Результат_ИМ") Тогда
		
		Если Параметры.ВидПакетаРазвернутый.ID = "ID_Приложение" Тогда	
			ОсновнойМодуль.ЭДО_ДокументМенеджер_ПодготовитьИДобавитьДокументВПакет(Параметры.Пакет, Параметры.СтрокаСписка.Документ, "ID_Приложение");     
			Возврат Истина;
		Конецпечатную версиюЕсли;	

	Конецпечатную версиюЕсли;

Конецпечатную версиюФункции

 

Далее подключаем модуль и жмем сохран обрабплатформаоткиить

 

 

Заходим в настройки организации.

Ставим галочку на новый документ

 

 

 

 

Там же выбираем нужную печатную форму (желательно, чтобы в печатной форме была одна команда), которую будем отправлять и подписывать

 

 

 

готово

 

 

 

Тестировал: 

  • 1С:Комплексная автоматизация 2 (2.4.13.209)
  • Платформа 1С:Предприятие 8.3 (8.3.19.1467)

Диадок:

  • Версия модуля: 4.21.2.2018
  • Версия плагина: 1.4.5.286
  • Расположение модуля: ВСправочнике
  • Модуль интеграции: ПМ_УТ_11

Файлы

Наименование Файл Версия Размер Кол. Скачив.
ДиадокПодключаемыйМодуль.epf
.epf 7,31Kb
14
.epf 7,31Kb 14 Скачать

Полная версия

© ООО "Инфостарт", 2006-2023 www.infostart.ru