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

1. SLukin 39 04.12.20 11:45 Сейчас в теме
Требуется при электронном обмене документами исключить характеристику номенклатуры из формы проверки документов перед отправкой и удалить характеристику номенклатуры из пакета при обменен электронными документами.
Ключевые вопросы:
1. В каком модуле искать кусок кода для изменения
2. Как подключить отладку модуля для отладки (Возможно это подключаемый модуль).
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
25. SLukin 39 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 39 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 233 04.12.20 12:10 Сейчас в теме
Во первых у них там не только в макетах эти модули а и а и в модулях так же есть макеты с модулями...это жесть...
По хорошему надо эти модули сохранять на диск в каталог, при том каталоги нужно создавать с определенным наименованием,
и в основном модуле нужно прописать путь к этим обработкам...
А править лучше через подключаемый модуль, У них для этого есть инструкция вот Описание подключаемого модуля диадок, это намного проще чем расковыривать стандартные модули...

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

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



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

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


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



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

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

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

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

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)