Имя: Пароль:
1C
 
Пакетный запуск 1С для выполнения обмена РИБ
0 zzerro
 
29.12.09
13:55
Всех с наступающим Новым годом!
Помогите настроить пакетный запуск 1С. Исходные данные: Файловая 1С 8.1, Бухгалтерия предприятия 1.6.20.6, подчиненный узел РИБ.
Хочу настроиь пакетный запуск 1Ски, ночью, чтоб выполнялся обмен с головным узлом РИБ (точнее только загрузка данных из головного узла).

Обмен РИБ настроен через типовые настройки, при запуске ИБ под пользователем ОбменДанными_Загрузка

Вот только не знаю как поведет себя система если с сообщением придет обновление конфигурации и как сделать так, что бы:
1. Прочитал файл обновления
2. Обновил конфигурацию
3. Дочитал файл обновления и обновил данные

С помошью обработки с инфостарта навоял следующее, но этого явно не хватит...

@SET Program=C:\Program Files\1cv81\bin\1cv8.exe
@SET ConnectString1=/F "F:\1C_V81_Base\Узел_РИБ"
@SET User1="ОбменДанными_Загрузка"
@SET Password1="654"
@echo =======  НАЧАЛО ВЫПОЛНЕНИЯ СЦЕНАРИЯ  =======
@echo =======  Проверить существование файла =======
@if exist "F:\1C_V81_Base\Узел_РИБ\1Cv8tmp.1CD" (
   goto 2
) else (
   goto 1
)
@echo ====================================
:1
@echo =======  Выгрузка информационной базы =======
"%Program%" DESIGNER /DisableStartupMessages %ConnectString1% /N %User1% /P %Password1% /DumpIB "F:\Test\Архив.dt"
@echo ====================================
:2
@echo =======  Проверить существование файла =======
@if exist "Z:\V8\Test\Message_001_002.zip" (
   goto 3
) else (
   goto 4
)
@echo ====================================
:3
@echo =======  Запуск внешней обработки =======
"%Program%" ENTERPRISE /DisableStartupMessages %ConnectString1% /N %User1% /P %Password1% /Execute  "F:\Мои Обработки\ЗавершитьРаботуСистемы.epf"
@echo ====================================
@echo =======  Обновление конфигурации БД =======
"%Program%" DESIGNER /DisableStartupMessages %ConnectString1% /N %User1% /P %Password1% /UpdateDBCfg
@echo ====================================
:4
1 zzerro
 
29.12.09
15:38
без вариантов?
2 fisher
 
29.12.09
16:19
Я делал так:
1) сам обмен идёт через регламентные задания 1С
2) в задании после загрузки обменки проверяется, изменилась ли конфа. Если конфа изменилась и левых сеансов к БД нет, генерится и запускается vbs-скрипт который запускает конфигуратор в режиме обновления конфы (само задание к этому времени успевает завершится но для надёжности в начале скрипта небольшую задержку вставил).
3) данные догружаются при очередном обмене в штатном режиме
3 fisher
 
29.12.09
16:29
В типовых, кстати, штатно есть ночное обновление конфы с автовыгоном юзверей. Я по аналогии с ним и делал.
4 zzerro
 
29.12.09
17:28
Блин, что то я не понимаю как отрабатывает штатный механизм обмена в БП в файловом режиме...
Что он делает если изменилась конфигурация в подчиненном узле???
5 zzerro
 
29.12.09
17:37
Вроде есть процедуры для перезапуска сеанса при изменении конфы, но как они отрабатывают так и не понимаю
6 zzerro
 
30.12.09
10:09
У меня такое ощущение что весь форум пересел на OFF темы...
7 Vitello
 
30.12.09
10:12
(4)Что? Как может измениться конфигурация в подчиненном узле?
8 Vitello
 
30.12.09
10:15
(0)
1. Грузишь первый раз. По расписанию
2. Настраиваешь автообновление конфигурации сервис\служебные\настройка регламентого обновления
3. Догружаешь второй раз. Насколько я помню оно догружается при первом запуске предприятия после обновления конфы - посмотри при начале работы системы, уточни.
9 Patrio_
O_Muerte
 
30.12.09
10:25
Конфигурация в подчиненном узле закрыта для изменений - все изменения производятся в центре и уже затем мигрируют в периферийные базы.
(6)Не тебе одному так кажется...
10 zzerro
 
30.12.09
14:41
На сколько я понял автообновление работает только в серверном варианте работы, а у меня файловый
11 zzerro
 
30.12.09
15:13
А если сделать батник и там написать следующий сценарий:
1. Выполнение обмена
2. Обновление конфигурации БД
3. Выполнение обмена
12 Vitello
 
30.12.09
15:46
(11)Напиши, в чем проблема то, в конфе почти все готовое есть.
13 zzerro
 
20.01.10
11:32
(12) В общем написал батник и сделал так:
1. Проверка блокировки базы
- Если база заблокирована (существует файл 1Cv8tmp.1CD), тогда выход, иначе выполняем пункт 2
2. Выгрузка информационной базы (создание архивной копии)
3. Проверка наличия обновлений
- Если есть файл обновлений (Message_001_002.zip), тогда загружаем данные (пункт 4), иначе выход
4. Загрузка данных из главного узла
5. Проверка корректности загрузки
  - Если файл обновлений все еще существует (скорее всего были обновления ИБ),
    тогда обновим конфигурацию базы данных, совершим повторную загрузку и затем выгрузку данных (пункты 6 и 7)
  - Иначе (файла нет), значит загрузка прошла успешно, проведем выгрузку данных (пункт 8)
6. Обновление конфигурации БД
7. Дозагрузка данных и выгрузка ответа
8. Выгрузка данных

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