Характеристика номенклатуры при отправке через Диадок

1. SLukin 43 04.12.20 11:45 Сейчас в теме
Требуется при электронном обмене документами исключить характеристику номенклатуры из формы проверки документов перед отправкой и удалить характеристику номенклатуры из пакета при обменен электронными документами.
Ключевые вопросы:
1. В каком модуле искать кусок кода для изменения
2. Как подключить отладку модуля для отладки (Возможно это подключаемый модуль).
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
25. SLukin 43 17.11.21 16:24 Сейчас в теме
По итогу выполнил следующее.

1. Выгрузил Модуль_ИнтеграцияУТ11



2. В данном модуле внес изменения в процедуру "СформироватьЗапрос_ДанныеТЧ_ПоРеализацияТоваровУслуг" следующие изменения.

Процедура СформироватьЗапрос_ДанныеТЧ_ПоРеализацияТоваровУслуг(Запрос, КолонкаКодаТовара, СсылкаНаДокумент)
	
	//Сообщить("Процедура СформироватьЗапрос_ДанныеТЧ_ПоРеализацияТоваровУслуг");
	
	Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	Подзапрос.НомерСтроки 								КАК НомерСтроки,
		|	Подзапрос.Номенклатура 								КАК Номенклатура,
		|	Подзапрос.НоменклатураПредставление 				КАК НоменклатураПредставление,
		//Лукин++
		//|	Подзапрос.Характеристика 							КАК Характеристика,
		|	""""          			 							        КАК Характеристика,
		//Лукин--
		|	Подзапрос.Серия 									КАК Серия,
		|	Подзапрос.КодНоменклатуры 							КАК КодНоменклатуры,
		|	Подзапрос.Количество 								КАК Количество,
		|	Подзапрос.КоличествоПоРНПТ 							КАК КоличествоПоРНПТ,
		|	Подзапрос.Цена 										КАК Цена,
Показать


3.Сохранил и загрузил обработку обратно в макет. Параллельно столкнулся с проблемой не принятия изменений.
По какой-то причине изменения принимаются при нажатии кнопки "Выгрузить обработки".на основной форме.



4. Проблему с отладкой так и не решил пользовался наводкой из (19) В ключевых местах писал Сообщить(), тем самым вычислял в каком куске кода нахожусь и какие данные находятся в переменных
Прикрепленные файлы:
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. user705522_constantin_h 35 04.12.20 12:23 Сейчас в теме
(1)В модуле Диадок сохраняете макет ТиповойМодульДиадокУФ. Открываете сохранённый макет. Находите нужный макет, сохраняете его. Вносите изменения. Затем всё в обратном порядке: в сохраненный ТиповойМодульДиадокУФ изменённый макет Загрузить из файла. И также с изменённым ТиповойМодульДиадокУФ.
2. oleg-x 26 04.12.20 11:53 Сейчас в теме
Насколько я слышал у диадока код выполнения размещен даже в макетах, что значительно усложняет отладку обработки.
У сбиса в этом плане проще, там надо всего то поправить структуру XML файла, главное разобраться как это работает.
3. SLukin 43 04.12.20 11:57 Сейчас в теме
(2) Подключаемы модуль действительно находиться в макете внешней обработки Диадока, но как его правильно подключить для отладки для меня не понятно. Все статьи про это на инфостарте устарели и не актуальны, либо не понятны в использовании. Хотелось бы узнать пошаговые действия, что да как делать.

Чтобы не быть голословным - прикрепляю скрин.

На скрине выделен модуль, который я выгружаю для отладки. Использую данный макет так как работаю в 1С:ERP Управление предприятием 2 (2.4.12.109)
Прикрепленные файлы:
4. user705522_constantin_h 35 04.12.20 12:02 Сейчас в теме
(3)Включение режима отладки:
1. Все функции.
2. Диадок: Дополнительные справочники (Справочники)
3. ОбщиеНастройки
4. Режим отладки - Да
Но в макете вы всё равно Точку останова не сделаете.
5. bmk74 234 04.12.20 12:10 Сейчас в теме
Во первых у них там не только в макетах эти модули а и а и в модулях так же есть макеты с модулями...это жесть...
По хорошему надо эти модули сохранять на диск в каталог, при том каталоги нужно создавать с определенным наименованием,
и в основном модуле нужно прописать путь к этим обработкам...
А править лучше через подключаемый модуль, У них для этого есть инструкция вот Описание подключаемого модуля диадок, это намного проще чем расковыривать стандартные модули...

В архиве модули извлеченные из обработки диадок с каталогами
Прикрепленные файлы:
Diadoc.7z
7. SLukin 43 04.12.20 13:21 Сейчас в теме
(4) Это при применении расширения Диадок - я правильно понял?
8. SLukin 43 04.12.20 13:25 Сейчас в теме
(5) Данное описание видел. В нем не описано как подключить "Подключаемы модуль" для отладки. В этом и вся проблема.
Мне нужны действия для возможности попасть внутрь "Подключаемого модуля", чтобы отловить момент выполнения какой-либо команды на основной форме обработки.
10. user705522_constantin_h 35 04.12.20 13:34 Сейчас в теме
(8)Сохраняете нужный макет. Открываете. Находите в нем нужную процедуру. Если она вызывает процедуру из другого макета. Сохраняете его. Открываете. И опять ищете нужную процедуру.
9. SLukin 43 04.12.20 13:34 Сейчас в теме
Вот в настройках указано, что я использую интеграционный модуль интеграции УТ11
Прикрепленные файлы:
11. SLukin 43 04.12.20 13:36 Сейчас в теме
(9) На основании этого принимаю решение, что необходимо сохранить на диск соответствующий макет
Сохраняю на диск и переименовываю следующим образом - ПодключаемыйМодульДиадок.epf.
Если не переименовывать, то ругается на то что файл не доступен.
Прикрепленные файлы:
15. user705522_constantin_h 35 04.12.20 14:24 Сейчас в теме
(11)Дважды кликайте по этому макету, в диалоге выберите Выгрузить в файл.
12. SLukin 43 04.12.20 13:55 Сейчас в теме
(11) Заполняю настройки на вкладке подключаемый модуль - следующим образом.
Жму кнопку проверить и появляется сообщение об удачной инициализации
Прикрепленные файлы:
18. bmk74 234 04.12.20 15:00 Сейчас в теме
(12) Там есть кнопка сохранить шаблон, можно выбрать какие функции надо переопределить, в архиве, который я давал выше есть файл в папке include, "ПМ_УТ_11.epf" И "Модуль_ИнтеграцияУТ11.epf" Это основные файлы которые подготавливают данные что будут отправлены, именно для ЕРП..посмотрите их
13. SLukin 43 04.12.20 14:15 Сейчас в теме
Дальнейшие действия для меня не понятны.
14. user705522_constantin_h 35 04.12.20 14:23 Сейчас в теме
(13)Открывайте в конфигураторе подключаемый модуль.
16. SLukin 43 04.12.20 14:28 Сейчас в теме
(15) Зачем повторять мои действия, которые я уже выполнил?
17. SLukin 43 04.12.20 14:31 Сейчас в теме
В 12 пункте я уже прописал настройки для подключения модуля к обработке. Вопрос. как найти точку входа в обработку, которую я сохранил из макета
19. bmk74 234 04.12.20 15:03 Сейчас в теме
(17) Отладить там не получиться просто так, во первых даже при включении отладки вы поставив точку останова в этом файле ничего не получите, так как диадок создает их как бы заново, каждый раз при его открытии, единственно это можно поставить точку останова в основном модуле, и пошагово двигаться дальше...тогда еще можно дойди ( с большим гемором до нужного места).
20. user705522_constantin_h 35 04.12.20 15:09 Сейчас в теме
(17)Табличная часть формируется в Функция ДанныеТабличныхЧастей(Шапка). Точку останова я поставить не смог. Я сначала встраивал в модуль вывод данных оператором Сообщить(). Смотрел на выводимые данные, затем изменял код.
21. bmk74 234 04.12.20 15:21 Сейчас в теме +0.5 $m
(20)
Точку останова я поставить не смог. Я сначала встраивал в модуль вывод данных оператором Сообщить(). Смотрел на выводимые данные, затем изменял код


ДанныеТЧ	 = ПолучитьДанныеТЧ(ДокСсылка, Неопределено, Неопределено, Истина, , ФункцияУПД);
	ДополнитьДанныеШапкиХарактеристикамиТабличнойЧасти(ДанныеШапки, ДанныеТЧ);


Вроде как даже есть отдельная функция по дозаполнению характеристик
22. user705522_constantin_h 35 04.12.20 15:25 Сейчас в теме +0.5 $m
(21)Это другое:
Процедура ДополнитьДанныеШапкиХарактеристикамиТабличнойЧасти(Шапка, ТабличнаяЧасть) Экспорт
	
	Шапка.Вставить("ЕстьТовары"	, ТабличнаяЧасть.НайтиСтроки(Новый Структура("ЭтоУслуга", Ложь	)).Количество() > 0);
	Шапка.Вставить("ЕстьУслуги"	, ТабличнаяЧасть.НайтиСтроки(Новый Структура("ЭтоУслуга", Истина)).Количество() > 0);
	
	// TODO: Добавить расчет следующих показателей
	//   * ВсегоНДС, ВсегоСНДС - вычислять нужно в цикле по ТЧ, использовать метод Итог(<Колонка>)
	//                           нельзя, т.к. в строках могут быть не только числа (например, Неопределено)
	//   * ТипНалогообложения - в качестве возможных значений предлагается использовать имена значений
	//                          перечисления ТипыНалогообложенияНДС из УТ/КА/ERP. 
	//                          На текущий момент важны 3 значения:
	//                            ** ОблагаетсяНДС - ВсегоНДС > 0
	//                            ** НеОблагаетсяНДС - все строки по ставке "Без НДС"
	//                            ** ОблагаетсяНДСУПокупателя - все строки по ставке "НДС исчисляется налоговым агентом"
	
КонецПроцедуры
Показать

Это когда в шапке нужно вывести что-то из табличной части. А мне нужно было изменить значения в табличной части.
23. SLukin 43 04.12.20 16:52 Сейчас в теме
(21)Вот это очень помогло. Заметил особенность, что через стандартное подключение "Подключаемого модуля" ничего не работает.
Приходиться выгружать и загружать файл модуля при каждой проверке. Куска кода с подстановкой функции Сообщить() с диагностическими сообщениями.
До конца пока проблему не решил. Обязательно отпишусь по факту доработки.
25. SLukin 43 17.11.21 16:24 Сейчас в теме
По итогу выполнил следующее.

1. Выгрузил Модуль_ИнтеграцияУТ11



2. В данном модуле внес изменения в процедуру "СформироватьЗапрос_ДанныеТЧ_ПоРеализацияТоваровУслуг" следующие изменения.

Процедура СформироватьЗапрос_ДанныеТЧ_ПоРеализацияТоваровУслуг(Запрос, КолонкаКодаТовара, СсылкаНаДокумент)
	
	//Сообщить("Процедура СформироватьЗапрос_ДанныеТЧ_ПоРеализацияТоваровУслуг");
	
	Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	Подзапрос.НомерСтроки 								КАК НомерСтроки,
		|	Подзапрос.Номенклатура 								КАК Номенклатура,
		|	Подзапрос.НоменклатураПредставление 				КАК НоменклатураПредставление,
		//Лукин++
		//|	Подзапрос.Характеристика 							КАК Характеристика,
		|	""""          			 							        КАК Характеристика,
		//Лукин--
		|	Подзапрос.Серия 									КАК Серия,
		|	Подзапрос.КодНоменклатуры 							КАК КодНоменклатуры,
		|	Подзапрос.Количество 								КАК Количество,
		|	Подзапрос.КоличествоПоРНПТ 							КАК КоличествоПоРНПТ,
		|	Подзапрос.Цена 										КАК Цена,
Показать


3.Сохранил и загрузил обработку обратно в макет. Параллельно столкнулся с проблемой не принятия изменений.
По какой-то причине изменения принимаются при нажатии кнопки "Выгрузить обработки".на основной форме.



4. Проблему с отладкой так и не решил пользовался наводкой из (19) В ключевых местах писал Сообщить(), тем самым вычислял в каком куске кода нахожусь и какие данные находятся в переменных
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот