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

0. John_d 4563 05.10.22 09:40 Сейчас в теме
Добавляем новый документ для подписания и отправки в обработку Диадок (через подключаемый модуль). Отправлять его будем, как неформализованный (внешняя печатная форма в формате pdf).

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

Вознаграждение за ответ
Показать полностью
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. bavkyz 3 07.10.22 10:54 Сейчас в теме
Добрый, спасибо за труд +1, Маленько не понял, в вашем решении пользователь с ЭЦП или пользователь по логин/пароль, создает документ и передать на подписание руководителю?

И еще вопрос, где вы нашли описание по работе с универсальной обработкой диадока?
2. John_d 4563 07.10.22 11:23 Сейчас в теме
(1) -Только пользователи с ЭЦП могут подписать документ, но просматривать документы в обработке могут все.
-Документы после создания и проведения сами появляются в обработке. Пользователь их выбирает подписывает и отправляет.
https://developer.kontur.ru/Docs/Diadoc_UM/
sapervodichka; +1 Ответить
3. bavkyz 3 07.10.22 11:28 Сейчас в теме
(2)
пользователи с ЭЦП могут подписать документ
- это логично), в вашем решении обязательно ли пользователю иметь ЭЦП для создания документа?

P.S. мне надо чтоб пользователь мог создать документ, а руководитель "потом" подпишет
4. tricolor 21 07.10.22 11:34 Сейчас в теме
(3) у нас пользователи заходят по логину и паролю, и отправляют документ на согласование, далее руководитель подписывает и отправляет документы.
6. John_d 4563 07.10.22 11:40 Сейчас в теме
(3) не обязательно. Пользователь вообще может не заходить в обработку Диадок создать документ, как обычно создает в 1с.
5. stsasha87 135 07.10.22 11:40 Сейчас в теме
Зная, насколько сложно там всё реализовано, понимаешь сколько времени и трудов ушло на эту доработку.

Тоже сижу разбираюсь с подключаемым модулем. Пытаюсь решить задачу автоматического получения подписанных файлов и прикрепления их к документам 1с. Очень хитро всё сделано. Не попадалось случайно ничего подобного?
tricolor; mrChOP93; KRIHA; +3 Ответить
7. John_d 4563 07.10.22 11:42 Сейчас в теме
(5) решал, через диадок API. Чтобы подключаться к API Диадока нужно оплатить данную услугу отдельно.
8. bavkyz 3 07.10.22 11:48 Сейчас в теме
(6) Спасибо, понял.


(5) Полностью согласен, сложно все там на первый взгляд и нормальной инструкции нет ... то что есть мне мало.


Я маленько изменил алгоритм создание документа "поступление товара" (создание новой ном-ры, создание СФ и документ Измен. цены), но так и не решил вопрос с сопоставлением ном-ры... вроде все сопоставлено, т.е. сообщения о не сопоставленной ном-ры нет.... но документ не создается, пишет что не сопоставлено. Нужно обязательно нажать кнопку "Сопоставить", а потом кнопку "Ок".
12. Razyiller 10.10.22 04:49 Сейчас в теме +2 $m
(5)
м модулем. Пытаюсь решить задачу автоматического получения подписанных файлов и прикрепления их к документам 1с. Очень

попробуйте плагины использовать.
Настройки - Системные.

В Плагинах есть "Плагин для выгрузки архива документов".
14. stsasha87 135 19.10.22 16:15 Сейчас в теме
(12) Добрался, попробовал, спасибо! Честно говоря, не знал, что он там есть. Вроде всё указал, галки установил. Но в 1С присоединенных файлов у подписанных документов почему-то не вижу... Может не там смотрю или этот плагин надо как-то отдельно запускать?

Попробовал в подключаемом модуле запускать в событии ПослеОбновленияСпискаДокументов что-то типа
АрхивДокументооборота = ОсновнойМодуль.ЭДО_ПолучитьАрхивДокументооборота(boxId, letterId, documentId);

и получаю ошибку авторизации...

В прошлой версии обходился финтом ушами - в основном модуле на клиенте дёргал метод SaveAllContentZipAsync() при формировании списка документов, тут же всё иначе... Весь мозг уже сломал.
Если есть где подсмотреть, поделитесь, плиз ))
15. Razyiller 19.10.22 17:17 Сейчас в теме
(14)
Плагин это всего лишь конструктор с примерами, доработать все равно приходится.
Там помоему и пример авторизации есть.

Примера нет, просто изучал этот генератор ПМ и видел что там такое есть. для целей добавление в пакет своих печатных форм и отправку своих видов документов.
17. Razyiller 22.11.22 10:03 Сейчас в теме
(14)
Функция ОбработатьСобытие(ИмяСобытия, Параметры) Экспорт
............................
ИначеЕсли ИмяСобытия = "ВыполнитьРегламентныеДействия" Тогда

		Возврат ВыполнитьРегламентныеДействия(Параметры); 
................................
КонецФункции

Функция ВыполнитьРегламентныеДействия(Параметры)

	// Имя шаблона: Авторизация под логином (РЗ)
	АвторизоватьсяПодЛогином();

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

Функция УчетнаяЗапись()
    
    Результат = Новый Структура;

    Результат.Вставить("Логин"	, ОсновнойМодуль.ЭДО_Модуль_ОбщиеНастройки().СлужебнаяУчетнаяЗаписьЛогин);
    Результат.Вставить("Пароль"	, ОсновнойМодуль.ЭДО_Модуль_ОбщиеНастройки().СлужебнаяУчетнаяЗаписьПароль);
    
    Возврат Результат;
    
КонецФункции

Процедура АвторизоватьсяПодЛогином()
ДанныеУчетнойЗаписи = УчетнаяЗапись();

	ЗаписатьВЖурналРегистрацииИнформацию("Диадок.АвторизацияПодЛогином", ДанныеУчетнойЗаписи.Логин);

	ОсновнойМодуль.ЭДО_АвторизоватьсяПодЛогином(ДанныеУчетнойЗаписи.Логин, ДанныеУчетнойЗаписи.Пароль);		
	ОсновнойМодуль.ЭДО_ЗаполнитьКонтекстСеансаДляСлужебнойУчетнойЗаписи();
        МассивВидовДокументов = Новый Массив;
	МассивВидовДокументов.Добавить("ID_УПД_НаАванс");
	МассивВидовДокументов.Добавить("ID_СФ_НаАванс");
	МассивВидовДокументов.Добавить("ID_УПД_раздельно");
	МассивВидовДокументов.Добавить("ID_КСФ");
	МассивВидовДокументов.Добавить("ID_АктСверки");
	МассивВидовДокументов.Добавить("ID_УКД");
	МассивВидовДокументов.Добавить("ID_УКД_раздельно");
	МассивВидовДокументов.Добавить("ID_ИУПД_БезНДС");
	МассивВидовДокументов.Добавить("ID_УКД_БезНДС");
	МассивВидовДокументов.Добавить("ID_ТОРГ12_Акт_БезНДС");
	МассивВидовДокументов.Добавить("ID_Счет");
	МассивВидовДокументов.Добавить("ID_ИСФ_НаАванс");
	МассивВидовДокументов.Добавить("ID_ИУПД_НаАванс");
	МассивВидовДокументов.Добавить("ID_УПД_БезНДС");
	МассивВидовДокументов.Добавить("ID_ИКСФ");
	МассивВидовДокументов.Добавить("ID_ОсновнойПакет");
	МассивВидовДокументов.Добавить("ID_ИУКД");
	МассивВидовДокументов.Добавить("ID_ИУКД_раздельно");
	МассивВидовДокументов.Добавить("ID_ИСФ");
	МассивВидовДокументов.Добавить("ID_АктСверкиТара");
	МассивВидовДокументов.Добавить("ID_СчетФормализованный");
	МассивВидовДокументов.Добавить("ID_УПД" );
	МассивВидовДокументов.Добавить("ID_АктСверкиОборудование");
	МассивВидовДокументов.Добавить("ID_ИУПД_раздельно");
	МассивВидовДокументов.Добавить("ID_ИУПД");
	
	
	МассивСтатусов = Новый Массив;
	МассивСтатусов.Добавить("Подписан");
	//Результат.Добавить("Отказано в подписи контрагенту");
	МассивСтатусов.Добавить("Документооборот завершен");
	//Результат.Добавить("Аннулирован");
	//Результат.Добавить("Контрагент отказал в подписи");
	МассивСтатусов.Добавить("Подписан контрагентом");
	МассивСтатусов.Добавить("Подписан с разногласиями");

	
	
	
	ПараметрыОбновленияСписка = Новый Структура;
	ПараметрыОбновленияСписка.Вставить("Режим", "ОтправленныеДокументы");
	ПараметрыОбновленияСписка.Вставить("НачалоПериода", Дата('2019.04.01 00:00:00'));
	ПараметрыОбновленияСписка.Вставить("КонецПериода", Дата('2019.08.01 00:00:00'));
	ПараметрыОбновленияСписка.Вставить("МассивВыбранныхВидов", Неопределено);
	ПараметрыОбновленияСписка.Вставить("ОтборПоОрганизации ", Неопределено);
	ПараметрыОбновленияСписка.Вставить("ОтборПоКонтрагенту ", Неопределено);
	ПараметрыОбновленияСписка.Вставить("ОтборПоПакету ", Неопределено);
	//ПараметрыОбновленияСписка.Вставить("ОтборПоСтатусу ", МассивСтатусов);
	                                                        
	
	ПараметрыОбновленияСписка.Вставить("ВключитьОтборПоКонтрагенту ", ЛОЖЬ);
	ПараметрыОбновленияСписка.Вставить("ВключитьОтборПоОрганизации ", ЛОЖЬ);
	ПараметрыОбновленияСписка.Вставить("ВключитьОтборПоСтатусу ", ЛОЖЬ);
	ПараметрыОбновленияСписка.Вставить("ПоказыватьЗавершенные ", ИСТИНА);
	ПараметрыОбновленияСписка.Вставить("РежимОтбораПоПериоду ", "ПоДатеДокумента");
	
	
	ОсновнойМодуль.ЭДО_Модуль_ОбновитьСписокДокументов(ПараметрыОбновленияСписка);
               Для Каждого Стр Из ОсновнойМодуль.СписокДокументов Цикл
                                BoxId = ОсновнойМодуль.ЭДО_Модуль_ТаблицаОрганизацийПользователя()[0].BoxId;
				Архив = ОсновнойМодуль.ЭДО_ПолучитьАрхивДокументооборота(BoxId,Стр.LetterId,Стр.DocumentId);
                                Если Архив<>Неопределено Тогда
				
				   Каталог = "каталог куда сохранять будем" ;
				   Каталог = ЗаменитьНедопустимыеСимволыИмениФайла(Каталог);
				   ПроверитьСуществованиеКаталога(Каталог);
				   Архив.Записать(Каталог + Стр.ПредставлениеДокументаДиадок + ".zip");	
			        КонецЕсли;
			//сохранение архива ДО

		
		
	          КонецЦикла;
Показать


как то так сохраняю ДО. в настройках обработки Диадок необходимо указать логин пароль для авторизации
tricolor; John_d; +2 Ответить
9. ZOMI 438 07.10.22 12:21 Сейчас в теме
API для Диадока стоит 18 000 в год и я посмотрев на решение Контура для 1С взялся и написал свое решение. Дорабатывать обработку Контура - которую несколько десятков разработчиков видоизменяли - то еще удовольствие. Простейшие доработки вызывают боль.
10. bavkyz 3 07.10.22 12:36 Сейчас в теме
(9)
написал свое решение.


Поделитесь решением )
13. Razyiller 10.10.22 04:54 Сейчас в теме
Тоже реализовал такой функционал, только еще к каждому виду документов заказчик попросил отдельные пакеты печатных форм, причем пакет динамический. сделал через ПМ.

текущий релиз обработки Диадока намного удобнее в доработке нежели предыдущий))))
11. ZOMI 438 07.10.22 12:51 Сейчас в теме
(10)сейчас сложно назвать сроки... но видимо в течение месяца выложу
tambu; prestige; Evgenij1990; Dach; bavkyz; +5 Ответить
16. user954261 19.11.22 09:03 Сейчас в теме
Здравствуйте. Прошу помощи.
1С:УПП 1.3.190, настраиваю универсальный модуль КонтурДиадокИнтеграция 4.24.
Задача:
сопоставлять номенклатуру поставщика с нашей номенклатурой в соответствии с алгоритмом (на лету, без хранения таблицы соответствия, т.к. хранить не целесообразно). Это актуально, например, для услуг, когда каждый раз от поставщика прилетает уникальное наименование услуги. Это уникальное наименование нужно транслировать в нашу номенклатуру (примитивно, по вхождению подстроки).
При загрузке входящего док-та Накладная в док-т 1С:ПоступлениеТоваровУслуг сопоставление происходит дважды (как я понял). Первый этап удалось победить: в ПодключаемомМодуле добавил "Функция ПрочитатьСопоставлениеНоменклатуры(Параметры)". Сопоставление проходит успешно, далее нажимаю "Создать документы", после чего модуль второй раз пытается сопоставить номенклатуру (предположительно из РегистраСведений.НоменклатураКонтрагентов и из Справочник.ХранилищеДополнительнойИнформации).
Вопрос:
как победить второй этап сопоставления (при создании док-та ПоступлениеТоваров) ? Или есть решение, которое поможет пройти сразу два этапа сопоставления?
18. Vo-Va 510 26.11.22 13:36 Сейчас в теме
Кто бы написал еще статью как добавить выгрузку счет фактуры сделанной по отчету комиссионера. Только формализованную по стандарту фнс.
19. kai068 5 05.12.22 10:51 Сейчас в теме
Друзья, никто не сталкивался с добавлением документа Реализации(УПД) в Диадок со статусом "Отправлено на подпись"?
т.е чтобы не заходить в обработку Диадока, а программно отправить нужную накладную по "кнопке" сразу в обработку с нужным статусом.
Буду признателен, если направите куда копать.
20. kai068 5 05.12.22 10:53 Сейчас в теме
21. charushkin 96 27.03.23 13:56 Сейчас в теме
Привет!

Спасибо за хороший пример работы с модулем Диадока. В вашем кейсе документы на отправку выводятся в отдельном пакете. Я подготовил статью с примерами кейса, когда нужно добавить документы в уже готовый пакет Программное добавление документа в исходящий пакет (Контур.Диадок).Надеюсь, будет полезно вам или читателям вашей статьи
Оставьте свое сообщение
Вакансии
Консультант 1С
Москва
зарплата от 80 000 руб. до 150 000 руб.
Полный день

Аналитик 1C
Москва
зарплата от 120 000 руб. до 250 000 руб.
Полный день

Начальник отдела программирования
Уфа
зарплата от 125 000 руб.
Полный день

Программист/тестировщик
Москва
зарплата от 130 000 руб. до 150 000 руб.
Полный день

Ведущий разработчик 1С / Team lead отдела разработки 1С
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день