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

07.12.22

Интеграция - ЭДО и ОФД

Добавляем дополнительные колонки в обработку Диадок через подключаемый модуль.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
ДиадокПодключаемыйМодуль
.epf 5,95Kb
12
12 Скачать (1 SM) Купить за 1 850 руб.

Через подключаемый модуль можно добавить до 5 дополнительных колонок.

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

 

 

 

В шаблоне добавим новое событие ПолучитьНастройкиДополнительныхКолонокСпискаДокументов

 

 

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

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

	ИначеЕсли ИмяСобытия = "ПолучитьНастройкиДополнительныхКолонокСпискаДокументов" Тогда

		Возврат ПолучитьНастройкиДополнительныхКолонокСпискаДокументов(Параметры);

	КонецЕсли;

КонецФункции

 

В функции ПолучитьНастройкиДополнительныхКолонокСпискаДокументов опишем название колонок и тип данных который будет в ней. Для примера колонку "Подразделение 1с" я буду заполнять реквизитом из документа, а колонку "Проверен" из дополнительных сведений.

 

 

Функция ПолучитьНастройкиДополнительныхКолонокСпискаДокументов(Параметры) 
	
	Режим = Параметры.Режим;       
	
	Если Режим = "ОтправкаПакетов" Тогда
		

	    ДопКолонки = Новый Массив;  // не более 5. Индекс элемента в массиве, увеличенный на единицу, совпадает с порядковым номером колонки  
		ДопКолонки.Добавить(Новый Структура("Заголовок, Тип, ДопустимыеЗначения", "Подразделение 1с", Новый ОписаниеТипов("СправочникСсылка.СтруктураПредприятия")));
		ДопКолонки.Добавить(Новый Структура("Заголовок, Тип, ДопустимыеЗначения", "Проверен", Новый ОписаниеТипов("Булево")));
		

	    Возврат ДопКолонки;

	КонецЕсли;
	
КонецФункции 

 

Теперь в событии ПолучитьТекстЗапросаДляСпискаПакетовНаОтправкуПоМассивуВидовПакетов нужно изменить основной запрос.

 

 

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

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

КонецФункции 

 

Функцией ДобавитьСоединениеВТекстЗапроса добавляем соединение к нужным документам у которых есть свойство "проверен".

Функцией ДобавитьДопРеквизит добавляем поля, если у документа нет этих полей, то все равно нужно добавить пустые поля.

 

 

Функция ДобавитьСоединениеВТекстЗапроса(Док="")  
		
	Если ЗначениеЗаполнено(Док) Тогда 
		 Текст = "
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
		|		ПО "+Док+".Ссылка = ДополнительныеСведения.Объект
		|			И (ДополнительныеСведения.Свойство.Имя = ""Проверен_3b08a7c02cad4b2182ef936461881e24"")"; 
	КонецЕсли;	
	
	Возврат Текст;

КонецФункции

Функция ДобавитьДопРеквизит(Док="",Реквизит1="Подразделение",Реквизит2=Ложь)
	
	Если не ЗначениеЗаполнено(Док) Тогда
		Возврат "
			|"""" КАК ДопРеквизит1,
			|"""" КАК ДопРеквизит2,";	
	Иначе	
		Возврат "
			|"+Док+"."+Реквизит1+" КАК ДопРеквизит1,
			|"+?(Реквизит2,"ЕСТЬNULL(ДополнительныеСведения.Значение, ЛОЖЬ)","""""")+" КАК ДопРеквизит2,";   
	КонецЕсли;	

КонецФункции

 

Результат

 

 

Тестировал: 

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

Диадок:

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

См. также

Бюджетный учет ЭДО и ОФД Бухгалтер Пользователь Платформа 1С v8.3 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Расширение для автоматизации процесса подписания электронных документов в мобильном приложении "Госключ" с видом подписи УКЭП/УНЭП, которое подходит для электронного подписания бухгалтерских документов, список которых утвержден в приказе Минфина №61н «Об утверждении унифицированных форм электронных документов бухгалтерского учета…»

500000 руб.

06.11.2024    4171    1    0    

2

Кассовые операции ЭДО и ОФД Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Платные (руб)

Согласно 54-ФЗ по правилам ведения кассовых операций необходимо оформлять приходные кассовые ордера (ПКО) и расходные кассовые ордера (РКО) на основании чеков ККМ. Все данные о чеках, можно взять на сайте оператора фискальных данных (ОФД). Обработка загрузки данных из ОФД в 1С сделает за вас в 1С - ПКО и РКО, Операции по платежным картам или Отчет о розничных продажах (может создать номенклатуру в 1С, указать налоги и др. реквизиты в документах в зависимости от налогообложения ККМ в торговой точке).

6000 руб.

09.08.2017    153406    916    372    

556

Кассовые операции Файловый обмен (TXT, XML, DBF), FTP ЭДО и ОФД Программист Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Налоговый учет Управленческий учет Платные (руб)

Специализированные обработки для загрузки кассовых чеков в базах 1С (для локальных баз): 1С:БП 3.0, 1С:УНФ 3.0, 1С:КА. 2.5, 1С:ERP Управление предприятием, ред. 2 и 1С:УТ 11.5. Вы просто сканируете QR коды с бумажных и электронных чеков c помощью мобильного приложения ФНС и чеки автоматически (без ручного ввода) загружаются в документы 'Авансовый отчет', 'Расходы предпринимателя', 'Путевой лист', 'Приходная накладная', 'Поступление (акты, накладные, УПД)', 'Приобретение товаров и услуг', 'Отчет о розничных продажах' и 'Поступление денежных документов'.

12960 руб.

19.08.2020    70390    347    84    

229

ЭДО и ОФД Загрузка и выгрузка в Excel Бухгалтер Бухгалтерский учет 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Платные (руб)

Кто получает документы в формате XML из различных сервисов ЭДО (формат 820 приказ ФНС 31 мая 2019) и набивает их вручную в 1С, тот наверняка хотел бы автоматизировать этот процесс. Поддержка конфигураций: Бухгалтерии 3, УПП 1.3, 1С:КА 2.4 и 1С:КА 2.5, УТ10, УТ11.4 и УТ11.5. Для бухгалтерии 3 добавлена поддержка формат 5.03 от 23/01/2025

4320 руб.

11.02.2020    94102    313    157    

226

ЭДО и ОФД Обмен с ГосИС Программист Бухгалтер Пользователь 8.3.14 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Рабочее место для работы с ЭДО из 1С : Диадок, СБИС, ЭДО Лайт (Lite), Такском, Signatura.pro, Астрал.ЭДО, ГИС МТ (Честный знак, ЦРПТ). Загрузка и отправка УПД, УКД, ТОРГ12, Акта в 1С (сохранение в файл и последующая загрузка через личный кабинет не требуется). Также поддерживается: отправка печатных форм, произвольных файлов, подписание, отклонение, аннулирование документов. Поддержка МЧД для СБИС и Диадок. Решение реализовано в виде расширения на управляемых формах. Для обычных форм - внешняя обработка. Поддержка Linux.

3600 руб.

16.12.2020    41644    260    199    

92

ЭДО и ОФД Учет документов 8.3.14 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

ПОДПИСЫВАЙТЕ ДОКУМЕНТЫ С ФИЗЛИЦАМИ ПО СМС. Ваши клиенты и сотрудники смогут подписывать документы простой электронной подписью (ПЭП) без визита к вам в офис. С телефона или компьютера без установки приложений и регистраций.

29990 руб.

28.05.2024    1801    6    0    

7

Регламентированный учет и отчетность ЭДО и ОФД Бухгалтер Платформа 1С v8.3 1С:Бухгалтерия 3.0 Пищевая промышленность Россия Бухгалтерский учет Налоговый учет Акцизы Платные (руб)

Расширение для Бухгалтерии предприятия 3.0 «Акцизы на сахаросодержащие напитки» предназначено для автоматизированного учета сумм акцизов по реализованным сахаросодержащим напиткам с 01 июля 2023 года. Позволяет выделить суммы акциза в первичных документах («Реализация товаров и услуг», «Корректировка реализации»), сформировать проводки по начислению акциза, а также сформировать и отправить корректные документы по ЭДО.

14400 руб.

16.10.2023    2214    19    0    

16
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. aleks.public 07.12.22 14:49 Сейчас в теме
Спасибо за статью, интересно

Не подскажете - в какую сторону копать, если надо сделать для маркетплейса подмену в УПД - вместо артикула надо отправлять ШК ?
2. John_d 5954 07.12.22 15:13 Сейчас в теме
(1) событие ПослеПодготовкиПакета
Если ТипЗнч(Параметры.Пакет.Документы) = Тип("Массив") Тогда 
			СлужебнаяИнформация = Параметры.Пакет.Данные1С;  
			
			Для Каждого Стр Из Параметры.Пакет.Документы Цикл
				
				СсылкаНаДокумент = Стр.Документ1С;
				Протоконтент	 = Стр.Content;
				ТипКонтента		 = Стр.ТипКонтента;



КолTable = Протоконтент.Table.Items.Количество();
		Для Ном = 0 По КолTable-1 Цикл
			Товары1 = Протоконтент.Table.Items[Ном];
Товары1.Unit		= "test";
Показать
aleks.public; +1 Ответить
3. John_d 5954 07.12.22 15:17 Сейчас в теме
(2) чтобы понять какие поля нужно менять в Протоконтент. Посмотрите мою статью об отладке infostart.ru/1c/articles/1247892/
aleks.public; +1 Ответить
10. aleks.public 10.01.23 07:04 Сейчас в теме
4. Sergafan10 07.12.22 15:42 Сейчас в теме
(1) отлавливать ИмяСобытия = "ПодготовитьЭлектронныйДокумент", готовить Content, а потом его ковырять
Для Каждого Item Из Items Цикл
 Item.Артикул = ....
КонецЦикла;
5. John_d 5954 07.12.22 16:10 Сейчас в теме
(4) я бы делал в событии ПослеПодготовкиПакета
6. malikov_pro 1328 07.12.22 19:03 Сейчас в теме
Вопрос по варианту доработки: в пакете в XML приходит только сч. фактура (акт в PDF), в итоге создается только сч. ф. вх.
В какой процедуре оптимально перехватывать для создания реализации?
8. kai068 5 08.12.22 10:27 Сейчас в теме
(6) там есть обработка события
ИначеЕсли ИмяСобытия = "ПолучитьЗаполненныйОбъектДокумента1С" , думаю в ней можно создать реализацию.
7. kai068 5 08.12.22 10:22 Сейчас в теме
Статья полезная.
Возможно ли отправлять конкретную УПД через Дополнительный модуль в составе конфигурации, не вызывая обработку КонтурДиадок?
Если можно, то откуда начать?
9. John_d 5954 08.12.22 10:28 Сейчас в теме
(7) посмотрите (17) комментарий в этой статье infostart.ru/public/1737685/ возможно это ваш случай.
11. nLozanikov 10.01.23 11:46 Сейчас в теме
Почему для заполнения колонок вы не выбрали событие "ПослеОбновленияСпискаДокументов"?
12. avn216 04.04.23 14:24 Сейчас в теме
После генерации шаблона, что с ним нужно сделать? Вставить в общий модуль внешней обработки?
13. John_d 5954 04.04.23 14:32 Сейчас в теме
(12) Вставить в общий модуль внешней обработки
14. avn216 05.04.23 11:01 Сейчас в теме
(13) Спасибо!
Следующая ошибка: при подключении ПМ выходило сообщение о невозможности подключения ПМ.
Решение: сохранил и подключил из папки, к которой точно есть полный доступ (ранее пробовал подключать из папки из обмена - хоть и могу из нее читать и записывать, но чего-то не хватало).
15. avn216 05.04.23 11:13 Сейчас в теме
Не срабатывает код:

Параметры.Результат_ИМ = СтрЗаменить(Параметры.Результат_ИМ, "Док.Ссылка КАК Документ,","Док.Ссылка КАК Документ,"+ДобавитьДопРеквизит("Док.Ссылка"));

Вывожу через Сообщить значение Параметры.Результат_ИМ до замены и после - все одинаково. При этом искомая строка там есть.

ТипЗнч(Параметры.Результат_ИМ) = Строка. По идее все должно работать.

У кого-нибудь было подобное? Что еще можно проверить?
16. avn216 05.04.23 13:17 Сейчас в теме
(15) Нашел сам! Искомая строка была не "Док.Ссылка КАК Документ,", а "Док.Ссылка КАК Документ,"! Т.е. перед КАК был не один пробел, а несколько. Почему не нашел сразу. Вначале выводил значение через Сообщить - копировал его - вставлял в блокнот - искал. А потом сделал после всех присвоений - сохранить в текстовый файл и его анализировал. Почему-то при использовании разных способов сохранения, количество пробелов тоже было разное. Не понимаю что за шаманство.
17. avn216 05.04.23 13:22 Сейчас в теме
Следующая задача: добавленный мной реквизит Комментарий нужно добавить в ИныеСведения. Если у кого-то есть док на эту тему, прошу поделиться.
Прикрепленные файлы:
18. user2091286 07.06.24 10:59 Сейчас в теме
Добрый день!
а как расширить ограничение в 5 доп реквизитов?
спасибо!
19. djdiamond 11.07.24 15:24 Сейчас в теме
Добрый день. При подключении ПП пишет : "Не удалось определить имя бухгалтерской подсистемы.
Имя конфигурации: УправлениеКорпоративнымиФинансами
Версия конфигурации: 3.0.109.1
Наименование конфигурации: Управление корпоративными финансами, редакция 3.0"

кто знает как пофиксить?
20. oculus24 28.10.24 20:16 Сейчас в теме
(19)
УправлениеКорпоративнымиФинансами

Добрый день. Получил подобное сообщение, в поисках решения.
Вам удалось решить проблему?
21. denic73 01.02.25 17:24 Сейчас в теме
(20)
Тоже столкнулся с похожей проблемой в отраслевой. Выгрузил из макетов основной обработки модуль "Ядро", там прописал подсистему свою и загрузил обратно.
Оставьте свое сообщение