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

07.12.22

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

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

Скачать исходный код

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

Через подключаемый модуль можно добавить до 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С:БП, 1С:УНФ, 1С:ERP, 1С:КА и 1С:УТ

Кассовые операции Файловый обмен (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С:Управление нашей фирмой 8, ред. 3.0', '1С:Комплексная автоматизация, ред. 2.5', ‘1С:ERP Управление предприятием, ред. 2’ и ‘1С:Управление торговлей, ред. 11.5’. Вы просто сканируете QR коды с бумажных и электронных чеков c помощью мобильного приложения ФНС и чеки автоматически (без ручного ввода) загружаются в документы 'Авансовый отчет', 'Расходы предпринимателя', 'Путевой лист', 'Приходная накладная', 'Поступление (акты, накладные, УПД)', 'Приобретение товаров и услуг', 'Отчет о розничных продажах' и 'Поступление денежных документов'.

12960 руб.

19.08.2020    65265    303    73    

210

Выгрузка УПД реализации в xml ФНС для загрузки в ЭДО: Диадок, СБИС, Такском, КОРУС, Астрал и прочие. Обработка на управляемых формах для БП 3.0, УНФ 1.6 / 3.0, УТ 11.4 / 11.5, КА 2, ERP 2 (Приказ ФНС №820 от 19.12.2018, 736 от 12.10.2020)

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

Выгрузка УПД, товарной накладной ТОРГ-12, акта, счета-фактуры по реализации (в БП сч-ф на аванс) в xml-файл в формате ФНС приказ 820 от 19.12.2018. Выгрузка УКД и корректировочного счета-фактуры в xml-файл в формате ФНС приказ 736 от 12.10.2020. Выгрузка товарной накладной в xml-файл ФНС приказ 551 от 13.11.2015, редакция 08.04.2019. Выгрузка акта приемки-сдачи работ (услуг) в xml-файл ФНС приказ 552 от 13.11.2015, редакция 08.04.2019. Добавлена выгрузка счетов на оплату по документам ЗаказПокупателя (в УНФ), ЗаказКлинета (в УТ / КА / ERP), СчетНаОплатуПокупателю (в БП). Добавлена обработка Выгрузка УПД c документов реализации 1С в Контур.Диадок по API.

12000 руб.

13.04.2018    82363    392    9    

427

Загрузка в 1С:Бухгалтерию 3.0, 1С:КА 2.4, 2.5, УНФ 1.6/3.0 данных из ОФД о денежных поступлениях (чеках)

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

Согласно 54-ФЗ по правилам ведения кассовых операций необходимо оформлять приходные кассовые ордера (ПКО) и расходные кассовые ордера (РКО) на основании чеков ККМ. Все данные о чеках, можно взять на сайте оператора фискальных данных (ОФД). Эта обработка сделает за вас в 1С - ПКО и РКО, Операции по платежным картам или Отчет о розничных продажах (может создать номенклатуру в 1С, указать налоги и др. реквизиты в документах в зависимости от налогообложения ККМ в торговой точке). Проверено на: OFD.RU / Первый ОФД / Такском / Платформа ОФД / Ярус / ОФД Яндекс / ОФД Астрал /ОФД СБИС / Гарант ОФД / КОРУС ОФД / КОНТУР ОФД / ОФД АО Тандер / ИнитПро / Группа Элемент/

3600 руб.

09.08.2017    148098    867    372    

527

Акцизы на сахаросодержащие напитки

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

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

14400 руб.

16.10.2023    1143    10    0    

9

Загрузка документов поступления из XML формата 820 (Контур.Диадок) в 1С:УТ10/11, БП 3.0, КА2.5, УПП1.3 и обработка выгрузки УПД в Контур Диадок и СБИС для 1С:Бухгалтерии 3.0

ЭДО и ОФД Загрузка и выгрузка в Excel Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

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

3600 руб.

11.02.2020    88787    283    156    

207

ЭДО: организация архива оригиналов первичных документов, комплексный отчет по ошибкам

Документооборот и делопроизводство (СЭД) ЭДО и ОФД Учет документов Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Мощный, единый инструмент для решения всех проблем, связанных с переходом на ЭДО. Экономит бумагу и время - организует архив оригиналов первичных документов прямо в базе 1С, в прикрепленных файлах к соответствующим документам. С помощью комплексного отчета по ошибкам в ЭДО позволяет выявить и исправить все возможные ошибки - ошибочно сопоставленные документы, не подписанные документы, подписанные, но не загруженные в 1С документы. Автоматически сопоставляет не сопоставленные между собой документы. Может работать по расписанию и присылать отчет о состоянии архива/по ошибкам на почту. Взаимодействует напрямую с сервисами Диадок/СБИС, имеет интуитивно понятный интерфейс и учитывает 3-х летний опыт 40+ клиентов.

14880 руб.

17.12.2018    44383    58    51    

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

Не подскажете - в какую сторону копать, если надо сделать для маркетплейса подмену в УПД - вместо артикула надо отправлять ШК ?
2. John_d 5400 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 5400 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 5400 07.12.22 16:10 Сейчас в теме
(4) я бы делал в событии ПослеПодготовкиПакета
6. malikov_pro 1293 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 5400 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 5400 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 Сейчас в теме
Следующая задача: добавленный мной реквизит Комментарий нужно добавить в ИныеСведения. Если у кого-то есть док на эту тему, прошу поделиться.
Прикрепленные файлы:
Оставьте свое сообщение