|   |   | 
| 
 | Как лучше программно работать с Диадок? | ☑ | ||
|---|---|---|---|---|
| 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 помнится года три назад дергали статусы документов и печатные формы     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |