Доработка Диадок для 1С. Заполнение графы 5а в УПД (с 01.07.2021). Подключаемый модуль

0. 17 05.07.21 18:16 Сейчас в теме
С 1 июля 2021 года действует новая форма УПД, такое изменение принято постановлением №534 от 02.04.2021 г. Правительством Российской Федерации. В форме УПД в данной редакции появилась графа 5а. Мне так и не удалось разобраться - обязательна она к заполнению или нет - в типовой форме в 1С:Бухгалтерия она заполняется, а в Диадок - нет. И было бы пофиг, но некоторые наши клиенты отказались принимать УПД с прочерком в строке 5а. Служба поддержки Диадок сообщила, что заполнение - не является обязательным, доработка - платная, тикет - закрыт :)
Поэтому здесь Вы можете скачать Подключаемый модуль для Диадок, который заполняет графу 5а - Документы основания.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Tahallus 430 06.07.21 22:35 Сейчас в теме
Либо скачиваем последнюю версию модуля и будет заполнено все без Подключаемого модуля
2. rippi 14.07.21 11:46 Сейчас в теме
(1) Не все так просто, в Диадоке строка 5а заполняется в стандартном варианте без указания диапазона строк, бухи его требуют, потому все равно в модуль лезть приходится
3. lenwood 14.07.21 22:20 Сейчас в теме
(2) Я параметр "наимдокотгр" модифицировал (добавил приписку про номера строк перед номером документа). Там по идее несложно. Но вот вопрос - по идее эту нумерацию диадок должен сделать нормально, т.е. добавить в формат нормальный массив для перечисления строк по документам отгрузки. Как бы понять - будет он это делать или нет?
5. rippi 15.07.21 11:58 Сейчас в теме
(3) Подозреваю, что нет. Потому как передача ведется в формате ФНС, а в нем предусмотрены поля для наименования, номера и даты документа. На нецелевое использование полей (в частности номера документа), думаю, не пойдут
4. jarikuss 15.07.21 11:21 Сейчас в теме
(3) Можете кодом поделиться, пожалуйста? Получилось добиться выведения в печатную форму количества строк в самой обработке , но при открытии исходящего документа в кабинете КонтурДиадока количество строк не отображается.
6. lenwood 15.07.21 19:44 Сейчас в теме
(4) в подключаемом модуле в функции ПодготовитьЭлектронныйДокумент(Параметры) перехватываете переменную content после ее заполнения (это структура) и находите в ней массив documentshipments. Для случая, когда счет фактура выписывается на основании одной реализации, то там будет один элемент массива. В нем я изменяю поле "number", добавляя перед его значением следующее:
"п/п 1-" +@тут количество элементов в в массиве "items" 'той же структуры@ + " №"+
Dmitri93; +1 Ответить
8. jarikuss 16.07.21 12:45 Сейчас в теме
(6)
в подключаемом модуле в функции ПодготовитьЭлектронныйДокумент(Параметры)
у меня в подключаемом модуле нет такой функции(
7. jarikuss 16.07.21 11:56 Сейчас в теме
На УТ 10.3.66.2 обработка не добавляется, выходит ошибка
Прикрепленные файлы:
9. AlxPop 17 16.07.21 13:32 Сейчас в теме
(7) Надо смотреть что конкретно у Вас отличается от остальных. Могу подключиться посмотреть, напишите в личку свои контакты, я с Вами свяжусь
10. jarikuss 16.07.21 14:00 Сейчас в теме
(9)Не могу написать в личку. "Внесены изменения в функционал сообщений.
Пользователи не могут начинать общение в мессенджере (первыми писать пользователю, с которым ранее не общались), при следующих условиях:
- не имеют 20 одобренных сообщений на форуме и меньше 1$m на абонентном счёте;
- нет действующего абонемента. "
11. пользователь 16.07.21 14:16
Сообщение было скрыто модератором.
...
14. Serg_tvr 1 20.07.21 17:48 Сейчас в теме
(9) AlxPop, у Вас обработка написана в предположении, что используется старая обработка и данные для заполнения 5а отсутствуют?
Просто ниже код приведен для обычных форм, и там проверяется, что есть заполненные данные в DocumentShipments, и изменяется первый элемент коллекции. Вы же просто пишете DocumentShipments.Добавить(ДокОснование). Если у меня новая версия обработки, которая уже заполняет номер и дату документа не приведет ли это к конфликту?
16. AlxPop 17 21.07.21 10:57 Сейчас в теме
Обработка была написана не в предположении, а для той версии, которая была на тот момент. 5а там не заполнялось совсем, и у меня был ответ службы поддержки Диадока, что заполнение не является обязательным, доработка не планируется и т.д.
Да, после обновления нужно видимо сначала очистить DocumentShipments.
Добавил версию обработки.

Добавлена строка
Content.DocumentShipments.Очистить();
перед
Content.DocumentShipments.Добавить(ДокОснование);

Можно самостоятельно добавить и ничего не скачивать.
21. Serg_tvr 1 28.07.21 17:16 Сейчас в теме
(16)Что-то не так. У нас версия обработки 5.49.13.958. Добавил
Content.DocumentShipments.Очистить();
перед
Content.DocumentShipments.Добавить(ДокОснование);

В файле совсем пропал блок ДокПодтвОтгр. Если эту строку не добавлять, то в файл выгружается стандартный блок ДокПотвОтгр в виде

<ДокПодтвОтгр НаимДокОтгр="Реализация (акт, накладная, УПД)" НомДокОтгр="ЮБА0718007" ДатаДокОтгр="18.07.2021" />

хотя в модуль точно попадает. Пришлось вносить корректировку, так как там есть ошибка, связанная с тем, что счет-фактура может быть выписан на основании документа Реализация услуг по переработке, в котором нет табличной части Товары.
12. nkroshko 16.07.21 18:27 Сейчас в теме
(7)
Если это обработка для обычных форм, для УТ 10, то там подключаемые модули отличаются по составу методов.
Для УТ 10.3 мы используем обработку версии 5.42.10. Там я такие внес изменения:

Функция ОбработатьСобытиеДиадок(ИмяСобытия, Параметры, СтандартнаяОбработкаДиадок = Истина) Экспорт
	
	Если ИмяСобытия = "ПослеЗаполненияКонтента" Тогда    
		
		ОбработатьСобытиеПослеЗаполненияКонтента(Параметры);
		
	ИначеЕсли ИмяСобытия = "ПослеСозданияСчетФактуры" Тогда
		
		//ОбработатьСобытиеПослеСозданияСчетФактуры(Параметры);
		
	ИначеЕсли ИмяСобытия = "ПолучитьНоменклатуру1С" Тогда
		
		//Возврат ОбработатьСобытиеПолучитьНоменклатуру1С(Параметры);
		
	ИначеЕсли ИмяСобытия = "ПослеЗаполненияНовогоДокументаПоступления" Тогда
		
		//ОбработатьСобытиеПослеЗаполненияНовогоДокументаПоступления­(Параметры);
	
	ИначеЕсли ИмяСобытия = "ТорговыеСетиЗаполнитьПараметрыХраненияНомераАкта" Тогда
		
		//Возврат ОбработатьСобытиеТорговыеСетиЗаполнитьПараметрыХраненияНомер­аАкта(Параметры);
		
	ИначеЕсли ИмяСобытия = "ТорговыеСетиПослеПроверкиДокумента" Тогда
		
		//ОбработатьСобытиеТорговыеСетиПослеПроверкиДокумента(Параметры);
		
	ИначеЕсли ИмяСобытия = "ТорговыеСетиПослеСопоставленияДокумента" Тогда
		
		//ОбработатьСобытиеТорговыеСетиПослеСопоставленияДокумента(Параметры);
		
	ИначеЕсли ИмяСобытия = "ТорговыеСетиПослеВыполненияОбработкиДокумента" Тогда
		
		//ОбработатьСобытиеТорговыеСетиПослеВыполненияОбработкиДокум­ента(Параметры);
		
	ИначеЕсли ИмяСобытия = "ПередОтправкойPackageSendTask" Тогда
		
		//ОбработатьСобытиеПередОтправкойPackageSendTask(Параметры);
		
	ИначеЕсли ИмяСобытия = "ПередОбновлениемСпискаДокументовДляСопоставленияСНакладной"­ Тогда
		
		//ОбработатьСобытиеПередОбновлениемСпискаДокументовДляСопост­авленияСНакладной(Параметры);
		
	ИначеЕсли ИмяСобытия = "ДанныеДляКонтента_ТабличнаяЧасть" Тогда
		
		//ОбработатьСобытие_ДанныеДляКонтента_ТабличнаяЧасть(Параметры, СтандартнаяОбработкаДиадок);
		
	ИначеЕсли ИмяСобытия = "ПослеОтправкиДокумента" Тогда
		
		//ОбработатьСобытие_ПослеОтправкиДокумента(Параметры);
		
	ИначеЕсли ИмяСобытия = "ПослеОбновленияСпискаДокументов" Тогда
		
		//ОбработатьСобытие_ПослеОбновленияСпискаДокументов(Параметры);
		
	ИначеЕсли ИмяСобытия = "ПриОткрытииФормы" Тогда
		
		//ОбработатьСобытие_ПриОткрытииФормы(Параметры);
		
	ИначеЕсли ИмяСобытия = "ПодключаемаяКоманда" Тогда
		
		//ОбработатьСобытие_ПодключаемаяКоманда(Параметры);
		
	ИначеЕсли ИмяСобытия = "ПослеПолученияТаблицыДокументовДляОтправки" Тогда
		
		//ОбработатьСобытие_ПослеПолученияТаблицыДокументовДляОтправ­ки(Параметры);
		
	КонецЕсли;
	
КонецФункции


// Позволяет дополнить/изменить контент электронного документа
// перед его отправкой.
//
// Параметры
//  Параметры - Структура - Содержит коллекцию, переданных параметров:
//    * ТипКонтента		 - Строка - идентификатор типа контента (см. ТипыКонтента());
//    * Content			 - Структура - Протоконтент исходящего документа;
//    * ДокументСсылка	 - ЛюбаяСсылка - Ссылка на документ информационной базы, по которому собирается протоконтент;
//    * DocumentType	 - Строка - (Устарел) Позволяет определить тип протоструктуры.
//                                  Параметр сохранен для обратной совместимости с ПМ версии 1.1 или ниже.
//                                  Рекомендуется вместо него ориентироваться на ТипКонтента.
//
Процедура ОбработатьСобытиеПослеЗаполненияКонтента(Параметры)
	
	ТипыКонтента = ТипыКонтента();
	
	СсылкаНаДокумент = Параметры.ДокументСсылка;
	Протоконтент	 = Параметры.Content;
	ТипКонтента		 = Параметры.ТипКонтента;
	
	Если ТипКонтента = ТипыКонтента.Utd820SellerContent Тогда
		
		//ПримерОбработкиУПД820(СсылкаНаДокумент, Протоконтент);
		ДокументыОтгрузки = Протоконтент.DocumentShipments;
		Если ДокументыОтгрузки.Количество() = 1 Тогда
			СтрДокументаОтгрузки = ДокументыОтгрузки[0];
			КоличествоСтрок = Протоконтент.Table.Items.Количество();
			СтрДокументаОтгрузки.Number = " п/п " + ?(КоличествоСтрок=1, "1", "1 - "+КоличествоСтрок) +" № "+ СтрДокументаОтгрузки.Number;
		КонецЕсли;
		
	ИначеЕсли ТипКонтента = ТипыКонтента.UtdSellerContent Тогда
		
		//ПримерОбработкиУПД155(СсылкаНаДокумент, Протоконтент);
		
	ИначеЕсли ТипКонтента = ТипыКонтента.Torg12SellerContent Тогда
		
		//ПримерОбработкиНакладной172(СсылкаНаДокумент, Протоконтент);
		
	ИначеЕсли ТипКонтента = ТипыКонтента.AcceptanceCertificateSellerContent Тогда
		
		//ПримерОбработкиАкта172(СсылкаНаДокумент, Протоконтент);
		
	КонецЕсли;
	
КонецПроцедуры
Показать
espero; maxpower; shiaju; SalaSilaS; +4 Ответить
13. jarikuss 19.07.21 15:31 Сейчас в теме
(12) Огромное-преогромное спасибо! Это именно то, что надо было! Теперь строка 5а заполняется так, как требуется.
23. k0d1k 29.07.21 13:44 Сейчас в теме
(12) Подскажите, пожалуйста, в каком модуле находится функция "ОбработатьСобытиеДиадок"?
24. SalaSilaS 29.07.21 15:28 Сейчас в теме
15. progaoff 20.07.21 18:45 Сейчас в теме
Ребят, подскажите как заполнить ТЕГ СведПрослеж. Буду очень благодарен.
17. marry88 26.07.21 14:52 Сейчас в теме
Добрый день, подскажите пожалуйста где можно взять обработку версии 5.42.10? Для УТ 10.3.
19. AlxPop 17 28.07.21 12:23 Сейчас в теме
(17) Вот тремя постами выше nkroshro выкладывал текст для ут10. Может у него и обработка целиком есть?
25. nkroshko 29.07.21 17:39 Сейчас в теме
(19) Обработку Диадока для УТ10.3 можно здесь скачать: https://www.diadoc.ru/1C-OF
А процедура "ОбработатьСобытиеДиадок" находится в подключаемом модуле обработки Диадок. Чтобы получить подключаемый модуль надо запустить обработку Диадок, перейти на закладку "Настройка" - "Подключаемый модуль" и выгрузить его по кнопке "Сохранить шаблон подключаемого модуля на диск". В нем и надо внести исправления. А затем включить подключить этот модуль на этой же закладке любым доступным способом
18. user1470306 27.07.21 19:11 Сейчас в теме
Добрый день, не подскажите такая вот беда. Модуль добавил все встало ок, и когда я выбираю документ для отправки мне показывает форму УПД с документом основания, все как надо. Но после нажатия кнопки подписать и отправить в отправленных появляется документ с формой УПД в которой в графе Документ отгрузки (5а) стоит прочерк. Как решить проблему?
20. AlxPop 17 28.07.21 12:30 Сейчас в теме
(18) Точно прочерк в графе 5а, а не 5? У меня прочерк стоит в графе 5, это нормально, а графа 5а заполнена, версия Диадок 5.49.13.958.
22. Serg_tvr 1 28.07.21 17:42 Сейчас в теме
(18) Я в (21) описал аналогичную ситуацию. Тоже после доработки, рекомендованной автором, в файле пропадает блок ДокПодтвОтгр
26. itoptimum 19 09.08.21 13:23 Сейчас в теме
допмодуль диадока проще доработать самому следующим образом:
Процедура ОбработатьСобытиеПослеЗаполненияКонтента(Параметры)
ТипыКонтента = ТипыКонтента();

СсылкаНаДокумент = Параметры.ДокументСсылка;
Протоконтент = Параметры.Content;
ТипКонтента = Параметры.ТипКонтента;

/////////////////////////////////
Если ТипКонтента = ТипыКонтента.Utd820SellerContent Тогда
Если Протоконтент.Function = "Invoice" ИЛИ Протоконтент.Function = "InvoiceAndBasic" Тогда
ОсновнойДокумент = СсылкаНаДокумент.ДокументОснование;
ИначеЕсли Протоконтент.Function = "Basic" Тогда
ОсновнойДокумент = СсылкаНаДокумент;
КонецЕсли;
Если Протоконтент.Function = "Invoice" Тогда
// пока Диадок не реализовал п/п для РЖД, добавляем сами
КоличествоСтрок = ОсновнойДокумент.Товары.Количество();
Если КоличествоСтрок=0 Тогда
КоличествоСтрок = ОсновнойДокумент.Услуги.Количество();
КонецЕсли;
ДокПодтвОтгр = " п/п " + ?(КоличествоСтрок>1,"1-","") + Строка(КоличествоСтрок) + " № ";
Протоконтент.DocumentShipments[0].Number = ДокПодтвОтгр+Протоконтент.DocumentShipments[0].Number;
КонецЕсли;
Показать

в этом духе...
27. Nadezhda_1 12.08.21 14:19 Сейчас в теме
(26)Добрый день.
Прописала в подключаемом модуле в Функции ОбработатьСобытиеПослеЗаполненияКонтента(Параметры):
ТипыКонтента = ТипыКонтента();

	DocumentType 	= Параметры.DocumentType;
	Content 		= Параметры.Content;
	ДокументСсылка 	= Параметры.ДокументСсылка;
	ТипКонтента		 = Параметры.ТипКонтента;
		
	Если ТипКонтента = ТипыКонтента.Utd820SellerContent Тогда
Если Content.Function = "Invoice" ИЛИ Content.Function = "InvoiceAndBasic" Тогда
			
			ДокПодтвОтгр = Новый ТаблицаЗначений;
			ДокПодтвОтгр.Колонки.Добавить("Name");
			ДокПодтвОтгр.Колонки.Добавить("Number");
			ДокПодтвОтгр.Колонки.Добавить("Date");
			Стр = ДокПодтвОтгр.Добавить();
			КоличествоСтрок = Строка(ДокументСсылка.ДокументОснование.Товары.Количество());
			Стр.Number = " п/п " + "1-"+ КоличествоСтрок + " " +"№ "+ ДокументСсылка.ДокументОснование.Номер;
			Стр.Date = ДокументСсылка.ДокументОснование.Дата;
			Стр.Name = "ДокПодтвОтгр";
			Content.DocumentShipments = ДокПодтвОтгр;
			Content.Добавить("DocumentShipments",ДокПодтвОтгр);
		КонецЕсли;
Показать

Не работает(
Что не так делаю?
28. itoptimum 19 13.08.21 07:28 Сейчас в теме
(27) добавьте допмодуль в расширение или конфигурацию, подключите допмодуль из добавленного места в диадок, поставьте точку отладки, проверите, что получается. в принципе в таком виде и в erp и в бп работает. всю функцию допмодуля я конечно не приводил, попробуйте сохранить шаблон допмодуля из диадока, посмотрите, что там еще есть, если у вас ранее допмодуль не использовался.
29. Nadezhda_1 13.08.21 07:36 Сейчас в теме
(28)Спасибо, что ответили.
Уже есть подключаемый модуль и используется, в него добавила этот кусок программы и почему-то не работает.
Сомневаюсь насчет строки: Content.Добавить("DocumentShipments",ДокПодтвОтгр); - ни с ней, ни без нее не работает.
30. itoptimum 19 13.08.21 07:53 Сейчас в теме
(29) да, у меня в примере этого нет. DocumentShipments уже там есть, и в api диадока это вроде как массив, а не тз. при отладке хорошо видно. отсюда пример с добавлением некорректен, тоже где-то его видел, и приводит к ошибкам передачи мутабельных значений, кстати. не получится самостоятельно, отпишите мыло, скину наш, но там много лишнего и ненужного вам.
31. пользователь 13.08.21 09:03
Сообщение было скрыто модератором.
...
32. Nadezhda_1 13.08.21 10:57 Сейчас в теме
(31)Эл.адрес: Nadezhdam71@mail.ru
itoptimum; +1 Ответить
33. пользователь 13.08.21 12:34
Сообщение было скрыто модератором.
...
34. espero 20 27.08.21 11:10 Сейчас в теме
Автор,
КолВоСтрок = ДокументСсылка.ДокументОснование.Товары.Количество();
А если в документе-основании помимо товаров есть Услуги, Агентские услуги или нету товаров, но есть многое количество услуг?
Я у себя подправил, но и Вам рекомендую обратить на это внимание.
35. koloboc74 83 23.09.21 12:45 Сейчас в теме
Есть модуль но только от Диадок Про , как внести изменения и куда для заполнения 5а ... Я так понял надо дописать в Функция ПодготовитьЭлектронныйДокумент(Параметры)
36. tolick 35 06.10.21 17:13 Сейчас в теме
(35)
Да, там, сразу после строки:
Content = ОсновнойМодуль.ТиповойМодуль_ПолучитьКонтент(ТиповойМодуль, РежимУправляемыхФорм, Документ1С, ТипКонтента_XDTO, ДополнительныеПараметры);

тут это будет соответственно:
Content.DocumentShipments[0].Number и Content.Table.Items.Количество()

у нас с такими изменениями заработало. версия 4.7.0
37. user1679768 12.10.21 15:06 Сейчас в теме
Подскажите, пожалуйста, на Бухгалтерия предприятия, редакция 2.0 с диадок версии 5_44_01 будет работать?
Оставьте свое сообщение
Вопросы с вознаграждением
Вакансии
Специалист техподдержки 1С
Тюмень
зарплата от 100 000 руб.
Полный день

Программист-аналитик 1С:Управление автотранспортом
Тюмень
зарплата от 100 000 руб.
Полный день

Руководитель проектов 1С
Москва
зарплата от 200 000 руб.
Полный день

Программист-аналитик 1С:Документооборот
Москва
зарплата от 160 000 руб.
Полный день

Консультант-аналитик 1С
Нижний Новгород
зарплата от 55 000 руб. до 100 000 руб.
Полный день