Диадок. Отправка связанных документов через модуль

1. anig99 2853 08.06.24 07:37 Сейчас в теме
Добрый день! Как привязать один документ к другому при отправке через модуль Диадок? Нужно, чтобы привязывать корректировки к реализации. Даже посмотреть негде. В справке есть ссылка на такую возможность в старых модулях. А сейчас как, непонятно. https://support.kontur.ru/diadoc-1s-of/41730-otpravka
По теме из базы знаний
Найденные решения
6. anig99 2853 09.06.24 10:13 Сейчас в теме
(4) И да. Тут могут помогать и бесплатно. Пришлось самому покопаться.


В подключаемом модуле Диадок нужно добавить в функцию ОбработатьСобытие

Функция ОбработатьСобытие(ИмяСобытия, Параметры) Экспорт
	Если   ИмяСобытия = "ПодготовитьПакет" Тогда
		
		//+Установка связи в Диадок между УПД и корректировочными/исправительными УПД
		ДокументУчета = Параметры.Пакет.ДокументУчета;
		
		ЭтоКорректировка = ТипЗнч(ДокументУчета) = Тип("ДокументСсылка.СчетФактураВыданный") И ТипЗнч(ДокументУчета.ДокументОснование) = Тип("ДокументСсылка.КорректировкаРеализации");
		
		Если  ЭтоКорректировка И Параметры.Пакет.Документы.Количество() <> 0 Тогда
			 
			СсылкаНаСчетФактуруКорректировки = ДокументУчета;
			Запрос = Новый Запрос;
			Запрос.Текст = 
			"Тут текст запроса для поиска счет-фактуры основания для корректировочной";
			Запрос.УстановитьПараметр("СсылкаНаСчетФактуруКорректировки", 	СсылкаНаСчетФактуруКорректировки);
			
			Результат = Запрос.Выполнить().Выбрать();
			Если Результат.Следующий() Тогда
				Для Каждого Документ Из Параметры.Пакет.Документы Цикл
					Если Документ.СлужебнаяИнформация.Свойство("ДокументыОснования") Тогда
						Документ.СлужебнаяИнформация.ДокументыОснования.Добавить(Результат.СчетФактура);
					КонецЕсли;
                КонецЦикла;
			КонецЕсли;
		КонецЕсли;
		//-Установка связи в Диадок между УПД и корректировочными/исправительными УПД
		
	КонецЕсли;
КонецФункции
Показать
VyacheslavShilov; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. starjevschik 08.06.24 09:54 Сейчас в теме
у диадока очень хорошая техподдержка...
3. anig99 2853 08.06.24 13:24 Сейчас в теме
(2) пока они предложили доработать за деньги. Я потом им задал вопрос о том, где найти нужную информацию. Дополнительно решил задать вопрос ещё в нескольких местах.
4. starjevschik 08.06.24 16:15 Сейчас в теме
(3)
пока они предложили доработать за деньги.

а, ну а здесь могут доработать забесплатно? Логично... но неэффективно.
5. anig99 2853 08.06.24 18:57 Сейчас в теме
(4) сарказм... Код могу написать и сам. Нужно указание на место в документации или тупо на реквизит для связи документов.
6. anig99 2853 09.06.24 10:13 Сейчас в теме
(4) И да. Тут могут помогать и бесплатно. Пришлось самому покопаться.


В подключаемом модуле Диадок нужно добавить в функцию ОбработатьСобытие

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

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот