Настройка бесшовной интеграции 1С: ERP 2.0 и 1С: "Документооборот" КОРП. Варианты реализации бизнес-процессов
Интеграция - Перенос данных 1C
Пример интеграции 1С: ERP 2.0 и 1С: Документооборот 2.0 КОРП.
В связи с выходом/обновлением данных продуктов, а также развитием технологии web сервисов, специалистами компании 1С была реализована бесшовная интеграция, 1С ERP и 1С Документооборот (далее по тексту «ДО»).
В этой статье будет описана не столько схема и настройка интеграции, хотя будет и это и в полном объеме, но и рассмотрены несколько возможных видов интеграции.
Для реализации данного взаимодействия между двумя программами нам понадобится:
-
1С ERP 2.0
-
1C «ДО» 2.0 (Версии КОРП)
-
Web Server Apache.
Установку и настройку данных программных продуктов описывать нет необходимости, перейдем непосредственно к настройке.
Итак. Бизнес-процесс следующий: нам необходимо согласовывать договора продажи. Схема согласования будет следующая:

Для реализации подобной схемы заведем пользователей в 1С ERP и 1С ДО.
- Безопасность
- Юрист
- Экономист
- Делопроизводитель
Теперь перейдем к настройке
Зайдем в 1С ДО в режиме «Конфигуратор» и опубликуем нашу базу на web сервере.


Имя - адрес ресурса, т.е. http://localhost/DocCorp/
Каталог - Место расположения web сервиса.
Жмем «Опубликовать» и соглашаемся на перезапуск службы Apache.
Проверяем работу.

Теперь сделаем настройки в 1С ДО.
1) Создадим новый вид документа: «Договор продажи»
Переходим в «НСИ и Администрирование» - «Виды документов»
Создадим группу документов «Договора»
Создаем новый вид

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


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

Откроется форма выбора шаблона «Согласование», создадим папку «Нетиповые процессы», затем создадим процесс «Согласование договора продажи»

Запишем процесс.
Переходим к предметам процесса, т.к. у нас есть условная маршрутизация, которая зависит от суммы договора, нам необходим предмет анализа, создадим его.


Вернемся во вкладку «Настройки процесса», добавим согласующих.
Затем изменим направление маршрутизации, и выставим порядок согласования:

Теперь настроим уловную адресацию, нажимаем кнопку «Использовать условия» *(Только в версии КОРП).


Создадим новое условие маршрутизации: Сумма договора > 100 000р.


Далее видно, что наш шаблон не назначен ни одному «Виду документа»

Назначим его «Виду документа» - «Договора продажи».

Настройка 1С «ДО» закончена. Переходим к настройке 1С: ERP.
Добавим пользователей, таких же, как в 1С «ДО»

Далее переходим в раздел «НСИ и Администрирование» и выбираем «Интеграция с Документооборот»

В поле URL вводим web адрес сервиса, устанавливаем необходимые галки и переходим к настройке интеграции.


Укажем в настройках, к какому документу мы хотим привязать процесс.
Это будет «договор с контрагентом», объект из 1С «ДО» - «Внутренний документ»

После выбора взаимосвязей будет выполнена базовая настройка связанных объектов.

Необходимо настроить рад полей.
Вид документа в 1 «ДО» - «Договор продажи»

Когда осуществляется ввод вида документа, 1С ERP ищет его в 1С «ДО».
«Папка» - «Договора продажи» (место хранения документов)
«Регистрационный номер»

Система по умолчанию говорит, что это «Код», это неверно, изменим значение.

У нас это номер договора.
Настроим оставшиеся поля

На этом все - Сохраним настройку.
Создадим договор продажи в 1С ERP, будем создавать его под пользователем «Делопроизводитель»

Теперь создадим на основании этого договора процесс 1С «ДО». Нажимаем в форме списка «Еще»


В 1С «ДО» при этом создается внутренний документ «Договор продажи»

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

Потом зайдем «Экономистом»

У него задач нет, т.к. его согласование идет после «Юриста», согласуем договор «Юристом», и обновим задачи «Экономиста»

Наш договор перешел в статус «Действует».

Небольшое отступление. Это пример интеграции из 1С ERP в 1С «ДО». Но, на мой взгляд, есть ряд недостатков не в самой интеграции, а именно в организации бизнес-процесса. Допустим, у нас большой документооборот договоров продажи с контрагентами, все договоры проходят процедуру согласования. Следовательно, каждый раз договор должен быть занесен в 1С: ERP. Но договор могут не согласовать, тогда в базе останется «мусор», не сказать , что это сильно повлияет на работу системы, но все-таки.
Но есть возможность развернуть взаимосвязь. «Делопроизводитель» создает в 1С «ДО» внутренний документ «Договор продажи», документ проходит стадии согласования, затем, когда становится согласованным, «Делопроизводитель» вносит уже утвержденные данные в 1С ERP и настраивает взаимосвязь между объектом в 1С ERP и 1С «ДО».
Пример:
В 1С «ДО» создадим внутренний документ «Договор продажи»

Регистрируем договор и отправляем по созданному нами шаблону согласования.

Небольшая неточность в скрине, сумма договора потом была проставлена в размере 1500р.


Сумму договора я установил 1500р., следовательно, согласований «Экономисту» делать не нужно.
Перейдем в 1С ERP.

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

Переходим в «Документооборот» данного документа и выбираем "внутрений документ" 1С ДО.



Поиск происходит по выбранным критериям на стороне 1С "ДО".

Вот теперь у нас настроена связь между двумя объектами.
При этом мы не создали лишних документов в 1С ERP, весь процесс согласования прошел на стороне ERP (средствами 1С «ДО»). И была получена связь 2х объектов с разных баз.
За сим все. Какие методики выбирать зависит от ваших потребностей, решайте сами.
PS. При интеграции с 1С ERP рекомендовал бы настроить планы обмена структурой предприятия, контрагентами, пользователями и статьями ДДС. Это позволит сократить вмешательство в систему 1С «ДО» и иметь актуальную информацию при договорном учете.
Best regards!
Вступайте в нашу телеграмм-группу Инфостарт
Документооборот ERP Интеграция согласование договор.
Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
См. также
Перенос данных 1C Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)
Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор
58000 руб.
04.08.2015 195031 480 310
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)
Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!
55050 руб.
25.02.2015 192721 385 296
SALE! 10%
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)
Правила в универсальном формате обмена для ERP 2.5, ERP 2.6, КА 2.5, КА 2.6, УТ 11.5, УТ 11.6, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.
27633 руб.
12.06.2017 165287 1009 329
Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)
Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.
55200 руб.
24.04.2015 211583 186 254
SALE! 10%
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)
Переносите справочную информацию, остатки и документы из УПП 1.3 в Бухгалтерию 3.0 с помощью готовых правил. Переносится более 50 видов документов. Простой интерфейс и понятные настройки.
42000
37800 руб.
15.12.2021 37251 270 68
SALE! 10%
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 Бухгалтерский учет Управленческий учет Платные (руб)
Переносите справочную информацию, остатки и документы из УПП 1.3 в ERP 2.6 и КА 2.6 с помощью готовых правил. Переносится более 60 видов документов. Простой интерфейс и понятные настройки.
42000
37800 руб.
24.06.2020 73334 108 35
Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)
Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы
63000 руб.
29.10.2018 64557 87 137
Перенос данных 1C Разработчик Бухгалтер 1С:Предприятие 8 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ ФОМС, ЕФС Платные (руб)
Обработки для быстрого перехода с конфигураций «КАМИН:Расчет заработной платы 3.0», «КАМИН:Зарплата для бизнеса 4.0» и «КАМИН:Зарплата 5.0» на конфигурацию «Зарплата и управление персоналом» версии 3.1.
20740 руб.
25.09.2016 93498 429 268
Пару замечаний.
1. Я бы не оставлял флажки "Обновлять" в настройках интеграции для всех полей. Иначе в ДО можно поменять ключевые поля договора, для пользователя ЕРП его создавшего, это может быть сюрпризом.
2. Бизнес процесс согласования в ДО лучше на мой взгляд стартовать автоматически. Иначе при большом объеме договоров как будете отслеживать ?
1. Для заполнения на стороне учетной системы используем правило интеграции
2. в ДО создаю задачу на технического пользователя "Создать объект в учетной системе". Можно настроить шаблоны БП.
на строне учетной системы написал обработку, которая пользуется стандартным интерфейсом бесшовки. Проверяет новые задачи и создает объекты в учетной системе. В моем случае это договоры.
У меня 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(Запрос);
по причине:
При вызове веб-сервиса произошла ошибка. Ошибка вызова операции сервиса: {}:DMService:execute()
по причине:
При вызове веб-сервиса произошла ошибка. Неизвестная ошибка. Ошибка работы с Интернет: Превышено время ожидания
по причине:
Ошибка работы с Интернет: Превышено время ожидания
Добрый день, Елена. Пользователи могут мигрировать только с планами обмена, либо вы заводите пользователя в ERP и затем такого же в ДО, при этом имя для входа должно быть одинаковым. А так же стоит учесть, что у пользователя должны быть права на выполнение требуемых операций, обычно достаточно включить пользователя в группу Пользователи в 1С ДО.
Добрый день, Елена! Столкнулась с такой же ошибкой, как у Вас: {ОбщийМодуль.ИнтеграцияС1СДокументооборот.Модуль(22)}: Ошибка при вызове метода контекста (execute).
Скажите пожалуйста, удалось ли победить ошибку и как?
Добрый день, Светлана!
В модуле ИнтеграцияС1СДокументооборот изменили Таймаут с 15 до 100 в функции
Функция ТаймаутСервиса() Экспорт
//Таймаут = 15;
Таймаут = 100;
ИнтеграцияС1СДокументооборотПереопределяемый.ПриОпределенииТаймаутаСервиса(Таймаут);
Возврат Таймаут;
КонецФункции
У меня вообще такая же проблема возникла, правда 30с таймаута решило проблему, но причина её так и не ясна.
Ещё заметил, что в УТ11.3 по умолчанию было 15с, а в 11.4 уже 20с.
У меня же ошибка, мол, время выполнения 24с, но превышен таймаут в стандартные 20с.
Всем доброго времени суток. Столкнулся с такой проблемой при бесшовной нтеграции 1С Документооборот и 1С ЕРП. Суть:
Есть типовой документ 1С ЕРП- Заявка ТМЦ, у которой есть статусы : Утвержден, На Утверждении , отклонен итд. В 1С Документооборот есть внутренний документ, Заявка ТМЦ, с процедурой согласования.
Так вот. Если в 1С ЕРП в интеграции в настройках правил интеграции прописать что то типа:
Если Источник.statusApproval.name = "Согласован" Тогда Результат = Перечисления.СтатусыПланов.Утвержден
ИначеЕсли
Источник.statusApproval.name = "Не согласован" Тогда Результат = Перечисления.СтатусыПланов.Отклонен;
КонецЕсли; То часа 2 правило отрабатывает а потом ругается, что поле name в теге statusApproval не найдено. При этом ни чего не помогает до перезапуска службы 1С.
Важно то, что у нас 1С кластеризована, и такая ошибка появляется только при кластерной схеме.
Пришлось для того чтобы работало править переопределяемый модуль ИнтегарцияС1СДокументооборот. Если нужно могу кинуть процедуру и кусок кода.
Добрый день, Алексей! Может у вас в ДО статус документа становится не согласован, а, например, Исполнен или утвержден. А тогда это уже не Источник.StatusApproval, а Источник.statusPerformance (исполнен) или Источник.statusConfirmation (Утвержден). И это тоже надо описывать. Я, кажется, проверяла на заполненность Источник.statusApproval, а уже потом проверяла реквизит name
ИменСвойствПоСостояниям.Вставить("Согласование", "statusApproval");
ИменСвойствПоСостояниям.Вставить("Утверждение", "statusConfirmation");
ИменСвойствПоСостояниям.Вставить("Регистрация", "statusRegistration");
ИменСвойствПоСостояниям.Вставить("Рассмотрение", "statusConsideration");
ИменСвойствПоСостояниям.Вставить("Исполнение", "statusPerformance");
Заранее спасибо.
Да работает, из ДО заполняется только поле комментарий, статус нет, причем статус из ДО приходит "Согласован".
Статус заполняется из выражения на встроенном языке:
Если Параметры.Источник.status.name = "Согласован" Тогда
Параметры.Результат = Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.Согласована;
ИначеЕсли Параметры.Источник.status.name = "НеСогласован" Тогда
Параметры.Результат = Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.Отклонена;
ИначеЕсли Параметры.Источник.status.name = "НаСогласовании" Тогда
Параметры.Результат = Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.НеСогласована;
КонецЕсли;Добрый вечер.
Действительно странно, но условие отрабатывает. Например если записать условие "Параметры.Источник.status.name" в поле "Комментарий", то туда запишется "Согласован", "На согласовании" и т.д, если указать ТипЗнч(Параметры.Источник.status.name), то запишется "строка". То есть из ДО приходит все верно, но вот поле статус не меняется.
Добрый день, Иван!
Если Вы используете стандартные правила интеграции может использовать возвращаемое значение Результат, а не Параметры.Результат (как у Вас написано)?
Если Параметры.Источник.status.name = "Согласован" Тогда
Параметры.Результат = Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.Согласована;
ИначеЕсли Параметры.Источник.status.name = "НеСогласован" Тогда
Параметры.Результат = Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.Отклонена;
ИначеЕсли Параметры.Источник.status.name = "НаСогласовании" Тогда
Параметры.Результат = Перечисления.СтатусыЗаявокНаРасходованиеДенежныхСредств.НеСогласована;
КонецЕсли;Добрый вечер, Елена.
Если я использую Результат, а не Параметры.Результат правило не отрабатывает, при отправке инф. в ДО возникает исключительная ситуация (переменная результат не обнаружена).
При получении инф из ДО ошибки нет, но и данных нет. Версия erp 2.4.1.240, правила стандартные.
Стоит УТ 11.4.6.188 и ДО 2.1.12.2
Настроена интеграция и синхронизация.
В УТ и ДО сделаны идентичные дополнительные реквизиты статуса согласования документа.
Ожидаемая схема:
Документ в УТ -> документ в ДО -> автозапуск не типового согласования -> изменение значения статуса(доп реквизита) при движении по процессу согласования -> изменение основных реквизитов документа ДО (номер, дата начала и окончания, ответственный и т.п.), если требуется -> изменение статуса ДО в документе УТ.
Фактический резульатт:
Все реквизиты без проблем уходят в ДО и вносятся в документ ДО, но при их изменении изменений в документе УТ не происходит (((
Складывается очучение, что при обмене данные не толкаются из ДО в УТ.
Может кто подскажет как решить эту проблему?
Сейчас согласование работает через ДО.
У меня тоже заработало не сразу.
На партнерской много сообщений на этот счет.
Проверьте в ДО работу фонового задания "Формирование сообщений обмена для интегрированных систем".
Если оно отрабатывает корректно, то после изменения статуса согласования документа в ДО в РС "Сведения о сообщениях обмена с интегрированными системами" появятся записи с пустой "датой передачи клиенту".
Если так, то ДО со своей задачей справился.
Далее идем в ЕРП, Регл заданию "Интеграция с 1С:Документооборотом - Выполнить обмен данными" назначаем пользователя, под которым оно будет выполняться. Заходим в режиме предприятия и проверяем, что у этого пользователя введен его логин/пароль от документооборота.
После этого все должно заработать.
Спасибо!
Действительно после предыдущих тестов с перепубликацией, через некоторое время опять перестало работать.
Сделал по этому рецепту.
Настроил почаще выполнение РЗ, проверил пользователя обмена (он был не залогинен в ДО) теперь когда руками толкаешь "Интеграция с 1С:Документооборотом - Выполнить обмен данными" , то всё приходит куда надо, а если не толкать то какой-то период между обменами, хотя РЗ стоит на раз в 30 сек.
РС "Сведения о сообщениях обмена с интегрированными системами" действительно удобно смотреть чтобы понять ходил обмен или нет
Буду искать где ещё время прописано
Стоит УТ 11.4.6.188 и ДО 2.1.12.2
Настроена интеграция и синхронизация.
В УТ и ДО сделаны идентичные дополнительные реквизиты статуса согласования документа.
Ожидаемая схема:
Документ в УТ -> документ в ДО -> автозапуск не типового согласования -> изменение значения статуса(доп реквизита) при движении по процессу согласования -> изменение основных реквизитов документа ДО (номер, дата начала и окончания, ответственный и т.п.), если требуется -> изменение статуса ДО в документе УТ.
Фактический резульатт:
Все реквизиты без проблем уходят в ДО и вносятся в документ ДО, но при их изменении в ДО - изменений в УТ не происходит (((
Складывается очучение, что при обмене данные не толкаются из ДО в УТ.
Может кто подскажет как решить эту проблему?
Все реквизиты без проблем уходят в ДО и вносятся в документ ДО, но при их изменении в ДО - изменений в УТ не происходит (((
Складывается очучение, что при обмене данные не толкаются из ДО в УТ.
Может кто подскажет как решить эту проблему?
Смотрите, проблем на самом деле 2, а именно:
1) Сам процесс согласования строится полностью в момент старта маршрута, т.е. если допустим пользователь установил признак "Экстренная закупка", а в ДО настроено, что для этого признака из маршрута согласования должно выпасть , скажем, 5 согласующих, то при старте процесса их и не будет.
Даже если потом Вы поставите данный признак в ERP или в ДО, то процесс не перестроится, а пойдет по маршруту как он был создан при старте.
2) Изменение реквизитов, вообще в настройках интеграции, где Вы прописываете соответствия реквизитов есть признак Обновлять из ERP, обновлять из ДО (на вкладке ДО), либо не установлена галка, либо как то криво идет обмен.
В том-то и дело, что галки стоят, а результата никакого. В этом собственно и проблема!
Это повод обратиться в 1С, но одно могу сказать точно, это происходит не с типовым обменом данными, ERP генерирует событие на Web сервис ДО,
и там уже ДО должен эти изменения обработать. У нас просто запрещено изменение документа и процесса пока статус <> Согласован или Отказан
Это как минимум отлично, но проблема № "еще одна" осталась, а именно: построение маршрута согласования.... в принципе можно залезть в код и там немного исправить в том же модуле интеграции ДО и ЕРП.. на стороне ДО... т.е. если были изменения, то пробежать маршрут, если маршрут изменился с новыми значениями, старый маршрут стоп, новый старт....
Кроме того данные реквизиты в первую очередь статусы движения по процессу и на маршрут не влияют.
Хотя вы задели важный момент, который я ещё не освоил - это запрогать автоматическую смену статуса(доп реквизита) в зависимости от шага процесса.
НО это уже офтоп
Я правильно понимаю, что в любом случае пользователь должен работать в двух системах? То есть, как описано в первом случае: в ERP создали договор, в "ДО" необходимо выбрать шаблон процесса и стартовать бизнес-процесс?
Или все же, "ДО" можно использовать как фоновый движок бизнес-процессов? Например, мне необходимо согласовать изменение Заказа клиента (который в ERP), тогда я из Заказа клиента запускаю бизнес-процесс (который в ДО) и дальнейшие шаги по бизнес-процессу делаются пользователями также в ERP?
Пример: в Документе "ЗаказКлиенту" в 1С ERP вы добавили признак 100%% предоплаты (булево), по логике, если этот признак Истина, то в процесс согласования должен добавиться, скажем, коммерческий директор.
Тогда в состав внутреннего документа "Заказ" на стороне 1С Документооборот, Вы так же добавляете такой же реквизит, и настраиваете условия маршрутизации.
На стороне 1С ERP в правилах интеграции, настраиваете заполнение внутреннего документа 1С ДокОборот, из документа 1С ERP. В этих правилах Вы определяете какой реквизит из ЕРП попадет в карточку ДокОборот.
Следовательно, при создании на основании документа "ЗаказКлиенту" из ERP процесса согласование или любого другого комплексного процесса, произойдет заполнение требуемых реквизитов в 1С ДокОборот.
Это понятно, что можно настроить создание объектов в ДО по созданному объекту в ERP.
Вопрос в том, что после того как создался внутренний документ "Заказ" в ДО. Сотрудник через ERP запускает бизнес-процесс. Есть ли необходимость ему (или другим согласующим) заходить еще и в ДО и там выполнять действия, или же все участники так и продолжают работать в ERP, без запуска ДО на всем протяжении процесса?
Могу кинуть в личку скрины того как это происходит
Документооборот 8 КОРП, редакция 2.1 (2.1.10.2)
Скажите, пожалуйста, почему в ДО пользователи могут видеть только комплексные процессы, в которых являются автором или согласантом? У пользователей есть роли на работу с внутренними документам, процессами и задачами.
У нас настроена форма в интеграции, которая проверяет наличие действующих процессов и запрещает редактирование Заявок на расходование ДС, если процессы обнаружены через интеграцию.
В итоге, так как пользователь не видит процессов других, заявки стали доступны для редактирования.
При работе с 1С Документооборот и маршрутами согласования (при использовании условий маршрутизации) столкнулся с такой проблемой.
Допустим. у нас есть шаг "Экономист предприятия", который должен быть выполнен если было уже согласование "Юриста", "Бухгалтера", соответственно это роли. Допустим пользователь выбирает не роль, а именно человека, но человеку эта роль назначена, в результате чего получаем...
1) Проверяем предыдущие шаги согласования и результат, чтобы понять а нужно ли переходить к согласованию "Экономистом предприятия", для этого проверим, согласование предыдущих шагов
Юрист = Ложь;
Бухгалтер = Ложь;
Рез = Ложь;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВизыСогласования.РольИсполнителя,
| ВизыСогласования.РезультатСогласования
|ИЗ
| Справочник.ВизыСогласования КАК ВизыСогласования
|ГДЕ
| ВизыСогласования.ПомещенаВИсторию = &ПомещенаВИсторию
| И ВизыСогласования.Удалена = &Удалена
| И ВизыСогласования.Документ = &Документ";
Запрос.УстановитьПараметр("Документ", Предмет.Ссылка);
Запрос.УстановитьПараметр("ПомещенаВИсторию", Ложь);
Запрос.УстановитьПараметр("Удалена", Ложь);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если Строка (ВыборкаДетальныеЗаписи.РольИсполнителя) = "Юрист И ВыборкаДетальныеЗаписи.РезультатСогласования = Перечисления.РезультатыСогласования.Согласовано Тогда
Юрист = Истина;
КонецЕсли;
Если Строка (ВыборкаДетальныеЗаписи.РольИсполнителя) = "Бухгалтер" И ВыборкаДетальныеЗаписи.РезультатСогласования = Перечисления.РезультатыСогласования.Согласовано Тогда
Бухгалтер= Истина;
КонецЕсли;
КонецЦикла;
Если Юрист И Бухгалтер Тогда
Рез = Истина;
КонецЕсли;
Результат = Рез;
ПоказатьПо идее все хорошо, но если только в маршруте пользователь выбрал РОЛЬ, а если выбрал сотрудника, который назначен на эту роль, то условие не отработает.
Во избежание подобных ошибок, был добавлен общий модуль "РаботаСУсловиямиМаршрутизации" (Сервер). В котором прописана экспортная функция
&НаСервере
Функция ПроверитьИсполнителяНаРоль (ИсполнительДелегат, КодРоли) Экспорт
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ИсполнителиРолейИДелегаты.ИсполнительДелегат КАК ИсполнительДелегат,
| ИсполнителиРолейИДелегаты.РольПользователь КАК РольПользователь,
| ИсполнителиРолейИДелегаты.РольПользователь.Код КАК РольПользовательКод
|ИЗ
| РегистрСведений.ИсполнителиРолейИДелегаты КАК ИсполнителиРолейИДелегаты
|ГДЕ
| ИсполнителиРолейИДелегаты.ИсполнительДелегат = &ИсполнительДелегат
| И ИсполнителиРолейИДелегаты.РольПользователь.Код = &Код";
Запрос.УстановитьПараметр("ИсполнительДелегат", ИсполнительДелегат);
Запрос.УстановитьПараметр("Код", КодРоли);
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
КонецФункции
ПоказатьТеперь немного изменим наше условие маршрутизации
Юрист = Ложь;
Бухгалтер = Ложь;
Рез = Ложь;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВизыСогласования.РольИсполнителя,
| ВизыСогласования.РезультатСогласования,
| ВизыСогласования.Исполнитель
|ИЗ
| Справочник.ВизыСогласования КАК ВизыСогласования
|ГДЕ
| ВизыСогласования.ПомещенаВИсторию = &ПомещенаВИсторию
| И ВизыСогласования.Удалена = &Удалена
| И ВизыСогласования.Документ = &Документ";
Запрос.УстановитьПараметр("Документ", Предмет.Ссылка);
Запрос.УстановитьПараметр("ПомещенаВИсторию", Ложь);
Запрос.УстановитьПараметр("Удалена", Ложь);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если Строка (ВыборкаДетальныеЗаписи.РольИсполнителя) = "Юрист" И ВыборкаДетальныеЗаписи.РезультатСогласования = Перечисления.РезультатыСогласования.Согласовано Тогда
Юрист = Истина;
КонецЕсли;
Если РаботаСУсловиямиМаршрутизации.ПроверитьИсполнителяНаРоль(ВыборкаДетальныеЗаписи.Исполнитель,"00000001") И ВыборкаДетальныеЗаписи.РезультатСогласования = Перечисления.РезультатыСогласования.Согласовано Тогда
Юрист = Истина;
КонецЕсли;
Если Строка (ВыборкаДетальныеЗаписи.РольИсполнителя) = "Бухгалтер" И ВыборкаДетальныеЗаписи.РезультатСогласования = Перечисления.РезультатыСогласования.Согласовано Тогда
Бухгалтер= Истина;
КонецЕсли;
Если РаботаСУсловиямиМаршрутизации.ПроверитьИсполнителяНаРоль(ВыборкаДетальныеЗаписи.Исполнитель,"00000002") И ВыборкаДетальныеЗаписи.РезультатСогласования = Перечисления.РезультатыСогласования.Согласовано Тогда
Бухгалтер = Истина;
КонецЕсли;
КонецЦикла;
Если Юрист И Бухгалтер Тогда
Рез = Истина;
КонецЕсли;
Результат = Рез;
ПоказатьКак видно мы изменили запрос, добавив в него исполнителя, а так же передали на проверку данные.
Обращу Ваше внимание на то, что в качестве кода роли, передается код из справочника "ПолныеРоли" - это важно.
Всем заранее спасибо, и с наступающим, в качестве небольшого бонуса, прикрепляю внешнюю обработку, которая позволяет тестировать и создавать условия маршрутизации.....
Подскажите как при настройке правил интеграции, в зависимости от условия, выбрать папку сохранения документа в документообороте? Т.е. в "выражения на встроенном языке" прописать алгоритм выбора того или иного значения из документооборота?
Можно создать несколько вариантов правил для одного документа, с разными папками и тогда при нажатии кнопки "создать" будет предложено выбрать несколько вариантов правил в которых указаны разные папки. Но это не красивый и чувствую не правильный метод.
Нужно было результату присвоить не значение справочника Источника (бухгалтерии), а выбрать из справочника Документооборота и его подставить. Т.е. в документообороте во внутренних документах есть допустим 2 папки куда создаются документы. При создании нужно было автоматически выбирать нужную папку.
Позвольте несколько вопросов:
1) в случае использования «1С:Документооборот 8 ПРОФ» вместо «КОРП» единственное отличие — это невозможность настройки ограничения на сумму договора?
2) можно ли настроить БП согласования договора в ДО более сложным, чем в ERP, т.е. сделать так, чтобы некоторые этапы согласования совпадали с этапами ERP, но при этом между ними были бы ещё внутренние этапы ДО?
3) правильно ли я понимаю, что веб-сервер можно использовать любой, аналогично всё будет работать и на IIS?
Заранее спасибо за ответ!
Да, именно для этого и создан 1С ДО, т.к. там можно как угодно усложнить процесс согласования
Совершенно верно, мы и на IIS работали, но потом все-таки перешли на апач, к стати сейчас переходим на апач х64, и на платформу 8,3,13, вроде бы как, это даст заметный прирост производительности.
НО! Мы пошли немного по другому (пришлось) , а именно:
Сделали некий промежуточный документ - Проект договора в 1С ERP, на него навешали кучу контролей заполнения, добавили все требуемые договорным управлением реквизиты итд. И уже этот документ интегрировали в 1С ДО, и именно он у нас идет на согласование, а уже после того как проект согласован, то из него можно уже создать договор (с контрагентом, кредитов, лизинга, займа )
Такой подход позволил нам не плодить мусора в справочниках договоров, и получить всю требуемую отчетность не изменяя типовые документы. Т.е. есть некий регистр сведений, в котором хранятся связи между проектом договора и самим договором,следовательно формирую отчеты (которые требуют договорники) мы всегда имеем доступ к проекту договора, и следовательно ко всем его реквизитам. Ну и соотвественно еще допили периодику статуса договора, а то в типовых решениях этого нет. Т.е. статус - это факт (Действует или Закрыт) , а часто надо так... Количество действующих договоров за месяц. Следовательно тут без периодики не обойтись. Пишите, если что, отвечу
сотрудники создавали карточку именно "Договора с контрагентом" в 1С ERP, и настраивали связь.
Скорее всего в понедельник будет писанине нашей работы ну и бонусом еще работа с документацией
Возможно, я еще не всё увидел. Только сегодня начал разбираться с функционалом.
- печать листа согласования предусмотрена только в ДО (да, но легко дорабатывается)
- работа с версиями вложенных файлов (К сожалению да, т.к. данные по прикрепленным к договорам файлам, хранятся в справочнике (на пример) ДоговорыКонтрагентовПрисоединенныеФайлы, данный справочник не умеет работать с версиями)
- Если по договорам вести учет доп.соглашений как отдельных документов (требующих отдельного согласования), а не как файлов, то опять же добро пожаловать в интерфейс ДО (опять совершенно верно).
Автопролонгация - это вообще чудо, т.к. в 1С ERP срок действия договора, статус договора - это не периодические данные, следовательно, если Вы заходите посмотреть количество действующих договоров за период, то по статусу Вы этого не получите. Т.е. может быть так: Период действия договора 2019 год, статус - Закрыт, и Вы хотите его получить как действовал в течении года, если просто запрос к статусу то этого договора не будет.
Работа в 2х системах одновременно (ERP и Интерфейс ДО, т.е. непосредственно Документооборот) тоже ни чего хорошего не принесет.
Вывод один - доработка системы. При этом можно частично пересмотреть БП предприятия, немного подстроив их под функционал программы.
В принципе все что Вы описали можно сделать, если есть понимание что конкретно нужно. Сам ДО очень хорошо масштабируем в плане функционала, если будет необходимость обсудить варианты реализации, пишите (лучше в личные сообщения)
Если стоит задача автоматизировать документооборот организации (компании), то две программы (базы, конфигурации) однозначно.
Если документооборот нужен только как "движок" для процессов, то можно и "скрыть" ДО. Но моё личное мнение, что тогда уж лучше использовать альтернативный софт (Битрикс, Elma, Bizagi и т.д.).
Покупать, ставить, настраивать интеграцию, поддерживать 1С:Документооборот только в качестве "движка" для согласования фин.заявок и договоров из ERP это всё-равно что летать на самолёте в соседнюю деревню. Можно, конечно, но дорого же...Да и неудобно, если уж честно. Я перепробовал много чего (разные программы), реализация процессов (согласование, утверждение, исполненение) от 1С при интеграции ERP и ДО для пользователя, пожалуй, самое сложное решение.
Лично я остановился именно на связке 1С:ERP -1С:Документооборот, поскольку нам нужен именно "самолёт". (Хотя может и нам не нужен, может просто люблю летать...)
// Получаем Уникальный идентификатор интегрированного объекта
ID = Строка(Объект.Ссылка.УникальныйИдентификатор());
//На стороне 1С ДО в расширение добавляем новый Web Сервис
//Отправляем данные в 1С ДО (детали чуть ниже будут
Данные = ПолучитьДанныеС1СДокументооборот (уид);
//1С ДО Формирует печать листа согласования и возвращает двоичные данные сформированного MXL листа
//ERP получает данные
ИмяФайла = ПолучитьИмяВременногоФайла("mxl");
Данные.Записать(ИмяФайла);
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ИмяФайла);
Возврат ТабДок;
Показать
&НаСервере
Функция
ПолучитьДанныеС1СДокументооборот(уид)
АдресДО = Константы.АдресВебСервиса1СДокументооборот.Получить();
АдресСервиса = "ws/approvalsheet.1cws?wsdl";
АдресWDSL = АдресДО + АдресСервиса;
ИмяПользователя = ПараметрыСеанса.ИнтеграцияС1СДокументооборотИмяПользователя;
ПарольПользователя = ПараметрыСеанса.ИнтеграцияС1СДокументооборотПароль;
Попытка
WSПрокси = ОбщегоНазначения.WSПрокси(АдресWDSL,"ПростарнствоИмен","ИмяСервиса","ИмяТочкиПодключения",ИмяПользователя,ПарольПользователя);
Исключение
Сообщить ("Не удалось подключиться к 1С Документооборот");
Возврат Неопределено;
КонецПопытки;
ДвоичныеДанные = WSПрокси.get_sheet(уид);
Возврат ДвоичныеДанные;
КонецФункции
ПоказатьНа стороне 1С ДО Web сервис принимает строковый параметр ИД находит объект, формирует лист согласования и возвращает двоичные данные.
Функция get_sheet(уид)
ДанныеДляПечати = Новый Структура ("уид);
ОбъектДО = ВерутьВнутреннийДокументПоУИД (уид);
ЛистСогласования = ПечатьЛистаСогласованияИзДокумента(ОбъектДО,,Истина,ДанныеДляПечати);
Возврат ЛистСогласования;
КонецФункции
Функция ВерутьВнутреннийДокументПоУИД (уид)
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СвязиОбъектовИнтегрированныхСистем.СсылкаНаОбъектДО
|ИЗ
| РегистрСведений.СвязиОбъектовИнтегрированныхСистем КАК СвязиОбъектовИнтегрированныхСистем
|ГДЕ
| СвязиОбъектовИнтегрированныхСистем.ИДВнешнегоОбъекта = &ИДВнешнегоОбъекта";
Запрос.УстановитьПараметр("ИДВнешнегоОбъекта", уид);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Возврат ВыборкаДетальныеЗаписи.СсылкаНаОбъектДО;
КонецЦикла;
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
КонецФункции
Функция ПечатьЛистаСогласованияИзДокумента(МассивОбъектов, ОбъектыПечати = Неопределено, История = Ложь, СтруктураЗполнения)
ОбъектыПечати = Новый СписокЗначений;
// Создаем табличный документ и устанавливаем имя параметров печати
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = "ПараметрыПечати_ЛистСогласования";
Если История = Истина Тогда
Макет = ПолучитьОбщийМакет("ПФ_MXL_ЛистСогласованияСИсторией");
Иначе
Макет = УправлениеПечатью.МакетПечатнойФормы("БизнесПроцесс.Согласование.ПФ_MXL_ЛистСогласования");
КонецЕсли;
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьИсполнителиШапка = Макет.ПолучитьОбласть("ИсполнителиШапка");
ОбластьИсполнители = Макет.ПолучитьОбласть("Исполнители");
Если История Тогда
ОбластьЗаголовокИстории = Макет.ПолучитьОбласть("ЗаголовокИстории");
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ВизыСогласования.Документ КАК Ссылка,
| ВизыСогласования.Исполнитель,
| ВизыСогласования.РольИсполнителя.Владелец КАК РольИсполнителя,
| ВизыСогласования.РольИсполнителя.ОсновнойОбъектАдресации КАК ОсновнойОбъектАдресации,
| ВизыСогласования.РольИсполнителя.ДополнительныйОбъектАдресации КАК ДополнительныйОбъектАдресации,
| ВизыСогласования.РезультатСогласования КАК РезультатСогласования,
| ВизыСогласования.ДатаИсполнения КАК ДатаИсполнения,
| СведенияОПользователяхДокументооборот.Должность.Представление КАК Должность,
| ВизыСогласования.Комментарий КАК РезультатВыполнения,
| ВизыСогласования.Источник,
| ВизыСогласования.ПомещенаВИсторию,
| ВизыСогласования.ДатаПомещенияВИсторию,
| ВизыСогласования.Порядок
|ИЗ
| Справочник.ВизыСогласования КАК ВизыСогласования
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОПользователяхДокументооборот КАК СведенияОПользователяхДокументооборот
| ПО ВизыСогласования.Исполнитель = СведенияОПользователяхДокументооборот.Пользователь
|ГДЕ
| ВизыСогласования.Документ В(&МассивОбъектов)
| И НЕ ВизыСогласования.ПометкаУдаления
| И НЕ ВизыСогласования.Удалена";
Если Не История Тогда
Запрос.Текст = Запрос.Текст + "
|И Не ВизыСогласования.ПомещенаВИсторию";
КонецЕсли;
Запрос.Текст = Запрос.Текст + "
|УПОРЯДОЧИТЬ ПО
| ПомещенаВИсторию,
| ДатаПомещенияВИсторию УБЫВ
|ИТОГИ ПО
| Ссылка ";
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
Результат = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
ПервыйДокумент = Истина;
Для Каждого СтрокаСсылка Из Результат.Строки Цикл
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
// Запомним номер строки с которой начали выводить текущий документ
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
ТабличныйДокумент.Вывести(ОбластьЗаголовок);
Предмет = СтрокаСсылка.Ссылка;
Если ЗначениеЗаполнено(Предмет) Тогда
ОбластьШапка.Параметры.Предмет = Предмет.Метаданные().ПредставлениеОбъекта
+ " """ + Строка(Предмет) + """";
Если История Тогда
РеквизитыПредмета = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Предмет,
"Подготовил, Ответственный");
Если ЗначениеЗаполнено(РеквизитыПредмета.Ответственный) Тогда
ОбластьШапка.Параметры.Ответственный =
СтрШаблон(НСтр("ru = 'Ответственный: %1'"), РеквизитыПредмета.Ответственный);
Иначе
ОбластьШапка.Параметры.Ответственный =
СтрШаблон(НСтр("ru = 'Ответственный: %1'"), РеквизитыПредмета.Подготовил);
КонецЕсли;
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьШапка);
КонецЕсли;
Если История Тогда
ТаблицаСроков = СтрокаСсылка.Строки;
ДатаПомещенияВИсторию = Дата(1,1,1);
ПериодИРезультат = ОпределитьПериодИРезультатЦиклаВизы(ТаблицаСроков, ДатаПомещенияВИсторию);
ОбластьИсполнителиШапка.Параметры.Период = ПериодИРезультат.Период;
ОбластьИсполнителиШапка.Параметры.РезультатСогласования = ПериодИРезультат.РезультатСогласования;
ТабличныйДокумент.Вывести(ОбластьИсполнителиШапка);
Для Каждого СтрокаИсполнитель Из СтрокаСсылка.Строки Цикл
Если ДатаПомещенияВИсторию <> СтрокаИсполнитель.ДатаПомещенияВИсторию Тогда
Если Не ЗначениеЗаполнено(ДатаПомещенияВИсторию) Тогда
ТабличныйДокумент.Вывести(ОбластьЗаголовокИстории);
КонецЕсли;
ДатаПомещенияВИсторию = СтрокаИсполнитель.ДатаПомещенияВИсторию;
ПериодИРезультат = ОпределитьПериодИРезультатЦиклаВизы(ТаблицаСроков, ДатаПомещенияВИсторию);
ОбластьИсполнителиШапка.Параметры.Период = ПериодИРезультат.Период;
ОбластьИсполнителиШапка.Параметры.РезультатСогласования = ПериодИРезультат.РезультатСогласования;
ТабличныйДокумент.Вывести(ОбластьИсполнителиШапка);
КонецЕсли;
ОбластьИсполнители.Параметры.Заполнить(СтрокаИсполнитель);
ТабличныйДокумент.Вывести(ОбластьИсполнители);
КонецЦикла;
Иначе
ТабличныйДокумент.Вывести(ОбластьИсполнителиШапка);
Для Каждого СтрокаИсполнитель Из СтрокаСсылка.Строки Цикл
ОбластьИсполнители.Параметры.Заполнить(СтрокаИсполнитель);
Если ЗначениеЗаполнено(СтрокаИсполнитель.Исполнитель) Тогда
ОбластьИсполнители.Параметры.Исполнитель = СтрокаИсполнитель.Исполнитель;
Если ЗначениеЗаполнено(СтрокаИсполнитель.РольИсполнителя) Тогда
ОтборСтрок = Новый Структура("Исполнитель", СтрокаИсполнитель.Исполнитель);
НайденныеСтроки = СтрокаСсылка.Строки.НайтиСтроки(ОтборСтрок);
Если НайденныеСтроки.Количество() > 1 Тогда // есть одинаковые исполнители
ОбластьИсполнители.Параметры.Должность = СтрокаИсполнитель.РольИсполнителя;
КонецЕсли;
КонецЕсли;
Иначе
ОбластьИсполнители.Параметры.Исполнитель = СтрокаИсполнитель.РольИсполнителя;
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьИсполнители);
КонецЦикла;
КонецЕсли;
// В табличном документе зададим имя области в которую был
// выведен объект. Нужно для возможности печати по-комплектно.
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент,
НомерСтрокиНачало, ОбъектыПечати, СтрокаСсылка.Ссылка);
КонецЦикла;
ИмяФ = ПолучитьИмяВременногоФайла("mxl");
ТабличныйДокумент.Записать(ИмяФ,ТипФайлаТабличногоДокумента.MXL);
ДД = Новый ДвоичныеДанные (ИмяФ);
Возврат ДД;
// Возврат ТабличныйДокумент;
КонецФункции
ПоказатьВот собственно и все, как видите все можно сделать, в том числе и распечатать лист согласования на стороне 1С ERP
Попробовал сделать вебсервис, 1С просит указать пространство имен.
В примере не хватает процедуры, взять можно в общих модулях.
РаботаСВизамиСогласования.ОпределитьПериодИРезультатЦиклаВизы(ТаблицаСроков, ДатаПомещенияВИсторию).
Подскажите кто делал, как правильно сделать вебсервис, как назвать? Код размещать в модуле вебсервиса?
На основание одного договора необходимо создать несколько документов.
Например первый документ это сам договор, а остальные доп соглашения. Но это НЕ отдельный договор.
Есть регистр сведений "Объекты, интегрированные с 1С:Документооборотом" в котором возможно для одного объекта сделать несколько ссылок УИДов, но в любом случае он берет только первый попавшиеся
Подскажите есть ли простое решение для реализации задачи открывать объект интегрированной системы в 1С ДО
1. Работая через интерфейс бесшовной интеграции "начальная страница" - "задачи мне" в целевой системе получаю задачу из ДО по объекту этой системы. Необходимо иметь возможность открыть не только карточку документа ДО, а именно объект системы (документ) являющийся источником документа и задачи в ДО?
2. Все тоже самое, но работая в интерфейсе ДО иметь ссылку в документе и задаче нажав на которую будет открываться система источник и этот документ?
Подскажите какие права у пользователя в ДО должны быть
При попытке отправить документ из ERP от имени простого пользователя ругается на права доступа, под админом все работает
В ДО пользователь легко создает документы такого типа
настроили интеграцию, но обнаружили несколько проблем
1. создаем в ERP договор, добавляем к нему файл и запускаем бизнес-процесс на согласование. задача приходит согласующему, но вложенного файла там нет. права полные у этого юзера.
2. в 1с:документообороте мы согласуем бизнес-процесс через визы согласования с помощью электронных подписей, то есть если у человека нет ЭЦП, он не правильно ввел пароль или не вставил токен, то согласовать нельзя. в ERP же согласуется минуя визы согласования. такое ощущение что ERP не понимает что это такое. что с этим можно сделать?
спасибо
интеграция Библиотеки ДО в БП 3.0
подскажите, кто сталкивался, выражение на встроенном языке в случае, если в БП "организация" должна встать в "контрагент" в ДО.
при этом синхрона по справочникам нет необходимости делать
необходим поиск по ИНН
Есть проблема передачи статусов из ДО в ЕРП.
Например при формировании пакета получает сначала измененные объекты из плана обмена, формируется сообщение, затем идет очистка изменений в плане обмена, и если в этот промежуток было зарегистрировано изменение, то оно пропадает при очистки изменений и в новый пакет не попадает.
Сталкивался ли кто-нибудь с этим, есть ли решение?
По умолчанию запрос из ДО не возвращает ити предметы.
Не могли бы Вы подсказать (возможно, это тема для отдельной статьи), как исправить возникающие ошибки?
В частности, в момент настройки подключения к ДО (указан URL, ввожу имя пользователя в ДО и пароль) выдаётся ошибка
{ОбщийМодуль.ИнтеграцияС1СДокументооборотВызовСервера.Модуль(720)}: Ошибка при вызове конструктора (WSОпределения)
Определения = Новый WSОпределения(МестоположениеWSDL + "ws/dm.1cws?wsdl",
по причине:
При создании описания сервиса произошла ошибка. URL сервиса: http: //localhost/DO_test1_33t/ru_RU/ws/dm.1cws?wsdl
Код ответа сервера: 404
{ОбщийМодуль.ИнтеграцияС1СДокументооборотВызовСервера.Модуль(734)}: Ошибка при вызове конструктора (WSОпределения)
Определения = Новый WSОпределения(МестоположениеWSDL + "ws/DMService?wsdl",
по причине:
При создании описания сервиса произошла ошибка. URL сервиса: http:// localhost/DO_test1_33t/ru_RU/ws/DMService?wsdl
Код ответа сервера: 404 ПоказатьПопробовала изменить localhost на 128.0.0.1 - ошибка в том же месте, но с текстом "Ошибка работы с Интернет: Превышено время ожидания"
База ДО опубликована на IIS, через браузер открывается. Я не администрирую сервер, пробовать "методом тыка" не могу. Можно ли по этому сообщению понять, что должен сделать администратор? (Или это я что-то не так делаю?)
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 541608
Создание 09.08.16 09:30
Обновление 09.08.16 09:30
Просмотры 123685
Загрузки 0
Рейтинг
132
Комментарии 99
Код открыт Да
Рубрики Перенос данных 1C
Кому
Системный администратор
,
Разработчик
Тип файла Нет файла
Платформа 1С:Предприятие 8
Конфигурация
1С:Документооборот
,
1С:ERP Управление предприятием 2
Операционная система Не имеет значения
Страна Не имеет значения
Отрасль ИТ-компания
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)



