Приложение SiebelWebservice1c
Версия для печати
svn://www.infoprog.com.ua/infoprog/siebelwebservice1c
Разделы
Авторы:
- Стасюк Артем
- Стасюк Марина
Схема работы
Приложение состоит из двух частей:
- Веб-приложение - обеспечивает работу веб-сервисов и транслирует вызовы из Siebel в 1С и наоборот;
-
Набор дополнительных методов для конфгурации 1С - обеспечивает получение данных из 1С для
веб-приложения и модификацию их.
Приложение работает с:
- Сущность - логический законченный набор данных, например customer
- Событие - код, дата, тип сущности для которого
оно произошло и ее уникальный идентификатор в 1С, код ошибки обработки события
Все вызовы из Siebel в 1С проходят через веб-приложение и попадают в 1С сразу в понятном для нее формате, то-есть
на стадии веб-приложения выполняется преобразование. Вызовы же из 1С в Siebel не попадают в него мгновенно, а
работают следующим методом: при возникновении измененний данных в 1С, дополнительные методы 1С
перехватывают их и сохраняют информацию об этом в специальной таблицы другой базы данных (Journal.TemporaryTableSQL)
каждая строка таблицы это событие, на этом ее работа завершается. Каждый некоторый период времени веб-приложение выбирает события из TemporaryTableSQL
и основываясь на них вызывает Siebel.
Алгоритмы работы
- Создание или измененние данных в 1С
-
- 1C создает добавляет в TemporaryTableSQL строку описывающиее событие;
- Веб-приложение выбирает строку из TemporaryTableSQL;
-
Веб-приложение получает из 1С объект который добавился или изменился, для этого используется
функция 1С ReturnEntity() В эту функцию передаются 2 параметра: IDEntity и Entity,
где IDEntity – идентификатор сущности, а Entity – название сущности. В зависимости от
значения параметра Entity вызываются следующие функции:
- ReturnCustomer() – возвращает таблицу, содержащую данные о клиенте;
- ReturnProduct() – возвращает таблицу, содержащую данные о продукте;
- ReturnOwner() – возвращает таблицу, содержащую данные о сотруднике;
- ReturnOperator() – возвращает таблицу, содержащую данные о операторе;
- ReturnStorage() – возвращает таблицу, содержащую данные о складе;
- ReturnPaymant() – возвращает таблицу, содержащую данные о платеже или платежах;
- ReturnOrder() – возвращает таблицу, содержащую данные о шапке документов заказ;
- ReturnProductOrder() – возвращает таблицу, содержащую данные о табличной части заказа.
-
После возврата данных веб-сервису происходит вызов методов addEntityXXX/changeEntityXXX соответсвующей
сущности Siebel (на текущий момент их несколько: customer, order, product, owner);
- Если передача был успешной, то от Siebel вызывает метод веб-сервисов ok();
- Веб-сервис вызывает процедуру 1С DeleteEvent(). Эта процедура удаляет событие с заданным
идентификатором из временной таблицы.
- В противном случаи Siebel вызывает метод веб-сервисов error() куда передает текст ошибки;
- Веб-сервис вызывает процедуру 1С ChangeEvent(). Эта процедура устанавливает в событие текст ошибки.
- Удаление данных из 1С
-
- 1C создает добавляет в TemporaryTableSQL строку описывающиее событие;
- Веб-приложение выбирает строку из TemporaryTableSQL;
- Веб-приложение вызывает метод удаления соответсвующей сущности Siebel вызывая метод deleteEntityXXX();
- Если передача был успешной, то от Siebel вызывает метод веб-сервисов ok();
- Веб-сервис вызывает процедуру 1С DeleteEvent();
- В противном случаи Siebel вызывает метод веб-сервисов error() куда передает текст ошибки;
- Веб-сервис вызывает процедуру 1С ChangeEvent().
- Создание данных в Siebel
-
- Siebel вызывает соответсвующий метод веб-сервисов ServiceXXX.add();
- Веб-приложение сохраняет вызов в очереди и отдает управление Siebel;
-
Очередь выбирает очередной вызов и вызывает
CreateNewEntity() с параметрами Entity и EntityData, где Entity – название сущности, а
EntityData – список значений данных о сущности. Эта функция возвращает идентификатор объекта.
В зависимости от значения параметра Entity будут вызваны следующие функции:
- CreateNewCustomer() – создает новый элемент справочника КлиентыФиз и возвращает его идентификатор;
- CreateNewProduct() – создает новый элемент справочника ТМЦ и возвращает его идентификатор;
- CreateNewOwners() – создает новый элемент справочника Сотрудники возвращает его идентификатор;
- CreateNewOrder() – создает новый документ заказ и возвращает его идентификатор;
- AddProductToOrder() – эта процедура добавляет продукты в табличную часть документа заказ.
- В случаи успешного выполненния очередь вызывает метод Siebel deleteRecord() и передает уникальный код объекта в 1С;
- В случаи неудачного выполненния очередь вызывает метод Siebel changeRecord() и передает текст ошибки;
- Измененние данных в Siebel
-
- Siebel вызывает соответсвующий метод веб-сервисов ServiceXXX.change();
- Веб-приложение сохраняет вызов в очереди и отдает управление Siebel;
-
Очередь выбирает очередной вызов и вызывает
Если из Siebel приходит событие «Change», то веб-сервис вызывает функцию 1C ChangeEntity() с
параметрами Entity и EntityData, где Entity – название сущности, а EntityData – список значений
данных о сущности. Эта функция возвращает результат успешна ли была операция. В зависимости
от значения параметра Entity будут вызваны следующие функции:
- ChangeNewCustomer() – находит элемент справочника КлиентыФиз по заданному идентификатору и замещает все его данные;
- ChangeNewProduct() – находит элемент справочника ТМЦ по заданному идентификатору и замещает все его данные;
- ChangeNewOwners() – находит элемент справочника Сотрудники по заданному идентификатору и замещает все его данные;
- ChangeNewOrder() – находит документ заказ по заданному идентификатору и замещает все его данные;
- AddProductToOrder() – эта процедура добавляет продукты в табличную часть документа заказ.
- В случаи успешного выполненния очередь вызывает метод Siebel deleteRecord();
- В случаи неудачного выполненния очередь вызывает метод Siebel changeRecord() и передает текст ошибки;
- Удаление данных в Siebel
-
- Siebel вызывает соответсвующий метод веб-сервисов ServiceXXX.delete();
- Веб-приложение сохраняет вызов в очереди и отдает управление Siebel;
-
Очередь выбирает очередной вызов и вызывает функцию 1C DeleteEntity() с параметрами Entity и
EntityData, где Entity – название сущности, а EntityData – список значений данных о сущности.
Эта функция удаляет элемент с заданным идентификатором;
- В случаи успешного выполненния очередь вызывает метод Siebel deleteRecord();
- В случаи неудачного выполненния очередь вызывает метод Siebel changeRecord() и передает текст ошибки;
Описание веб-приложение
Файл настроек
Образец, скачать можно
siebelwebservice1c.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<config>
<path1c>C:/marina/bd96~1/11253~1/1csiebel/1C_centr</path1c>
<login1c>test</login1c>
<password1c>1</password1c>
<monopoly>false</monopoly>
<complexStringDelimiter>\|</complexStringDelimiter>
<productCountParseDelimiter>\\|</productCountParseDelimiter>
<pop1cEventsPeriod>10000</pop1cEventsPeriod>
<pop1cEventsCount>20</pop1cEventsCount>
<productCountBuildDelimiter>|</productCountBuildDelimiter>
<orderProductParseDelimiter>\\|</orderProductParseDelimiter>
<orderProductBuildDelimiter>|</orderProductBuildDelimiter>
<paymentBuildDelimiter>|</paymentBuildDelimiter>
</config>
Описание файла настроек:
- boolean monopoly - по умолчанию false, если взведен приложение подключается к 1С в монопольном
режиме
- String login1c - имя пользователя в 1С
- String password1c - пароль пользователя в 1С (стоит отметить что в практическом применении
подходят любые пароли, но без _, иначе 1С не принимает такой пароль в автоматическом варианте);
- String path1c - путь к 1С базе, следует указывать только с латинскими символами, в случаи
наличия в пути папок с отличными от латиницы символами используйте специальные имена в
Windows их можно посмотреть используя команду dir /x;
- long pop1cEventsPeriod - по умолчанию 10 минут, период через который программа начинает
очередной этап получения событий из 1С и отправки их в Siebel;
- String productCountParseDelimiter - по умолчанию \\|, реально |, специальный символ используемый
для разделения данных остатков продуктов при получении их из Siebel;
- String productCountBuildDelimiter - по умолчанию |, используется для построения строки по
остаткам продуктов при отправки их в Siebel;
- String orderProductParseDelimiter - по умолчанию \\|, в реале |, используется для разбора
строки продуктов при получении их из Siebel;
- String orderProductBuildDelimiter - по умолчанию |, используется для построения строки списка
продуктов при отправки в Siebel;
-
String paymentBuildDelimiter - по умолчанию |, используется при построения строки оплат
при отправки в Siebel;
-
int pop1cEventsCount - по умолчанию 20, количество событий которое
выбирается каждый раз для отправки обработки, в это число входят все события в таблице TemporaryTableSQL,
поэтому если таблица содержит часть ошибочных событий они будут уменьшать это число.
Схема
Общая схема приложения:
Указанные следующие модули:
- Services - набор классов таких как (ua.com.infoprog.siebelwebservice1c.service.ServiceCustomer). Отвечают за получение запросов со стороны приложения Siebel конвертации параметров во внутренне представление приложения, формирования запроса и передачу его на выполнения модулю TaskExecutor. Стоит отметить что Services не ждет завершения выполнения созданного запроса в TaskExecutor, а возвращает управление в Siebel сразу после передачи запроса в TaskExecutor.
- TaskExecutor - (ua.com.infoprog. siebelwebservice1c.service.TaskExecutor) принимает запросы от Services и выполняет их асинхронно от него. Запрос для TaskExecutor это часть кода которая может выполнять вызовы Provider и Client.
- Provider - (ua.com.infoprog.siebelwebservice1c.provider.Provider) этот модуль обеспечивает непосредственную работу с 1C приложение. Содержит множество методов которые работают с 1C. Стоит отметить что в текущей реализации он однопоточный и поддерживает соединение с 1С на протяжении всей работы приложения (а именно работы Tomcat).
- Cron - (ua.com.infoprog.siebelwebservice1c.cron.Cron) это таймер шаг его работы задается в файле настроек программы свойством pop1cEventsPeriod указанным в миллисекундах, по умолчанию имеет значение 10 минут. В каждый момент срабатывания выполняет выборку событий начиная с самого старого через Provider в размере pop1cEventsCount указанного в файле настроек, после чего последовательно отправляет их через Client.
- Client - (ua.com.infoprog.siebelwebservice1c.client.Client) специальный модуль скрывающий реализацию обмена данными с приложение Siebel. Многопоточный. Содержит набор методов согласно wsdl в приложении Siebel, но принимающий внутренне представление данных.
Сервисы
Со стороны приложения Siebel существуют такие веб-сервисы:
- SiebelWebService1c
- successful - асинхронный, удаляет из таблицы событий одно заданное по номеру
- error - асинхронный, добавляет к событию текст ошибки переданный в качестве параметра
- SiebelWebService1cCustomer - после выполнения методов в этом сервисе в случаи успеха приложение отправляет
подтверждение на приложение Siebel или ошибку в противном случаи
- add - асинхронный, создает нового клиента в 1С, в месте с вызовом в Siebel отправляет уникальный
идентификатор нового объекта в 1С
- delete - асинхронный, удаляет клиента
- change - изменяет данные клиента
- ServiceOrder - после выполнения методов кроме getOrderItems в этом сервисе в случаи успеха приложение отправляет
подтверждение на приложение Siebel или ошибку в противном случаи
- process
- removeReserv
- reject
- add - асинхронный, создает новой заказ в 1С, в месте с вызовом в Siebel отправляет уникальный
идентификатор нового объекта в 1С
- change - изменяет данные заказа
- getOrderItems - возвращает список товаров связанных с этим заказом асинхронным вызовом
- SiebelWebService1cProduct - после выполнения методов в этом сервисе в случаи успеха приложение отправляет
подтверждение на приложение Siebel или ошибку в противном случаи
- add - асинхронный, создает новый продукт в 1С, в месте с вызовом в Siebel отправляет уникальный
идентификатор нового объекта в 1С
- delete - асинхронный, удаляет продукт
- change - изменяет данные продукта
- SiebelWebService1cProductStorage
- getProductsCount - асинхронным вызовом возвращает список остатков по заданным товарам в определенном
складе
- ServiceStorage
- start - асинхронным вызовом возвращает список складов
Описание конфигурация 1С
Перехват измененний данных в 1С
Все измененния данных в 1С описаных ниже сохраняются в виде событий в специальную таблицу
TemporaryTableSQL отдельной базы данных Journal. Событие это строка этой таблицы
которая содержит следующие данные: тип события, тип сущности, код сущности, код события, дата
В следующих справочниках на соответствующих таблицах базы данных 1С работают по 2 триггера: первый -
на изменение и удаление строки таблицы, второй – создание строки таблицы.
| Имя справочника |
Таблица в базе данных 1с |
| КлиентыФиз | SC74 |
| ТМЦ | SC555 |
| Сотрудники | SC1345 |
| Операторы | SC659 |
| Склады | SC737 |
Триггеры отлавливают создание, изменение и удаление данных не зависимо от того, программное это изменение или
изменение пользователями, в т.ч. изменениями данных по УРБД или через OLE-объекты.
Тригерры на основе данных изменений создают записи событий в таблицы TemporaryTableSQL базы данных Journal.
Для перехвата проведения документов, а также перепроведения в процедуре ОбработкаПроведения() модуля документа
добавлен вызов процедуры глИзменение(). Процедура глИзменение() делает запись в таблицу
TemporaryTableSQL базы данных Journal. В случае проведения документа в таблице TemporaryTableSQL будет
создано событие с полем "Operation" = "add". В случае перепроведения документа поле "Operation" = "change".
Описание процедур и функций глобального модуля 1С
- SynchronizeData1C() – эта функция возвращает в веб-сервис временную таблицу.
- ReturnEntity(IDEntity, Entity) – эта функция возвращает в веб-сервис данные об измененной сущности. В зависимости от значения параметра Entity вызываются вспомогательные функции, которые выполняют поиск сущности и ее возврат.
- ReturnCustomer(ГУИД) – эта функция возвращает таблицу, содержащую данные о клиенте. Поиск клиента осуществляется с помощью прямого запроса к таблице $Справочник.КлиентыФиз базы данных sql, где ID = ГУИД, где ГУИД – идентификатор объекта. Если такой клиент не найден, то возвращается пустая таблица.
- ReturnProduct() – эта функция возвращает таблицу, содержащую данные о продукте. Поиск продукта осуществляется с помощью прямого запроса к таблице $Справочник.ТМЦ базы данных sql, где ID = ГУИД, где ГУИД – идентификатор объекта. Если такой продукт не найден, то возвращается пустая таблица.
- ReturnOwner() – эта функция возвращает таблицу, содержащую данные о сотруднике. Поиск продукта осуществляется с помощью прямого запроса к таблице $Справочник.Сотрудники базы данных sql, где ID = ГУИД, где ГУИД – идентификатор объекта. Если такой сотрудник не найден, то возвращается пустая таблица.
- ReturnOperator() – эта функция возвращает таблицу, содержащую данные об операторе. Поиск оператора осуществляется с помощью прямого запроса к таблице $Справочник.Операторы базы данных sql, где ID = ГУИД, где ГУИД – идентификатор объекта. Если такой оператор не найден, то возвращается пустая таблица.
- ReturnStorage() – эта функция возвращает таблицу, содержащую данные о складе. Поиск склада осуществляется с помощью прямого запроса к таблице $Справочник.Склады базы данных sql, где ID = ГУИД, где ГУИД – идентификатор объекта. Если такой склад не найден, то возвращается пустая таблица.
- ReturnPaymant() – эта функция возвращает таблицу, содержащую данные об оплате или отправке заказа документов (табличной части или шапки) ОплатаЗаказаКурьер, ОплатаЗаказаРегион, ОтправкаЗаказаКурьер, РасходнаяНакладная, ОплатаПочтаНаложка, БанковскаяВыписка, ОплатаПочтаПредоплата, ОплатаКредитки, РеестрЭкспресс, РеестрПочтаНаложенный, РеестрПочтаПредоплата. Поиск такого документа осуществляется прямым запросом к таблице _1SJourn базы данных sql. Если такой документ найден, то выполняется прямой запрос к таблице, соответствующей виду документа, где IDDOC = ГУИД. Таким образом, получаем данные о документе, записываем их в результирующую таблицу и возвращаем таблицу.
- ReturnOrder() – функция возвращает таблицу, содержащую данные о документах ЗаказПочтаПредоплата, ЗаказПочтаНаложенный, ЗаказКурьер, ЗаказПочтаПредоплатаКредит, ЗаказКурьерРегион, ЗаказЭкспресс, ТоварныйЧек. Поиск такого документа осуществляется прямым запросом к таблице _1SJourn базы данных sql. Если такой документ найден, то выполняется прямой запрос к таблице, соответствующей виду документа, где IDDOC = ГУИД. Таким образом, получаем данные о документе, записываем их в результирующую таблицу и возвращаем таблицу.
- ReturnProductOrder() – функция возвращает таблицу, содержащую данные о табличной части документов, описанных выше. Поиск такого документа осуществляется прямым запросом к таблице _1SJourn базы данных sql. Если такой документ найден, то выполняется прямой запрос к таблице, соответствующей виду документа, где IDDOC = ГУИД. Таким образом, получаем данные о документе, записываем их в результирующую таблицу и возвращаем таблицу.
- CreateNewCustomer() – создает новый элемент справочника КлиентыФиз и возвращает его идентификатор, идентификатор объекта получаем с помощью функций ПолучитьИД_Вариант1() и ПолучитьИД_Базы().
- CreateNewProduct() – создает новый элемент справочника ТМЦ и возвращает его идентификатор, идентификатор объекта получаем с помощью функций ПолучитьИД_Вариант1() и ПолучитьИД_Базы().
- CreateNewOwners() – создает новый элемент справочника Сотрудники возвращает его идентификатор, идентификатор объекта получаем с помощью функций ПолучитьИД_Вариант1() и ПолучитьИД_Базы().
- CreateNewOrder() – создает новый документ заказ и возвращает его идентификатор. , идентификатор объекта получаем с помощью функций ПолучитьИД_Вариант1() и ПолучитьИД_Базы(). Вид документа определяем, исходя из полей «Доставка» и «Оплата»
- AddProductToOrder() – эта процедура добавляет продукты в табличную часть документа заказ. Поиск заказа осуществляется прямым запросом к таблице _1SJourn базы данных sql. Если такой документ найден, то выполняется прямой запрос к таблице, соответствующей виду документа, где IDDOC = ГУИД. После этого позиционируемся на такой документ, созданный с помощью функции «СоздатьОбъект» - это нам позволяет сохранять данные, добавленные в документ.
- ChangeNewCustomer() – находит элемент справочника КлиентыФиз по заданному идентификатору и замещает все его данные. Поиск клиента осуществляется с помощью прямого запроса к таблице $Справочник.КлиентыФиз базы данных sql, где ID = ГУИД, где ГУИД – идентификатор объекта. Далее позиционируемся на объект, созданный с помощью функции «Создать объект» и замещаем все данные о клиенте.
- ChangeNewProduct() – находит элемент справочника ТМЦ по заданному идентификатору и замещает все его данные. Поиск продукта осуществляется с помощью прямого запроса к таблице $Справочник.ТМЦ базы данных sql, где ID = ГУИД, где ГУИД – идентификатор объекта. Далее позиционируемся на объект, созданный с помощью функции «Создать объект» и замещаем все данные о продукте.
- ChangeNewOwners() – находит элемент справочника Сотрудники по заданному идентификатору и замещает все его данные. Поиск сотрудника осуществляется с помощью прямого запроса к таблице $Справочник.Сотрудники базы данных sql, где ID = ГУИД, где ГУИД – идентификатор объекта. Далее позиционируемся на объект, созданный с помощью функции «Создать объект» и замещаем все данные о сотруднике.
- ChangeNewOrder() – находит документ заказ по заданному идентификатору и замещает все его данные. Поиск такого документа осуществляется прямым запросом к таблице _1SJourn базы данных sql. Если такой документ найден, то выполняется прямой запрос к таблице, соответствующей виду документа, где IDDOC = ГУИД. Далее позиционируемся на объект, созданный с помощью функции «Создать объект» и замещаем все данные о табличной части заказа.
- глИзменение() – осуществляет запись в таблицу TemporaryTableSQL при проведении или перепроведении документов сущностей «Заказ» или «Платежи». Перечень этих документов описан выше.
- ProcessOrder(ГУИД) – функция находит заказ с помощью прямого запроса к таблице _1SJourn базы данных sql. Если такой документ найден, то выполняется прямой запрос к таблице, соответствующей виду документа, где IDDOC = ГУИД. Далее позиционируемся на объект, созданный с помощью функции «Создать объект» и проводим этот заказ.
- RemoveReserve(GUID) – функция находит заказ с помощью прямого запроса к таблице _1SJourn базы данных sql. Если такой документ найден, то выполняется прямой запрос к таблице, соответствующей виду документа, где IDDOC = ГУИД. Далее позиционируемся на объект, созданный с помощью функции «Создать объект» и помечаем его на удаление.
- RejectOrder(GUID) – функция находит заказ с помощью прямого запроса к таблице _1SJourn базы данных sql. Если такой документ найден, то выполняется прямой запрос к таблице, соответствующей виду документа, где IDDOC = ГУИД. Далее создаем соответствующий документ «Отказ». Данные для документа берем из документа заказ.
- ПолучитьИД_Вариант1(Объект) – с помощью функции ЗначениеВСтрокуВнутр() получаем системное представление идентификатора объекта (для справочника – это ID, для документа – это IDDOC). Затем преобразуем его в строку – получаем первые 6 символов идентификатора объекта.
- ПолучитьИД_Базы(Объект) – последние 3 символа идентификатора объекта – это идентификатор распределенной ИБ, в которой создан объект. Если объект создан в ИБ, в которой нет распределенных баз, то последние три символа « ». Эта функция получает код ИБ, в которой создан объект.
Все прямые запросы написаны с помощью компоненты 1С++. Эта компонента у заказчика была уже установлена. Установка этой компоненты подразумевает наличие файла 1cpp.dll в каталоге 1cv77\BIN.
Процедура установки веб-приложения:
- Проверить что на этой машине установлена 1С 7.7 Предприятие SQL версия, релиз 24 и выше.
-
Установить JRE версии 6 и выше
http://java.sun.com/javase/downloads/index.jsp
Папку для установки JRE при запросе инсталятора Вы можете оставить по умолчанию или поменять на свое
усмотрение.
-
Установить Tomcat версии 6 и выше
http://tomcat.apache.org/download-60.cgi
При выборе компонентов которые необходимо установить, обязательно выберете Install service,
остальное по желанию. Папку для установки Tomcat при запросе инсталятора Вы можете оставить по
умолчанию или поменять на свое усмотрение. Порт на котором будет работать приложение нужно
обязательно указать 8080, пароль и логин пользователя можно оставить по умолчанию, в системе они
не используются. В конце установки откажитесь от запуска службы немедленно.
- В папке {установленный Tomcat}/webapps все удалить
-
Скачать скомпилированную версию веб-приложения
siebelwebservice1c.rar
- Извлечь данные из архива в папку {установленный Tomcat}/webapps/ROOT
-
Скачать образец файла настроек
siebelwebservice1c.xml в
папку {установленный Tomcat}/webapps
- Заполнить файл настроек как пожелаете.
-
Запустить службу Apache Tomcat 6
для этого можно использовать команды cmd: net start/stop "Apache Tomcat 6"
Процедура установки части 1С:
- На конфигурации клиента уже установлены все необходимые изменения, менять конфигурацию клиента не нужно
-
Необходимо проверить наличие пользователя Siebel_User. Для этого заходим в 1С в режиме конфигуратора,
выбираем меню Администрирование->Пользователи. Если такого пользователя нет, то в окошке пользователей
нажимаем кнопку "новый" на панели инструментов, заполняем имя пользователя, права, интерфейс и выбираем
рабочий каталог. После этого нажимаем кнопку "пароль" на панели инструментов и дважды вводим пароль
Siebel_User.
-
Не выходя из режима конфигуратора открываем конфигурацию (меню Конфигурация -> Открыть конфигурацию).
Далее открываем глобальный модуль (меню Действия -> Глобальный модуль) и переходим к процедуре
ПриНачалеРаботыСистемы(). Необходимо изменить параметры подключения к базе данных Journal, они заданы
с помощью переменной СтрокаКоннекта.
- После этого заходим в 1С в режиме 1С:Предприятие и проверяем наличие нашего пользователя в справочнике
"Сотрудники". Для этого выбираем меню Операции -> Справочники и находим справочник "Сотрудники (они же МОЛ)".
Если сотрудника с таким именем нет - его необходимо создать
-
Если в ходе установки части 1С была изменена конфигурация - необходимо выполнить обмен данными с
перифирийными базами.
- Далее необходимо создать триггеры на таблицы. Для этого запускается любая база 1С в режиме 1С:Предриятие
(кроме центральной), из нее открывается файл
Триггеры.ert
и нажимается кнопка "Сформировать"
Проверка работоспособности
-
Откройте браузер и введите
http://localhost:8080/services/SiebelWebService1cProduct
если вы установили Tomcat на другую машину укажите ее вместо localhost. Если Вы видите описание
веб сервисов системы, значит Tomcat настроен и работает правильно.
-
Запустите 1С и попробуйте зайти под пользователем указанным в настройках веб-приложения, вы
должны успешно зайти без каких либо предупреждений или ошибок не монопольно, это значит что
1С настроена и работает правильно.
-
Для проверки наличия триггеров необходимо удостовериться, что в каждой из описанных выше таблиц SQL
установлены по 2 триггера.
-
Откройте папку 1С\bin и удостовертесь что там есть файл 1cpp.dll