Инструкция SA1C

Термины
“Настройка обмена” – параметры необходимые для выполнения обмена с одной БД (путь к базе, код узла, данные аутентификации и т.п.)

Принцип работы SA1C

Программа работает по принципу клиент-сервер.
Клиент соединяется с сервером по указанному порту и выполняет последовательность действий для настройки обмена.
Имя настройки обмена на сервере и на клиенте должно совпадать.
Пример:
Есть центральная БД (код узла “ЦБ”) и периферийная на магазине (код узла “МАГ”).
Запускаем программу на сервере и прописываем настройку с именем “Магазин”.
В качестве “Узел обмена” указываем “МАГ”.
Запускаем программу на магазине и прописываем настройку с тем же именем “Магазин”, но в качестве “Узел обмена” указываем “ЦБ”.
Запускаем “сервер” программы на сервере (если он не запущен).
Теперь пользователи на магазине смогут делать обмены самостоятельно запустив “клиента” программы и инициализировав обмен.

Основное окно программы

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

Добавление настройки

Для добавления настройки необходимо выбрать действие “Добавить настройку”.
В рабочей области откроется панель, в корой необходимо указать БД 1с.
В верхней части указаны БД, прописанные на данном компьютере в 1с.
Если БД присутствует в списке, то необходимо выделить ее и нажать “Далее”.
Откроется панель с настройками БД, в которой будет прописана строка соединения и определена версия 1С:
Если выбрать пункт “Настройка параметров вручную” то откроется незаполненная панель настройки обмена.

Настройка обмена 

На панели настройки обмена необходимо указать следующие параметры:
1. “Название настройки”. Любое название, по которому будет осуществятся идентификация настройки на сервере. ВАЖНО: Название настройки обмена должно быть одинаковым на сервере и на клиенте.
2. “Адресс сервера (IP)” и “порт”. IP-адресс и компьютера на котором установлен сервер “SA1C” и порт выбранный для связи с сервером (по умолчанию порт 8001, меняется в файле HostApplication.exe.config)
3. “Строка соединения”. Строка соединения прописанная по правилам 1с8. Можно прописать вручную либо воспользоваться мастером:
Выбираем тип базы и жмем “Далее”.
Если тип “На данном компьютере или в локальной сети” то необходимо прописать путь к базе вручную либо выбрать БД и указать файл 1Cv8.1CD в папке с базой.

Если тип “На сервере 1С:Предприятия” то необходимо указать адрес сервера и название БД.

4. “Пользователь”. Имя пользователя для входа в БД 1с. ВАЖНО: У пользователя должны быть полные права.
5. “Пароль”. Пароль пользователя на вход в 1с
6. “Версия 1С:”
7. “План обмена:”. Название плана обмена из БД 1с. Можно как указать вручную так и выбрать из списка нажав “…” (перед выбором из списка должны быть заполнены строка соединения, пользователь и пароль)
8. “Узел обмена”. Название или код узла обмена, с которым будет осуществляться обмен. Можно выбрать из списка нажав “…” (предварительно должен быть указан план обмена)
9. “Это центральная база”. Признак определяющий последовательность обмена.

10. “Выполнять выгрузку” – выполнять выгрузку из локальной БД.
11. “Выполнять загрузку” – выполнять загрузку в локальную БД.
Можно делать только выгрузку или только загрузку.

Если указано “Это центральная база” то последовательность следующая:
-выгрузка из локальной БД
-загрузка в БД на сервере
-выгрузка из БД на сервере
-загрузка в локальную базу
Иначе:
выгрузка из БД на сервере
-загрузка в локальную базу
-выгрузка из локальной БД

-загрузка в БД на сервере

Настройка обмена по правилам (Универсальный обмен XML)

Механизм обмена по правилам использует обработку “УниверсальныйОбменДаннымиXML”. Данная обработка должна обязательно быть в конфигурации БД (во всех стандартных конфигурациях она есть).
Для включения обмена по правилам вам нужно просто указать файл с правилами обмена (данный файл создается в конфигурации “Конвертация Данных”):
Для отключения – просто очистите строку.
Правила должны быть указанны как на клиенте, так и на сервере. (иначе у вас при загрузке данных выдаст ошибку о неверном формате сообщения)

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

Параметры загрузки обмена через правила:
1. Данные загружаются в транзакциях по 10 объектов
2. Данные загружаются в режиме обмена данными (ОбменДанными.Загрузка = Истина)
3. В БД записываются только измененные объекты
4. Объекты по ссылке загружаются без пометки удаления
5. Используется оптимизированная запись объектов
6. Регистры записываются наборами записей 

Результат обмена записывается в txt файл: %TEMP% \ SA1C \ {In}|{Out} \Protokol_{название настройки}.txt


Настройка расписания

Планировщик заданий использует библиотеку Quatz.net. (http://quartznet.sourceforge.net/tutorial/lesson_6.html)
Расписание задается выражением вида:
[секунды] [минуты] [часы] [день месяца] [месяц] [день недели]
Вместо цифр можно использовать:
* – любое значение
? – должно стоять  вместо дня месяца или дня недели
х/у – указывает приращение времени “у” начиная с “х”. Например 0/15 в поле минуты означает каждые 15 минут начиная с 0-вой минуты, т.е. 0,15,30,45,60 и т.д. . 10/15 – каждые 15 минут начиная с 10 минуты, т.е. 25,40,55 и т.д.
Планировщик работает как в приложении-сервере, так и в сервере-службе. Проверка расписания происходит каждые 30 минут или при перезапуске сервера. Т.е. если вы изменили расписание и не перезапустили сервер, то оно начнет действовать только через 30 минут.

Выполнение обмена

Для запуска обмена из интерфейса пользователя необходимо нажать кнопку начала обмена:

Запуск из командной строки: 

Base1CGUI.exe /setting:<название настройки>

После запуска обмена откроется панель отображающая ход процесса:

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

Примечание: действие “Прервать” полностью закрывает программу.

Настройки программы

“Оповещение об ошибках” – отправлять письмо об ошибках, возникших при обмене.
“Оповещение об успешном выполнении обмена” – отправлять письмо о прохождении обмена
“Отключать пользователей  для обновления конфигурации” – Безусловное отключение пользователей без предупреждения. Работает только в SQL версии.
“Обновлять конфигурацию динамически, если возможно” – Программа попытается обновить конфигурацию динамически. Если не удастся, то буде выполнено обычное обновление (с отключением пользователей)
“Проверять обновление ПО при загрузке” – проверят наличие новой версии SA1C на сайте

Отключение пользователей

Имеется 4 режима отключения пользователей для автообновления конфигурации:
1. None – Не отключать пользователей
2. Kill – Безусловное отключение средствами сервера 1С. (работает только в клиент-серверном варианте). При данном выборе пользователи отключается без задержек.
3. StandartParam – Вызов функции глобального модуля “ЗавершитьРаботуПользователей” (“РазрешитьРаботуПользователей”
) и паролем блокировки “ПакетноеОбновлениеКонфигурацииИБ”. Данная процедура штатная для стандартных конфигураций. При данном выборе на отключение пользователей дается 10 секунд.
4. UserProc – Вызов самописной процедуры глобального модуля “ОтключитьПользователей” (“ВключитьПользователей”

). Пример . При данном выборе на отключение пользователей дается 100 секунд.

Настройка почты

Здесь необходимо указать настройки почты, если вы хотите получать рассылку о прохождении обменов

Настройка сервера

Здесь указываются настройки серверной части


“Протокол” – net.tcp или http (Рекомендуется net.tcp). Влияет на клиентскую часть.
“Базовый IP” – адрес базового адреса для сервера (рекомендуется localhost или 127.0.0.1). Необходим например для сервера находящегося за NAT по отношению к клиенту.
“Порт” – порт сервера на котором ожидаются подключения