|
|
Диадок: Можно ли отправлять впф для отобранных документов??
PLUT, Михаил_, takefive, kubik_live, Bigbro, mikecool, rozer76, ДиВаH2, Fregat, evorle145, Akiraman26, backfire, coldsiemens, АгентБезопаснойНацио, 1cVandal, probably, Kongo2019, НоваяВолна, Bad_Aleks, Гипервизор, LLeonidov, АЛьФ, ТДК, KJlag, d4rkmesa, orakool, Hawk_1c, Prog_man, Arh01, Климов Сергей, Kuzmich123, pasha_d, zenik, Rawasert, Kobol, TwinkleSunn, dnab, dchumak, ivanov-i-i, viraboy, Fish, Wildman666, Kigo_Kigo, dedmoroz777, Rovan, Aka_demik, Shur1cIT, Crusher, Timon1405, seydeshev
| ☑ |
|
0
evorle145
12.11.25
✎
11:23
|
Для СФ/РТУ, где есть товары - требуется отправлять в пакете дополнительную внешнюю печатную форму (Спецификация), а где есть услуги - отправлять не надо.
В настройках модуля Диадока есть возможность сделать настройку, чтобы такая форма отправлялась, но она тогда начинает отправляться для всех документов, а надо только для тех, где есть только исключительно товары...
вот тут все вроде просмотрел
https://developer.kontur.ru/Docs/Diadoc_UM/func/Poluchit%27TablitsuIspol%27zuyemykhPaketov.html
но нужного не нашел.. Может кто сталкивался или есть идеи?
|
|
|
1
PLUT
гуру
12.11.25
✎
12:04
|
(0) есть идея обратиться в техподдержку Контура и занести им денежку, чтобы в ПМ добавили магию
я сталкивался :) осадочек остался
|
|
|
2
evorle145
12.11.25
✎
12:10
|
(1) А отладку полноценно включить удалось? Там же в обработке десятка два вложенных обработок, например, есть КонтурДиадокЯдро.epf
но как в нее отладчиком попасть?
в самой обработке диадока отладку включил, все положил в каталог, на который есть права у службы 1С, но нифига.. отладчик туда не собирается заходить...
|
|
|
3
PLUT
гуру
12.11.25
✎
12:14
|
(2) так вы сами хотите во всём этом разобраться?
время - деньги, которых у нас нет
|
|
|
4
1cVandal
12.11.25
✎
12:25
|
а в впф спецификации перед созданием таб дока проверить есть ли товары нельзя?
|
|
|
5
evorle145
12.11.25
✎
12:46
|
(4) это первое что было сделано.. но не прокатило... Потому что вернуть результат Неопределено - нельзя. Если вернуть результат Новый ТабличныйДокумент, то клиенту улетит просто пустой лишний документ.
|
|
|
6
АгентБезопасной Нацио
12.11.25
✎
12:49
|
Сделай в ПМ. Можешь тупо спецификацию свою добавлять во все , и удалять в ПослеПодготовкиПакета если не нужно... Или добавляй там же в ПодготовитьПакет
|
|
|
7
АгентБезопасной Нацио
12.11.25
✎
12:50
|
(2) Отладчик заходит в ПМ после перезапуска (если ПМ внешний, а не внутри конфиги)
|
|
|
8
rozer76
12.11.25
✎
13:03
|
(2) все работает, включение отладки сохраняет все 100500 макетов в папки с файлами - открывай нужный, например, КонтурДиадокЯдро.epf и отлаживай на здоровье.
|
|
|
9
АгентБезопасной Нацио
12.11.25
✎
13:15
|
(8) Отлаживать Ядро - занятие не для слабонервных (кстати, и СБИС - тоже, не только Контур). Да ему и не надо - сделал ПМ, поставил бряки на событиях, и достаточно
|
|
|
10
evorle145
12.11.25
✎
13:56
|
Прошу помощи: почему при изменении данных в ПМ при возвращении в ядро - результат не виден?
Ниже есть функция "Пакеты_НовыйПакет", в ней идет обращение к ПМ
ПодключаемыйМодуль_ОбработатьСобытие("ПослеПодготовкиПакета", Новый Структура("Пакет", Результат));
отладчиком я забегаю в нее, вижу, что в ПМ все удаляется, но когда отладчик выходит из ПМ, то есть сразу после выполнения "ПодключаемыйМодуль_ОбработатьСобытие..."
то в структуре Результат все без изменений, как будто я передаю в процедуру 2-ой параметр по значению, а не фактический...
p.s. Отладка ядра заработала. Подключил ядро как внеш обработку и дальше через спец инструмент отладки внеш печ форм и обработок - запустил.
Полный текст функции из ядра на всякий случай:
Функция Пакеты_НовыйПакет(СтрокаСписка, ПроверятьXDTO)
Результат = Пакеты_ПодготовитьНовыйПакет(СтрокаСписка);
Если ЗначениеЗаполнено(Результат.ПараметрыШаблона.LockMode)
И НРег(Результат.ПараметрыШаблона.LockMode) <> НРег("None") Тогда
Результат.Заблокирован = Истина;
КонецЕсли;
Пакеты_ЗаполнитьМетаданныеДокументов(Результат, Ложь, ПроверятьXDTO);
Пакеты_ЗаполнитьСвязиДокументамиОснованиями(Результат);
Пакеты_ЗаполнитьНеобходимостьШифрованияДокументов(Результат);
Пакеты_ВалидацияДокументов(Результат);
ПодключаемыйМодуль_ОбработатьСобытие("ПослеПодготовкиПакета", Новый Структура("Пакет", Результат));
Возврат Результат;
КонецФункции
|
|
|
11
evorle145
12.11.25
✎
14:22
|
//Может диадок должен был написать ядро иначе?
ПередаваемыйРезультат = Новый Структура("Пакет", Результат);
ПодключаемыйМодуль_ОбработатьСобытие("ПослеПодготовкиПакета", ПередаваемыйРезультат);
Результат = ПередаваемыйРезультат.Пакет;
Возврат Результат;
|
|
|
12
Bigbro
12.11.25
✎
18:10
|
(11) может.
но это обработка которая пишется уже с десяток лет десятками разработчиков, там от версии к версии видно как подход к разработке плывет, но что-то тянется годами.
а с исправлениями вообще беда. даже если 100% доказываешь что проблема в типовой реализации их кода ответ один платите денег мы исправим))
так что приходится самостоятельно.
|
|