Настройка бесшовной интеграции 1С: ERP 2.0 и 1С: "Документооборот" КОРП. Варианты реализации бизнес-процессов




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?php // Полная загрузка сервисных книжек, создан 2024-01-05 12:44:55

global $wpdb2;
global $failure;
global $file_hist;

/////  echo '<H2><b>Старт загрузки</b></H2><br>';

$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
/////   echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}

$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
/////   echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}

/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
/////   echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
/////    echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist);   ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7];    ////получаем размер файла
$m_mtime_file=$masiv_data_file[9];   ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

/////   echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
/////   echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
/////   echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);

if ($results)
{   foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
/////   echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
/////   echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}

////загружаем данные
$table='vin_history';         // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация     // (путь от корня web-сервера)
$delim=';';          // Разделитель полей в CSV файле
$enclosed='"';      // Кавычки для содержимого полей
$escaped='\

80 Comments

  1. capitan

    Обстоятельная статья.

    Пару замечаний.

    1. Я бы не оставлял флажки «Обновлять» в настройках интеграции для всех полей. Иначе в ДО можно поменять ключевые поля договора, для пользователя ЕРП его создавшего, это может быть сюрпризом.

    2. Бизнес процесс согласования в ДО лучше на мой взгляд стартовать автоматически. Иначе при большом объеме договоров как будете отслеживать ?

    Reply
  2. iolko

    (1) capitan, Вполне резонные замечания. Особенно про обновления. А старт в данном случае не делал автоматом, чтобы сделать скрин созданного БП и показать согласующих.

    Reply
  3. RailMen

    Очень актуальная статья. У нас обмен классический БП КОРП 3.0 <-> ДО 2.0. Планируем перейти на бесшовный, т.к. в БП КОРП появилась встроенная подсистема для бесшовной интеграции.

    Reply
  4. capitan

    Тогда большой плюс )

    Reply
  5. 1Concept

    На практике крайне редко встречается ситуация, когда договор создается ДЕЛОПРОИЗВОДИТЕЛЕМ в ERP. Классика: в ДО ввод и согласование, по завершении, создание в ERP, например через автоматически созданную задачу по событию.

    Reply
  6. iolko

    (5) 1Concept, на практике — да. Это просто пример, у нас на предприятии есть такое понятие — инициатор договора (любой пользователь) . После процесса «инициации» и появления договора, как «объекта» идет процедура согласования. Не факт что он — Делопроизводитель. Еще раз уточню — это только пример, и ни чего более, логику БП, как и роли, права доступа, каждый выберет для себя сам, это частный случай. Через несколько дней статья будет дополнена настройкой условного согласования, на языке запросов (для полноты)

    Reply
  7. s_vidyakin

    (5) 1Concept, каким образом реализовали автоматическое создание в ЕРП ? А то мне пришлось писать обработчик бизнес-события «Изменение внутреннего документа» и передавать на сторону ЕРП в собственный http-сервис ГУИД договора, а уже оттуда заполнять через типовой веб-сервис интеграции

    Reply
  8. iolko

    (7) badboychik, Доброго времени суток, возможно есть вопрос терминологии, карточка договора в 1С ERP не создается автоматически, ее должен создать сотрудник за это ответственный, на основе комплексного процесса. Т.е. в 1С дог проходит согласование, после его завершения , в зависимости от результатов, приходит пользователю оповещение сделать определенные шаги в 1С ERP. Такая схема выбрана потому, как в нашем случае в карточке договора ERP заполняется очень большое кол-во доп реквизитов, не влияющих на процесс согласования. Но они указаны в договоре (в печатной форме) и для отчетности должны быть. Ваш способ, конечно очень оригинален, но в моем случае не жизнеспособен, т.к. нарушает очень много регламентов.

    Reply
  9. dsdred

    По мне после того как создали и согласовали в ДО необходимо либо по самописному регламенту либо по самописной кнопке Расширения конфигурации Создать в ERP документ на основании ДО и в регистре документооборота и ERP проставить соответствие.

    Reply
  10. Xleo777

    Добрый день, Алексей!

    У меня 2 вопроса по интеграции ERP 2.1.3.191 с 1С:Документооборот 2.1.7.9, платформа 1С:Предприятие 8.3 (8.3.9.1818):

    1. По какому принципу мигрируют пользователи? У нас создаются дубли в 1С:Документооборот

    2. При формировании списка задач пользователя в журнал регистрации записывается ошибка, Описанная ниже. Можно ли ее как-то обойти

    {ОбщийМодуль.ИнтеграцияС1СДокументооборот.Модуль(22)}: Ошибка при вызове метода контекста (execute)

    Результат = Прокси.execute(Запрос);

    по причине:

    При вызове веб-сервиса произошла ошибка. Ошибка вызова операции сервиса: {http://www.1c.ru/dm}:DMService:execute()

    по причине:

    При вызове веб-сервиса произошла ошибка. Неизвестная ошибка. Ошибка работы с Интернет: Превышено время ожидания

    по причине:

    Ошибка работы с Интернет: Превышено время ожидания

    Reply
  11. iolko

    (10)

    Добрый день, Елена. Пользователи могут мигрировать только с планами обмена, либо вы заводите пользователя в ERP и затем такого же в ДО, при этом имя для входа должно быть одинаковым. А так же стоит учесть, что у пользователя должны быть права на выполнение требуемых операций, обычно достаточно включить пользователя в группу Пользователи в 1С ДО.

    Reply
  12. algora

    Добрый день.

    Подскажите, что нужно сделать чтобы в безшовную интеграцию добавить свой (не типовой) бизнес процесс?

    По нему получаем ошибку «попытка получить имя ссылки для неизвестного типа»

    А куда его надо добавить?

    Reply
  13. s_vidyakin

    Бизнес процесс или все таки документ? Чтоб импортировались документы надо добавить его в определяемый тип «интегрируемые с документооборотом объекты» и настроить сопоставление реквизитов в правилах интеграции

    Reply
  14. iolko

    Добрый день. Полностью согласен с Сергеем Ведякиным.

    Reply
  15. algora

    (13)именно бизнеспроцесс (был когда то создан). Но я разобрался, добавил структуру по аналогии с типовыми и в коде прописал. стали отображаться его задачи

    Reply
  16. swetoch_ka

    (10)

    Добрый день, Елена! Столкнулась с такой же ошибкой, как у Вас: {ОбщийМодуль.ИнтеграцияС1СДокументооборот.Модуль(22)}: Ошибка при вызове метода контекста (execute).

    Скажите пожалуйста, удалось ли победить ошибку и как?

    Reply
  17. iolko

    Коллеги, собратья, товарищи !!!! ))))))

    Всем доброго времени суток. Столкнулся с такой проблемой при бесшовной нтеграции 1С Документооборот и 1С ЕРП. Суть:

    Есть типовой документ 1С ЕРП- Заявка ТМЦ, у которой есть статусы : Утвержден, На Утверждении , отклонен итд. В 1С Документооборот есть внутренний документ, Заявка ТМЦ, с процедурой согласования.

    Так вот. Если в 1С ЕРП в интеграции в настройках правил интеграции прописать что то типа:

    Если Источник.statusApproval.name = «Согласован» Тогда Результат = Перечисления.СтатусыПланов.Утвержден
    ИначеЕсли
    Источник.statusApproval.name = «Не согласован» Тогда Результат = Перечисления.СтатусыПланов.Отклонен;
    КонецЕсли; 

    То часа 2 правило отрабатывает а потом ругается, что поле name в теге statusApproval не найдено. При этом ни чего не помогает до перезапуска службы 1С.

    Важно то, что у нас 1С кластеризована, и такая ошибка появляется только при кластерной схеме.

    Пришлось для того чтобы работало править переопределяемый модуль ИнтегарцияС1СДокументооборот. Если нужно могу кинуть процедуру и кусок кода.

    Reply
  18. strannik1982

    Коллеги подскажите, при бесшовной интеграции кушает ли ДО клиентские лицензии, когда пользователь согласовывает договор из 1с ERP? То есть пользователь в момент согласования будет использовать 2 клиентских лицензии? я говорю про случай с программными лицензиями.

    Reply
  19. iolko

    (18), Добрый день!

    Если лицензии аппаратные, то нет — это одна лицензия

    Reply
  20. dvdvan1

    Возникла такая проблема, при бесшовной интеграции ERP->ДО запускается процесс согласования документа «Заявка на расходование ДС», в ДО создается внутренний документ, заполненный данными из ERP. Документ проходит процесс согласования, меняется статус в ДО, процесс закрывается, но статус документа в ERP не меняется, причем не только статус , но и остальные реквизиты которые указаны в правиле интеграции «Получение из 1с Документооборота». Отмечу что правило интеграции «Передача в 1С Документооборот» отрабатывает полностью. Кто сталкивался с такой проблемой подскажите в чем причина?

    Заранее спасибо.

    Reply
  21. sm.artem

    Спасибо за статью!

    Я правильно понимаю, что в любом случае пользователь должен работать в двух системах? То есть, как описано в первом случае: в ERP создали договор, в «ДО» необходимо выбрать шаблон процесса и стартовать бизнес-процесс?

    Или все же, «ДО» можно использовать как фоновый движок бизнес-процессов? Например, мне необходимо согласовать изменение Заказа клиента (который в ERP), тогда я из Заказа клиента запускаю бизнес-процесс (который в ДО) и дальнейшие шаги по бизнес-процессу делаются пользователями также в ERP?

    Reply
  22. iolko

    (21) Добрый день! Если Вы создали заказ в ERP или Бухгалтерии, и Вам необходимо его согласовать через 1С Док оборот, тогда, на стороне Вы создаете Вид внутреннего документа «Заказ» (на пример) , настраиваете необходимые доп реквизиты, которые должны присутствовать в карточке в документа 1С Документооборот. Это полезно, если от каких то реквизитов зависит маршрут согласования.

    Пример: в Документе «ЗаказКлиенту» в 1С ERP вы добавили признак 100%% предоплаты (булево), по логике, если этот признак Истина, то в процесс согласования должен добавиться, скажем, коммерческий директор.

    Тогда в состав внутреннего документа «Заказ» на стороне 1С Документооборот, Вы так же добавляете такой же реквизит, и настраиваете условия маршрутизации.

    На стороне 1С ERP в правилах интеграции, настраиваете заполнение внутреннего документа 1С ДокОборот, из документа 1С ERP. В этих правилах Вы определяете какой реквизит из ЕРП попадет в карточку ДокОборот.

    Следовательно, при создании на основании документа «ЗаказКлиенту» из ERP процесса согласование или любого другого комплексного процесса, произойдет заполнение требуемых реквизитов в 1С ДокОборот.

    Reply
  23. Xleo777

    (16)

    Добрый день, Светлана!

    В модуле ИнтеграцияС1СДокументооборот изменили Таймаут с 15 до 100 в функции

    Функция ТаймаутСервиса() Экспорт

    //Таймаут = 15;

    Таймаут = 100;

    ИнтеграцияС1СДокументооборотПереопределяемый.ПриОпределенииТаймаутаСервиса(Таймаут);

    Возврат Таймаут;

    КонецФункции

    Reply
  24. sm.artem

    (22) Спасибо за ответ.

    Это понятно, что можно настроить создание объектов в ДО по созданному объекту в ERP.

    Вопрос в том, что после того как создался внутренний документ «Заказ» в ДО. Сотрудник через ERP запускает бизнес-процесс. Есть ли необходимость ему (или другим согласующим) заходить еще и в ДО и там выполнять действия, или же все участники так и продолжают работать в ERP, без запуска ДО на всем протяжении процесса?

    Reply
  25. Xleo777

    Напишите ваше сообщение

    (20)

    Работает ли в ДО регламентное задание «Формирование сообщений обмена для интегрированных систем»?

    Reply
  26. Xleo777

    (17)

    Добрый день, Алексей! Может у вас в ДО статус документа становится не согласован, а, например, Исполнен или утвержден. А тогда это уже не Источник.StatusApproval, а Источник.statusPerformance (исполнен) или Источник.statusConfirmation (Утвержден). И это тоже надо описывать. Я, кажется, проверяла на заполненность Источник.statusApproval, а уже потом проверяла реквизит name

    ИменСвойствПоСостояниям.Вставить(«Согласование», «statusApproval»);

    ИменСвойствПоСостояниям.Вставить(«Утверждение», «statusConfirmation»);

    ИменСвойствПоСостояниям.Вставить(«Регистрация», «statusRegistration»);

    ИменСвойствПоСостояниям.Вставить(«Рассмотрение», «statusConsideration»);

    ИменСвойствПоСостояниям.Вставить(«Исполнение», «statusPerformance»);

    Reply
  27. dvdvan1

    (25)

    Да работает, из ДО заполняется только поле комментарий, статус нет, причем статус из ДО приходит «Согласован».

    Статус заполняется из выражения на встроенном языке:

    Если Параметры.Источник.status.name = «Согласован» Тогда
    Параметры.Результат = Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.Согласована;
    ИначеЕсли Параметры.Источник.status.name = «НеСогласован» Тогда
    Параметры.Результат = Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.Отклонена;
    ИначеЕсли Параметры.Источник.status.name = «НаСогласовании» Тогда
    Параметры.Результат = Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.НеСогласована;
    КонецЕсли;
    Reply
  28. iolko

    (24), Добрый день. Нет необходимости нет, если настроена интеграция, то на начальной странице 1С ERP, в форсе интеграции с 1С Документооборот, пользователь будет видеть все свои задачи. Т.е. Петров АА отправил Заказ Иванову ВВ, у Иванова ВВ, появилась в ERP новая задача. Он может согласовать или нет, если согласовал, Петров АА получает уведомление «ознакомиться с результатом согласования» так же в ЕРП.

    Могу кинуть в личку скрины того как это происходит

    Reply
  29. sm.artem

    (28) Алексей, спасибо за ответ.

    Мне пока достаточно знать, что мой вопрос можно решить штатными средствами.

    Думаю, что в скриншотах нет необходимости, основной функционал хорошо описан в статье.

    Reply
  30. Xleo777

    (27) Добрый день, Иван!

    Странно. Ведь в ДО несколько статусов

    statusApproval

    statusConfirmation

    statusRegistration

    statusConsideration

    statusPerformance

    Неужели у Вас отрабатывает условие Параметры.Источник.status.name ?

    Reply
  31. dvdvan1

    (30)

    Добрый вечер.

    Действительно странно, но условие отрабатывает. Например если записать условие «Параметры.Источник.status.name» в поле «Комментарий», то туда запишется «Согласован», «На согласовании» и т.д, если указать ТипЗнч(Параметры.Источник.status.name), то запишется «строка». То есть из ДО приходит все верно, но вот поле статус не меняется.

    Reply
  32. Xleo777

    (31)

    Добрый день, Иван!

    Если Вы используете стандартные правила интеграции может использовать возвращаемое значение Результат, а не Параметры.Результат (как у Вас написано)?

    Если Параметры.Источник.status.name = «Согласован» Тогда
    Параметры.Результат = Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.Согласована;
    ИначеЕсли Параметры.Источник.status.name = «НеСогласован» Тогда
    Параметры.Результат = Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.Отклонена;
    ИначеЕсли Параметры.Источник.status.name = «НаСогласовании» Тогда
    Параметры.Результат = Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.НеСогласована;
    КонецЕсли;
    Reply
  33. dvdvan1

    (32)

    Добрый вечер, Елена.

    Если я использую Результат, а не Параметры.Результат правило не отрабатывает, при отправке инф. в ДО возникает исключительная ситуация (переменная результат не обнаружена).

    При получении инф из ДО ошибки нет, но и данных нет. Версия erp 2.4.1.240, правила стандартные.

    Reply
  34. Xleo777

    (33)

    Добрый день, Иван!

    Понятно. У нас ERP 1С:ERP 2.2.4.81.

    Спасибо за информацию! Будем готовиться к обновлению )))

    Reply
  35. Xleo777

    Добрый день, коллеги!

    Документооборот 8 КОРП, редакция 2.1 (2.1.10.2)

    Скажите, пожалуйста, почему в ДО пользователи могут видеть только комплексные процессы, в которых являются автором или согласантом? У пользователей есть роли на работу с внутренними документам, процессами и задачами.

    У нас настроена форма в интеграции, которая проверяет наличие действующих процессов и запрещает редактирование Заявок на расходование ДС, если процессы обнаружены через интеграцию.

    В итоге, так как пользователь не видит процессов других, заявки стали доступны для редактирования.

    Reply
  36. Xleo777

    (35)Упс. Это типовое поведение системы (RLS) при использовании ролей «Изменение и выполнение задач» и «Работа с задачами и бизнес процессами». Чтобы читали все процессы и задачи, нужна роль «Чтение процессов и задач без ограничения»… или напильник 🙂

    Reply
  37. iolko
    Reply
  38. iolko

    (35) Добрый день! Необходимо настроить права, дать доступ на просмотр всех документов, а именно…

    В Полномочиях, для «Пользователь», добавить роль (включить ее) — «Чтение внутренних документов без ограничений»

    Reply
  39. Xleo777

    (37) Добрый день, Алексей!

    Мы решили эту проблему создав отдельный комплексный процесс с согласованием «Юриста», «Бухгалтера» — Этап1, А на этап2 Экономиста маршрут попадал по итогам успешного выполнения этапа1.

    Reply
  40. Synoecium

    (20) столкнулся с такой же проблемой, выяснил что это косяк в типовой конфигурации ERP (2.2.4.81), там сделана неправильная проверка на изменение реквизитов в правилах обмена. Смотреть в модуль менеджера справочника «Правила интеграции», функция ЗаполнитьОбъектПоОбъектуXDTO(), в местах где устанавливается флаг ЕстьИзменения. Исправили ли косяк в новых версиях ERP не знаю, в моем случае проще было исправить.

    Reply
  41. Sanek_159

    Добрый день.

    Подскажите как при настройке правил интеграции, в зависимости от условия, выбрать папку сохранения документа в документообороте? Т.е. в «выражения на встроенном языке» прописать алгоритм выбора того или иного значения из документооборота?

    Можно создать несколько вариантов правил для одного документа, с разными папками и тогда при нажатии кнопки «создать» будет предложено выбрать несколько вариантов правил в которых указаны разные папки. Но это не красивый и чувствую не правильный метод.

    Reply
  42. iolko

    (41) Добрый день! Да Лучше прописать правила на встроенном языке.

    Если Параметры.Источник (Какое то значение), Тогда Параметры.Результат = 
    Reply
  43. Sanek_159

    (42) вот как раз проблема в «Параметры.Результат», т.к. в «Параметры.Результат» нужно передать не значение «Параметры.Источник», а выбрать значение (не из источника) скажем произвольного справочника с определенным значением.

    Reply
  44. iolko

    в «Параметры.Результат» нужно передать не значение «Параметры.Источник» — это вообще зачем в результат передавать источник ? Источник — это какое значение обрабатываем, результат- это то что хотим присвоить. Напишите пример словами, я Вам просто кусок кода напишу.

    Reply
  45. Sanek_159

    (44) Вопрос уже решен, спасибо. Данные создаются из бухгалтерии 3 в документооборот 2.1.

    Нужно было результату присвоить не значение справочника Источника (бухгалтерии), а выбрать из справочника Документооборота и его подставить. Т.е. в документообороте во внутренних документах есть допустим 2 папки куда создаются документы. При создании нужно было автоматически выбирать нужную папку.

    Reply
  46. sapsalev

    Уважаемый автор, спасибо за толковую статью!

    Позвольте несколько вопросов:

    1) в случае использования «1С:Документооборот 8 ПРОФ» вместо «КОРП» единственное отличие — это невозможность настройки ограничения на сумму договора?

    2) можно ли настроить БП согласования договора в ДО более сложным, чем в ERP, т.е. сделать так, чтобы некоторые этапы согласования совпадали с этапами ERP, но при этом между ними были бы ещё внутренние этапы ДО?

    3) правильно ли я понимаю, что веб-сервер можно использовать любой, аналогично всё будет работать и на IIS?

    Заранее спасибо за ответ!

    Reply
  47. iolko

    (46) Доброго дня!

    в случае использования «1С:Документооборот 8 ПРОФ» вместо «КОРП»

    Вот тут подсказать не могу, надо смотреть описание поставок.

    можно ли настроить БП согласования договора в ДО более сложным, чем в ERP

    Да, именно для этого и создан 1С ДО, т.к. там можно как угодно усложнить процесс согласования

    правильно ли я понимаю, что веб-сервер можно использовать любой, аналогично всё будет работать и на IIS?

    Совершенно верно, мы и на IIS работали, но потом все-таки перешли на апач, к стати сейчас переходим на апач х64, и на платформу 8,3,13, вроде бы как, это даст заметный прирост производительности.

    НО! Мы пошли немного по другому (пришлось) , а именно:

    Сделали некий промежуточный документ — Проект договора в 1С ERP, на него навешали кучу контролей заполнения, добавили все требуемые договорным управлением реквизиты итд. И уже этот документ интегрировали в 1С ДО, и именно он у нас идет на согласование, а уже после того как проект согласован, то из него можно уже создать договор (с контрагентом, кредитов, лизинга, займа )

    Такой подход позволил нам не плодить мусора в справочниках договоров, и получить всю требуемую отчетность не изменяя типовые документы. Т.е. есть некий регистр сведений, в котором хранятся связи между проектом договора и самим договором,следовательно формирую отчеты (которые требуют договорники) мы всегда имеем доступ к проекту договора, и следовательно ко всем его реквизитам. Ну и соотвественно еще допили периодику статуса договора, а то в типовых решениях этого нет. Т.е. статус — это факт (Действует или Закрыт) , а часто надо так… Количество действующих договоров за месяц. Следовательно тут без периодики не обойтись. Пишите, если что, отвечу

    Reply
  48. BalansI

    (19) Добрый день. У нас лицензии аппаратные, но съедает две лицензии. Не подскажите, что могли настроить не так? Лицензии раздаем хаспом.

    Reply
  49. Synoecium

    (47) по описанию тянет на отдельную статью, не планируете систематизировать опыт?

    За эту статью спасибо, по ДО не так уж много хороших материалов в сети

    Reply
  50. iolko

    (49) В принципе не критично написать, т.к. граблей схватил очень много именно с тем, что изначально мы все-таки работали параллельно в 1С ДО, и в 1С ERP, т.е. проект договора пользователи вводила в 1С ДО, затем согласование происходило в 1С ERP (штатным механизмом), после того как проект договора согласован,

    сотрудники создавали карточку именно «Договора с контрагентом» в 1С ERP, и настраивали связь.

    Скорее всего в понедельник будет писанине нашей работы ну и бонусом еще работа с документацией

    Reply
  51. krollzlat

    Добрый день.Возникла необходимость как-то реализовать передачу ТЧ в до. Нарпимер Есть самописный документ, статус и прочее уходит ,есть ТЧ («Доп согласущие»), хотелось бы их как-то перетащить А уже в ДО переписать заполнениея процесса и согласовантов…Есть идеи как можно это реализовать?

    Reply
  52. iolko

    (51) Это сложно в реализации, если количество согласующих известно, то лучше завести отдельные реквизиты (тем более что док самописный)

    Reply
  53. technetos

    Использовать почтовый клиент 1с ДО из ERP возможно?

    как организовать работу с почтой?

    Reply
  54. iolko

    (53) а какая конкретно задача ?

    Reply
  55. technetos

    сейчас все письма принимаем и отправляем из Комплексной автоматизации (регистрируются взаимодействия). очень удобно по нажатию кнопки отправить счёт на оплату, прайс, отчет и проч. Но сам почтовый клиент неудобен, есть проблемы с работой. Иногда письма не забирает с почтового сервера. Нет привычного функционала. Например, при ответе на письмо не сохраняет в тексте письма историю переписки. Почитав о всех возможностях почты в 1с ДО захотели себе такую красоту. вот только красота в интерфейсе ДО, в КА её не перетащить…

    Возможно, я еще не всё увидел. Только сегодня начал разбираться с функционалом.

    Reply
  56. podkin1c

    (55) не перетащить… Не вся функциональность ДО интегрируется. Например, для тех же договоров печать листа согласования предусмотрена только в ДО, работа с версиями вложенных файлов, управление пролонгацией договоров только в ДО. Если по договорам вести учет доп.соглашений как отдельных документов (требующих отдельного согласования), а не как файлов, то опять же добро пожаловать в интерфейс ДО. На текущем уровне механизма интеграции ДО и например ERP отказаться от работы в двух программах далеко не всегда возможно.

    Reply
  57. iolko

    (56) Совершенно верно, а именно:

    — печать листа согласования предусмотрена только в ДО (да, но легко дорабатывается)

    — работа с версиями вложенных файлов (К сожалению да, т.к. данные по прикрепленным к договорам файлам, хранятся в справочнике (на пример) ДоговорыКонтрагентовПрисоединенныеФайлы, данный справочник не умеет работать с версиями)

    — Если по договорам вести учет доп.соглашений как отдельных документов (требующих отдельного согласования), а не как файлов, то опять же добро пожаловать в интерфейс ДО (опять совершенно верно).

    Автопролонгация — это вообще чудо, т.к. в 1С ERP срок действия договора, статус договора — это не периодические данные, следовательно, если Вы заходите посмотреть количество действующих договоров за период, то по статусу Вы этого не получите. Т.е. может быть так: Период действия договора 2019 год, статус — Закрыт, и Вы хотите его получить как действовал в течении года, если просто запрос к статусу то этого договора не будет.

    Работа в 2х системах одновременно (ERP и Интерфейс ДО, т.е. непосредственно Документооборот) тоже ни чего хорошего не принесет.

    Вывод один — доработка системы. При этом можно частично пересмотреть БП предприятия, немного подстроив их под функционал программы.

    В принципе все что Вы описали можно сделать, если есть понимание что конкретно нужно. Сам ДО очень хорошо масштабируем в плане функционала, если будет необходимость обсудить варианты реализации, пишите (лучше в личные сообщения)

    Reply
  58. iolko

    (56)Могу Вам полноценно описать все решения ваших вопросов, за просто так, ради интереса, если интересно — это часа 2 времени.)))))))))))))))))) даже с кодом, лист согласования как пример

    Reply
  59. podkin1c

    (58) Зачем же за просто так? Опубликуйте здесь отдельную статью по реализации листа согласования в ERP при интеграции с ДО. Уверяю, будет интересно не только мне. Получите гешефт от публикации, а здесь просто ссылку на свою же статью.

    Reply
  60. podkin1c

    (57)

    Работа в 2х системах одновременно (ERP и Интерфейс ДО, т.е. непосредственно Документооборот) тоже ни чего хорошего не принесет.

    Если стоит задача автоматизировать документооборот организации (компании), то две программы (базы, конфигурации) однозначно.

    Если документооборот нужен только как «движок» для процессов, то можно и «скрыть» ДО. Но моё личное мнение, что тогда уж лучше использовать альтернативный софт (Битрикс, Elma, Bizagi и т.д.).

    Покупать, ставить, настраивать интеграцию, поддерживать 1С:Документооборот только в качестве «движка» для согласования фин.заявок и договоров из ERP это всё-равно что летать на самолёте в соседнюю деревню. Можно, конечно, но дорого же…Да и неудобно, если уж честно. Я перепробовал много чего (разные программы), реализация процессов (согласование, утверждение, исполненение) от 1С при интеграции ERP и ДО для пользователя, пожалуй, самое сложное решение.

    Лично я остановился именно на связке 1С:ERP -1С:Документооборот, поскольку нам нужен именно «самолёт». (Хотя может и нам не нужен, может просто люблю летать…)

    Reply
  61. iolko

    (59) Ок, к вечеру будет опубликовано решение с исходными кодами

    Reply
  62. iolko
    Reply
  63. Bezon-81

    Коллеги, есть проблема схожая с описанной Synoecium (40).

    Стоит УТ 11.4.6.188 и ДО 2.1.12.2

    Настроена интеграция и синхронизация.

    В УТ и ДО сделаны идентичные дополнительные реквизиты статуса согласования документа.

    Ожидаемая схема:

    Документ в УТ -> документ в ДО -> автозапуск не типового согласования -> изменение значения статуса(доп реквизита) при движении по процессу согласования -> изменение основных реквизитов документа ДО (номер, дата начала и окончания, ответственный и т.п.), если требуется -> изменение статуса ДО в документе УТ.

    Фактический резульатт:

    Все реквизиты без проблем уходят в ДО и вносятся в документ ДО, но при их изменении изменений в документе УТ не происходит (((

    Складывается очучение, что при обмене данные не толкаются из ДО в УТ.

    Может кто подскажет как решить эту проблему?

    Reply
  64. Bezon-81

    Коллеги, есть проблема схожая с описанной Synoecium (40).

    Стоит УТ 11.4.6.188 и ДО 2.1.12.2

    Настроена интеграция и синхронизация.

    В УТ и ДО сделаны идентичные дополнительные реквизиты статуса согласования документа.

    Ожидаемая схема:

    Документ в УТ -> документ в ДО -> автозапуск не типового согласования -> изменение значения статуса(доп реквизита) при движении по процессу согласования -> изменение основных реквизитов документа ДО (номер, дата начала и окончания, ответственный и т.п.), если требуется -> изменение статуса ДО в документе УТ.

    Фактический резульатт:

    Все реквизиты без проблем уходят в ДО и вносятся в документ ДО, но при их изменении в ДО — изменений в УТ не происходит (((

    Складывается очучение, что при обмене данные не толкаются из ДО в УТ.

    Может кто подскажет как решить эту проблему?

    Reply
  65. iolko

    (64)

    Фактический резульатт:

    Все реквизиты без проблем уходят в ДО и вносятся в документ ДО, но при их изменении в ДО — изменений в УТ не происходит (((

    Складывается очучение, что при обмене данные не толкаются из ДО в УТ.

    Может кто подскажет как решить эту проблему?

    Смотрите, проблем на самом деле 2, а именно:

    1) Сам процесс согласования строится полностью в момент старта маршрута, т.е. если допустим пользователь установил признак «Экстренная закупка», а в ДО настроено, что для этого признака из маршрута согласования должно выпасть , скажем, 5 согласующих, то при старте процесса их и не будет.

    Даже если потом Вы поставите данный признак в ERP или в ДО, то процесс не перестроится, а пойдет по маршруту как он был создан при старте.

    2) Изменение реквизитов, вообще в настройках интеграции, где Вы прописываете соответствия реквизитов есть признак Обновлять из ERP, обновлять из ДО (на вкладке ДО), либо не установлена галка, либо как то криво идет обмен.

    Reply
  66. Bezon-81

    (65)

    2) Изменение реквизитов, вообще в настройках интеграции, где Вы прописываете соответствия реквизитов есть признак Обновлять из ERP, обновлять из ДО (на вкладке ДО), либо не установлена галка, либо как то криво идет обмен.

    В том-то и дело, что галки стоят, а результата никакого. В этом собственно и проблема!

    Reply
  67. iolko

    (66)

    , что галки стоят, а результата никакого. В этом собственно и проблема!

    Это повод обратиться в 1С, но одно могу сказать точно, это происходит не с типовым обменом данными, ERP генерирует событие на Web сервис ДО,

    и там уже ДО должен эти изменения обработать. У нас просто запрещено изменение документа и процесса пока статус <> Согласован или Отказан

    Reply
  68. Bezon-81

    (67)

    Разобрался, но не до конца понял как.

    Посмотрел тут https://forum.infostart.ru/forum15/topic214401/

    Проверил журнал, там чисто.

    Нагрузил админа переопуликовать базы, заодно и переименовал базу ДО

    И вжууух!!!!

    интеграция полилась в обратную сторону как и должна

    Reply
  69. iolko

    (68)

    интеграция полилась в обратную сторону как и должна

    Это как минимум отлично, но проблема № «еще одна» осталась, а именно: построение маршрута согласования…. в принципе можно залезть в код и там немного исправить в том же модуле интеграции ДО и ЕРП.. на стороне ДО… т.е. если были изменения, то пробежать маршрут, если маршрут изменился с новыми значениями, старый маршрут стоп, новый старт….

    Reply
  70. Bezon-81

    (69) я пошёл другим путём, запретил менять реквизиты всем кроме ответственных сотрудников.

    Кроме того данные реквизиты в первую очередь статусы движения по процессу и на маршрут не влияют.

    Хотя вы задели важный момент, который я ещё не освоил — это запрогать автоматическую смену статуса(доп реквизита) в зависимости от шага процесса.

    НО это уже офтоп

    Reply
  71. iolko

    (70) ну вот… главное -1, а дальше,есть проблема, есть решение

    Reply
  72. nnickname

    (63) описанная в (20) проблема решена в ЕРП.

    Сейчас согласование работает через ДО.

    У меня тоже заработало не сразу.

    На партнерской много сообщений на этот счет.

    Проверьте в ДО работу фонового задания «Формирование сообщений обмена для интегрированных систем».

    Если оно отрабатывает корректно, то после изменения статуса согласования документа в ДО в РС «Сведения о сообщениях обмена с интегрированными системами» появятся записи с пустой «датой передачи клиенту».

    Если так, то ДО со своей задачей справился.

    Далее идем в ЕРП, Регл заданию «Интеграция с 1С:Документооборотом — Выполнить обмен данными» назначаем пользователя, под которым оно будет выполняться. Заходим в режиме предприятия и проверяем, что у этого пользователя введен его логин/пароль от документооборота.

    После этого все должно заработать.

    Reply
  73. Bezon-81

    (72)

    Интеграция с 1С:Документооборотом — Выполнить обмен данными

    Спасибо!

    Действительно после предыдущих тестов с перепубликацией, через некоторое время опять перестало работать.

    Сделал по этому рецепту.

    Настроил почаще выполнение РЗ, проверил пользователя обмена (он был не залогинен в ДО) теперь когда руками толкаешь «Интеграция с 1С:Документооборотом — Выполнить обмен данными» , то всё приходит куда надо, а если не толкать то какой-то период между обменами, хотя РЗ стоит на раз в 30 сек.

    РС «Сведения о сообщениях обмена с интегрированными системами» действительно удобно смотреть чтобы понять ходил обмен или нет

    Буду искать где ещё время прописано

    Reply
  74. Rustig

    (0) извиняюсь заранее за «вопрос не в тему» — посоветуйте пож-та курсы по ДО.

    и сколько примерно стоит внедрить ДО на предприятии? какой ваш диапазон цен?

    Reply
  75. KilloN

    Хорошая статься, но столкнулся с такой проблемой.

    На основание одного договора необходимо создать несколько документов.

    Например первый документ это сам договор, а остальные доп соглашения. Но это НЕ отдельный договор.

    Есть регистр сведений «Объекты, интегрированные с 1С:Документооборотом» в котором возможно для одного объекта сделать несколько ссылок УИДов, но в любом случае он берет только первый попавшиеся

    Reply
  76. user1145086

    (72)Спасибо

    Reply
  77. ye_s

    (58) Здравствуйте. Не подскажите как передать Статью ДДС при выгрузке во внутренний документ? Не вижу такой возможности в типовом правиле

    Reply
  78. DreamcastMD

    Добрый день, коллеги.

    Подскажите есть ли простое решение для реализации задачи открывать объект интегрированной системы в 1С ДО

    1. Работая через интерфейс бесшовной интеграции «начальная страница» — «задачи мне» в целевой системе получаю задачу из ДО по объекту этой системы. Необходимо иметь возможность открыть не только карточку документа ДО, а именно объект системы (документ) являющийся источником документа и задачи в ДО?

    2. Все тоже самое, но работая в интерфейсе ДО иметь ссылку в документе и задаче нажав на которую будет открываться система источник и этот документ?

    Reply
  79. user1222728

    Добрый день

    Подскажите какие права у пользователя в ДО должны быть

    При попытке отправить документ из ERP от имени простого пользователя ругается на права доступа, под админом все работает

    В ДО пользователь легко создает документы такого типа

    Reply
  80. kotov2000

    Подскажите, как авторизоваться к ДО со стороны ERP по доменной авторизации под учеткой пользователя?

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *