Имя: Пароль:
1C
 
Диадок: Можно ли отправлять впф для отобранных документов??
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% доказываешь что проблема в типовой реализации их кода ответ один платите денег мы исправим))
так что приходится самостоятельно.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн