Отладка модуля ДиадокПро

0. Максим-777 50 30.10.20 15:00 Сейчас в теме
В обработке ДиадокПро все дополнительные модули встроены во внешние обработки, которые хранятся в макетах. Это усложняет процесс самостоятельной интеграции, так как теряется возможность попасть в них в режиме отладки. Но не всё так страшно, поэтому ниже инструкция)

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Lightsource 5 05.11.20 15:45 Сейчас в теме
Добрый день! Подскажите, пожалуйста, сталкивались ли вы с такой задачей?

В конфигурации нужно подписать документ ЭЦП и передать его в Диадок. И чтобы Диадок его распознавал уже как подписанный. То есть, не нужно было бы заходить на сайт Диадока и подписывать документ ещё и там
2. Максим-777 50 06.11.20 09:51 Сейчас в теме
(1) Здравствуйте! Попробуйте посмотреть эту статью, я брал код из неё:

https://1c-pro-docs.diadoc.ru/ru/latest/proc/pm/Reglamentnoye_Zadaniye.html

Там в конце как раз пример фоновой отправки исходящих, включая подпись.
3. Punisher_1C 26 06.11.20 21:53 Сейчас в теме
Добрый день. Решали данную задачу следующим образом - купили внешнюю обработку диадока, из неё скопировали процедуры работы с ЭЦП, там есть ключ для доступа к api, передавали в него документ с подписью. Чтобы пользователи видели подписал ли контрагент накладную использовали регламент, так же получающий статус документа по api. Вот описание https://diadoc-sdk.readthedocs.io/ru/latest/
Максим-777; artbear; +2 Ответить
4. artbear 1428 09.11.20 12:41 Сейчас в теме
(0) Спасибо, хороший вариант для отладки.

вопрос по папке "include" - я во вставки кода из статьи не вижу упоминания этого имени.
точно ли такая правка? или все-таки явно нужно добавить + "\include" к последнему выражению?
5. Максим-777 50 09.11.20 16:25 Сейчас в теме
(4) "Include" стандартная папка, так что модуль сам допишет её в путь чуть позже.

Задача вставки кода была взвести флаг отладки и указать корневой каталог (для текущего модуля), относительно которого искать необходимые файлы и папки.
6. artbear 1428 09.11.20 16:29 Сейчас в теме
7. SLukin 39 04.12.20 11:33 Сейчас в теме
Инструкция уже либо не актуальна, либо просто не понятна.
Не удается подключить отладку подключаемого модуля.
В моей ситуации требуется из выгрузки документов убрать характеристику номенклатуры как в печатной форме при проверке перед отправкой, так и формировании самого отправляемого пакета данных
lexanuch; +1 Ответить
8. Максим-777 50 04.12.20 16:22 Сейчас в теме
(7) То есть отладка не проваливается в модули?
Попробуйте ещё раз проверить файловую структуру: папка libs должна быть рядом с файлом диадок, include - внутри libs.
Вы открываете модуль как внешнюю обработку или она вшита в конфигурацию?
9. SLukin 39 07.12.20 10:29 Сейчас в теме
(8)
То есть я должен создать папку для отладки обработки (В моем примере это папка "!").
В нее положить внешнюю обработку Диадок и также создать в ней папку libs, внутри которой создать папку include
В папку include положить выгруженный макет и переименовать его добавив расширение .epf - верно?
Прикрепленные файлы:
10. Максим-777 50 14.12.20 12:35 Сейчас в теме
(9) Смотрите, в папку libs вы сохраняете макеты (добавив расширение .epf) из обработки Diadoc1C_UF, в свою очередь, в этих макетах также могут быть свои макеты, которые нужно сохранять уже в папку \libs\include.
У вас точно Про версия обработки? В базовой я тоже видел намёк на возможность отладки, но там нужно настраивать немного по-другому (включение отладки сидит глубже в модулях), хотя сама логика такая же.
34. yaroslavch 28 06.10.22 10:40 Сейчас в теме
(7) Столкнулся с такой же проблемой.
Включаешь галку отладки, выгружаешь обработки, а в обработчики не попадаешь.
Нужно Перезапустить 1с в режиме предприятия, после включения отладки.
Тогда отладчик будет заходить в выгруженные обработки.
11. Gh0st 16.02.21 14:15 Сейчас в теме
У меня не работают в версии Про события подключаемого модуля, вызванные из ТиповойМодульДиадокУФ и вложенных в него модулей. Как-то можно их включить? Интересует это событие: ПослеЗаполненияКонтента . Вызывается из Модуль_ИнтеграцияУниверсальный.
МетодСервера(,"ОбработкаСобытияПодключаемогоМодуля", "ПослеЗаполненияКонтента", ПараметрыСобытияПМ);
12. Gh0st 16.02.21 15:37 Сейчас в теме
(11) Разобрался и решил проблемы с дополнением данных контента в событии ПодготовитьЭлектронныйДокумент. Оно вызывается дважды до стандартного заполнения и после него. Параметры.Свойство("Результат_ИМ") указывает, что результат заполнен. Но вызов событий из ТиповойМодульДиадокУФ и вложенных модулей хотелось бы реализовать. Надо переопределить текст запроса данных из РТУ. Пока решил изменением встроенного модуля, но в Диадок стандарт это решал добавлением вызова ПМ и из него передавал текст запроса.
13. Максим-777 50 17.02.21 13:48 Сейчас в теме
(12) Предполагаю, что в ТиповойМодульДиадокУФ.epf нужно подредактировать функцию "ИнициализироватьОбщийКонтекстКлиентСервер", а именно строки:

ПараметрыКлиентСервер.Вставить("КаталогМодулейСервера",			"C:\Diadoc\libs");
ПараметрыКлиентСервер.Вставить("РежимОтладкиСервера",			ИСТИНА);


Для удобства, вместо "C:\Diadoc\libs" можно расшарить директорию libs на клиенте и указать к ней сетевой путь, доступный серверу.
14. dakork 26 14.04.21 09:51 Сейчас в теме
(13)
Параметры не менял.
Помимо размещения обработок в папках, как описано в статье, в модуле обработки Диадок изменил функцию

Функция РежимОтладкиВключен() Экспорт
	
   	Возврат Истина;//я добавил вот эту строку, иначе не хотел отлаживаться 
	
	Результат = ХранилищеНастроекДанныхФорм.Загрузить("Диадок", "РежимОтладки");
	
	Если Результат = Неопределено Тогда
		Результат = Ложь;
	КонецЕсли;
	
	Возврат Результат;
	
КонецФункции
Показать
Максим-777; +1 Ответить
15. KRIHA 101 16.08.21 21:23 Сейчас в теме
Не подскажете и мне - у меня так же не заходит в выгруженный в каталог libs файл обработки по точке останова.
версия диадок.про 4.6.1 - самая свежая, только что вышедшая.
хочу (см. скриншоты) попасть в файл "ядро.epf" - но не получается
Прикрепленные файлы:
16. Максим-777 50 17.08.21 15:25 Сейчас в теме
(15)

База файловая или клиент-серверная, УФ или обычные формы?
Если клиет-сервер, могу предположить, что сервер не видит путь с папкой libs, попробуйте скопировать обработку с папками в доступное серверу место.
17. KRIHA 101 18.08.21 14:59 Сейчас в теме
УФ, клиент-серверная.
Мне такой же ответ прислала поддержка диадока )) - я им ответил со скриншотами (в которых видно что файл существует, когда точка останова в серверной процедуре), что сервер видит и каталог, и файл и все все все.
более того - обработка создает папку libs и файлы "на сервере" когда ставлю галочку "режим отладки" - так что вооооооооооот )
18. Максим-777 50 19.08.21 11:09 Сейчас в теме
(17)

Банальный вопрос про включенную отладку на сервере))

Не нашел 4.6, проверил на 4.5.29 (версия для обычных и управляемых форм).

Поэтапно:
1. Для проверки: открыл в конфигураторе основную обработку диадок и поставил точку на процедуре "ИнициализироватьОбщийКонтекст", строка "Ядро = Модуль_Ядро();"
По ней можно проследить как и по какому пути подключается модуль. В переменной Ядро будет уже подключенная обработка. В свойстве "Ядро.ИспользуемоеИмяФайла" будет либо путь временного хранилища (тогда всё пропало), либо путь к файлу (всё отлично).

2. Запустил предприятие, в настройках обработки включил отладку, согласился с выгрузкой модулей - на этом этапе в "Ядро.ИспользуемоеИмяФайла" будет ссылка на вр. хранилище, которая закэшировалась до конца сеанса и не уже не даст подключить модуль как внешний файл.

3. Перезапускаю отладку, снова открываю обработку Диадок в режиме предприятия и в конфигураторе слежу за процессом. Уже на этом этапе у меня Ядро подключается из внешнего файла.

Как-то так)
19. tpkpsd 11.11.21 15:50 Сейчас в теме
У кого обработки выгружаются на сетевой каталог: проверяйте, чтобы путь в Корневом каталоге был сетевой с \\
у самого отладка не работала, пока не указал такой и несколько раз(!) не переоткрыл базу.
20. tolyan_ekb 199 25.01.22 10:26 Сейчас в теме
Подскажите, пожалуйста, как происходит отладка, когда подключаемый модуль в расширении?
21. Максим-777 50 25.01.22 15:50 Сейчас в теме
(20) Точно также как и со встроенной в конфигурацию, различий быть не должно.
Я отлаживаю на внешней обработке, потом собираю в неё все можифицированные макеты и кладу в конфигурацию.
22. tolyan_ekb 199 25.01.22 15:59 Сейчас в теме
(21) в отладчике смотрю, доходит до выгрузки в подкаталоги libs, а самого каталога нет, т.к. выгрузки не было и используется подключаемый модуль. Или возможно, это надо было делать перед тем ка подключаемый модуль подключать. Мне уже насторенная отладка досталась.
23. user824140 02.02.22 20:50 Сейчас в теме
(0) Первый раз сталкиваюсь с Контур.Диадок. Простейший вопрос. Доп.обработки лежат в Макетах "основной", я одну из таких обработок выгрузил, подправил, загрузил назад. Изменения применяться? Она будет работать?
24. Максим-777 50 03.02.22 11:14 Сейчас в теме
(23) Да, всё должно работать. Возможно, лучше после этого перезапустить сеанс 1С, чтобы сбросить кэш обработок в диадоке (он хранится на время сеанса).
25. user824140 03.02.22 12:38 Сейчас в теме
(24) Спасибо. Пришлось вчера эмпирическим путем проверить. Сработало
26. mdv92 02.06.22 19:37 Сейчас в теме
Добрый день! Подскажите, а что это за "ОсновнойМодуль"? Где его искать? в старой версии вставила свои доработки просто в модуль - там всё было очевидно, три года проблем не знали, а теперь - отключили старые модули надо немедленно запустить новый вариант...
27. Максим-777 50 02.06.22 23:16 Сейчас в теме
(26) Если имеется в виду переменная в подключаемом модуле, то в ней сидит обработка из макета "ВызовыПМ"
28. mdv92 03.06.22 11:32 Сейчас в теме
(27) Спасибо! Не знаю, докопаюсь ли я до правды... Теперь дошла до "Ядро" - а это кто? Про ВызовыПМ удачно получила ответ одновренменно в 2 местах!
29. mdv92 03.06.22 11:34 Сейчас в теме
Если ДанныеШапки.Свойство("НомераДляСФ") Тогда
				Если ДанныеШапки.НомераДляСФ.ЭтоИСФ Тогда
					СтруктураКонтента.RevisionNumber 	= ДанныеШапки.НомераДляСФ.НомерИсправления;
					СтруктураКонтента.RevisionDate   	= ДанныеШапки.НомераДляСФ.ДатаИсправления;
					СтруктураКонтента.Number 			= ДанныеШапки.НомераДляСФ.НомерДокумента;
					СтруктураКонтента.Date   			= ДанныеШапки.НомераДляСФ.ДатаДокумента;
				Иначе
					СтруктураКонтента.Number	= ДанныеШапки.НомераДляСФ.НомерДокумента;
					СтруктураКонтента.Date		= ДанныеШапки.НомераДляСФ.ДатаДокумента;
Показать

вот такого типа текст я где-то теперь могу найти?
30. Максим-777 50 03.06.22 16:37 Сейчас в теме
(29) Макет "ТиповойМодульДиадок", процедура "ЗаполнитьКонтентУПД155"
Я для удобства выгрузил модули встроенных обработок в текстовые файлы и ищу в Notepad++ через поиск в файлах.
31. mdv92 03.06.22 19:05 Сейчас в теме
(27) Спасибо!
Боже, какое счастье, всё на месте! Всё не так страшно, как я себе представляла. Поправлю и вставлю обратно в макет, да?
32. Максим-777 50 04.06.22 11:15 Сейчас в теме
33. EliasShy 48 28.07.22 09:42 Сейчас в теме
Программисты диадока бы прочли эту инструкцию) 7 месяцев строку 5а в СФ "ваяли".
35. StasN 27.10.22 12:44 Сейчас в теме
подскажите, а как без авторизации выполнить отладку? или при включении флага не будет требовать авторизации?
36. Максим-777 50 27.10.22 16:30 Сейчас в теме
(35) Без авторизации не получится (как минимум обработка не заполнит документы к отправке и внутренние справочники), отладка тоже не поможет в этом. У Контура есть возможность получить демо-доступ на неделю, если ещё не запрашивали.
Оставьте свое сообщение
Вакансии
Программист
Москва
зарплата от 200 000 руб. до 230 000 руб.
Полный день

Главный специалист (Программист 1с)
Подольск
зарплата от 100 000 руб. до 110 000 руб.
Полный день

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

Аналитик (оперативный учет)
Москва
зарплата от 150 000 руб. до 300 000 руб.
Полный день

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