| 
    
        
     
     | 
    
    
  | 
Как лучше программно работать с Диадок? | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        ReaLg    
     гуру 
    07.02.23 
            ✎
    12:24 
 | 
         
        Добрый день.
 
        Может быть кто-то решал аналогичную задачу и подскажет, по какому пути лучше пойти. Конфигурация - УТ11.4 Задача выполнять некие действия по обмену с Диадоком. Пусть, для примера, требуется узнать статус конкретного контрагента. На текущий момент в системе подключена и работает обработка от Диадока. Ранее возникала необходимость делать какие-то свои действия и я ее решал путем создания объекта формы этой обработки. При этом там заполняется куча всяких "кэшей", "контекстов", "метрик" и т.д. И после этого я мог дергать нужные мне функции. Но теперь потребовалось делать некие действия на сервере и форму я там инициализировать не могу. Обработка Диадока написана в лучших традициях ООП. Код модулей-классов - в макетах. Какие я вижу варианты: 1. Забыть про эту обработку, скачать компоненту api и работать через нее. Минус варианте - мне придется придумать и повторить кучу кода, который уже есть в этой обработке. 2. Попробовать выдернуть из этой обработки нужный функционал. По этому методу попробовал сейчас. Т.е. дохожу до серверной функции авторизации, например, и переношу в свою обработку все зависимости. Долго(но, вероятно, все же быстрее п.1), муторно, не понятно будет ли в итоге положительный результат или нет. 3. Попробовать разобраться, как вся эта вещь работает с модулями и повторить, не перенося код в одно место. Т.е. я так подозреваю, создавать темповые обработки, писать туда код из макетов, как-то их подключать и т.д. Может быть кто-то уже разбирался с этой обработкой(она одна для многих конф, вроде бы) и подскажет, какой вариант таки выбрать? Спасибо.  | 
|||
| 
    1
    
        Kassern    
     07.02.23 
            ✎
    12:29 
 | 
         
        (0) 3 вариант. В этой обработке диадока нет ничего сложного. Вместо модулей они используют формы. Так же хранят обработки в макетах     
         | 
|||
| 
    2
    
        anatoly    
     07.02.23 
            ✎
    12:33 
 | 
         
        (0) у вас Диадок Про или стандарт?
 
        там несколько различается подход, в Про есть основной "модуль Ядро" из которого все основные процедуры вызываются, при включении режима отладки можно сохранить все обработки из макетов на диск - и запускать их (соответственно и в коде их можно исправить/дописать все что нужно) со стандартом я не работал, но видел что структура там несколько отличается.  | 
|||
| 
    3
    
        Kassern    
     07.02.23 
            ✎
    12:33 
 | 
         
        Я в свое время правил сами модули диадока для нужд конторы. Проблемы были только во время обязательного обновления. Приходилось переносить этот функционал.     
         | 
|||
| 
    4
    
        inkvizitr    
     07.02.23 
            ✎
    12:36 
 | 
         
        (0) там есть подключаемый модуль, там обработка с надстройками на основную обработку, ковыряй в ту сторону, основную обработку трогать не советую, часто они ее меняют, часто придется ее поддерживать на случай если чего отвалиться     
         | 
|||
| 
    5
    
        mikecool    
     07.02.23 
            ✎
    13:03 
 | 
         
        (4) +1 
 
        при пользовании стандарта только раз пришлось лезть в модули обработки, все остальные вопросы закрывались подключаемым модулем сейчас предстоит с новым разбираться - пока руки не дошли  | 
|||
| 
    6
    
        ReaLg    
     гуру 
    07.02.23 
            ✎
    13:30 
 | 
         
        (4)(5) Это да, про подключаемый модуль я знаю и использую, когда это возможно. Но как с его помощью решить задачу "каждую ночь регламентное задание проверяет статусы контрагентов в Диадок и если статус поменялся создает задачу пользователю" я не знаю.     
         | 
|||
| 
    7
    
        АгентБезопасной Нацио    
     07.02.23 
            ✎
    13:42 
 | 
         
        (2) в Стандарте было примерно так же.
 
        (5) как ни странно, Универсал подхватывает загруженный ПМ от Стандарта, и в большинстве случаев продолжает работать "как надо", без переноса в ПМ Универсала  | 
|||
| 
    8
    
        АгентБезопасной Нацио    
     07.02.23 
            ✎
    13:43 
 | 
         
        (6) я б все-таки взялся за API. Муторно, но знаешь как оно работает, и что от нее ожидать.     
         | 
|||
| 
    9
    
        Argo    
     08.02.23 
            ✎
    03:34 
 | 
         
        (6) статусы в регистре сведений же хранятся? В самом регистре перед записью проверяй статус и создавай задачу. Как вариант.
 
        А с сервера обработка примерно так же работает, создаешь, инициализируешь, авторизуешься, контекст заполняешь и дергаешь с Ядра что надо. Например: ОбработкаДиадок = Обработки.КонтурЭДО.Создать(); ОбработкаДиадок.ИнициализироватьОбщийКонтекст(); Ядро = ОбработкаДиадок.Модуль_Ядро(); Логин = Ядро.ОбщиеНастройки_Прочитать("СлужебнаяУчетнаяЗаписьЛогин"); Пароль = Ядро.ОбщиеНастройки_Прочитать("СлужебнаяУчетнаяЗаписьПароль"); Если НЕ ЗначениеЗаполнено(Логин) Тогда ВызватьИсключение "Не указана служебная учетная запись ЭДО для выполнения регламентных действий"; КонецЕсли; Токен = Ядро.Авторизация_ПоПаролю(Логин,Пароль); Ядро.КонтекстСеанса_ДляСлужебнойУчетнойЗаписи(); СтруктураДокумента = Ядро.Документы_СохраненныйДокумент(ДокументДД); ДвоичныеДанныеФайла = Ядро.Документы_ПечатнаяФормаСервераДиадок(СтруктураДокумента.Идентификаторы);  | 
|||
| 
    10
    
        ReaLg    
     гуру 
    08.02.23 
            ✎
    05:08 
 | 
         
        (9) О, спасибо большое. Если оно так заработает - все будет намного проще. Я до этого только через создание формы добился корректной инициализации. Если это можно через объект сделать с сервера - то супер.     
         | 
|||
| 
    11
    
        big    
     08.02.23 
            ✎
    20:19 
 | 
         
        Посмотрите какие там сопливые запросы по API шлются - будет смеяться над всем этим своим "серьезным" обсуждением )))  Статус контрагента узнать? ЕМНИП там даже токен не нужен )) Самое главное - это код разработчика. Вот без него точно работать не будет ))     
         | 
|||
| 
    12
    
        magicSan    
     08.02.23 
            ✎
    22:00 
 | 
         
        (11) я тоже угорал с их обработки - пакет в пакете с пакетами - редкое убожество. Птом апи глянул, по рест сделали чего не хватает быстро. Удоты какието - от ОПП тока название, на деле венегрет.     
         | 
|||
| 
    13
    
        Волшебник    
     модератор 
    08.02.23 
            ✎
    22:32 
 | 
         
        (12) Будьте добры повежливее. Там ведь тоже программисты.     
         | 
|||
| 
    14
    
        bolder    
     08.02.23 
            ✎
    22:54 
 | 
         
        (0) Нормально там все доработать.Есть описание на сайте как расширять функционал.     
         | 
|||
| 
    15
    
        Масянька    
     16.03.23 
            ✎
    16:13 
 | 
         
        Чтобы не плодить ветки: а где модуль для УПП?     
         | 
|||
| 
    16
    
        saaken    
     16.03.23 
            ✎
    16:30 
 | 
         
        (15) контекст вопроса не понятен     
         | 
|||
| 
    17
    
        АгентБезопасной Нацио    
     16.03.23 
            ✎
    17:59 
 | 
         
        (15) если говорю "не брал" - значит не отдам!
 
        Но вообще, "обычные формы" там тоже есть  | 
|||
| 
    18
    
        mikecool    
     16.03.23 
            ✎
    18:04 
 | 
         
        (0) для получения инфы не нужны обработки, только ключ разработки
 
        он(ключ) обычно в обработке зашит  | 
|||
| 
    19
    
        mikecool    
     16.03.23 
            ✎
    18:05 
 | 
         
        +18 помнится года три назад дергали статусы документов и печатные формы     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |