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

07.12.22

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
ДиадокПодключаемыйМодуль
.epf 5,95Kb
11
11 Скачать (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С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)

Работаете по контрактной схеме, сталкивались с проблемой, что в контракте жестко указаны наименование, цена, единица измерения товара. И не все готовы создавать новую номенклатуру под каждый контракт или менять наименование и единицу измерения для уже имеющейся. Тем более, бывает так, что контракт - это формальность. Контракт не описывает жесткие условия поставки, нужно соблюсти правильность в предоставлении документов. Данное решение позволит вам оперировать своей номенклатурой при оформлении реализаций по государственному контракту в УТ 11.5 и КА 2.5.11, в то же время выводить на печать документы, соответствующие данным контракта. Реализована выгрузка для сайта госзакупок (ЕИС) по 44-ФЗ.

60000 руб.

19.12.2022    12011    34    20    

21

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

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

5640 руб.

09.08.2017    151716    901    372    

548

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

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

29990 руб.

28.05.2024    1444    5    0    

7

SALE! 50%

Кассовые операции Файловый обмен (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 9720 руб.

19.08.2020    69087    338    80    

225

ЭДО и ОФД Загрузка и выгрузка в 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.

3600 руб.

11.02.2020    92650    301    156    

220

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

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

14880 руб.

17.12.2018    45653    65    59    

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

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

Добрый день. Получил подобное сообщение, в поисках решения.
Вам удалось решить проблему?
Оставьте свое сообщение