|
Подскажите с автоматическим обновлением | ☑ | ||
---|---|---|---|---|
0
Rumpil
21.10.11
✎
14:39
|
Добрый день. Есть обработка с двумя полями - "каталог сообщений обмена" и "узел, с которым обмениваемся" и две кнопки у обработки - "выгрузить данные" и "загрузить данные". Этой обработкой пользуются для обмена - цель ее - чтобы в периферийке при чтении файла с изменениями обновление конфигурации происходило автоматически без участия пользователя.
Однако при чтении файла с изменениями в периферийки данные и центрального офиса считываются, но обновление конфигурации не происходит и не считывается. Вот код, в чем может быть причина ? Каталог = КаталогОбменаИнформацией; // Сформировать имя файла ИмяФайла = Каталог + ?(Прав(Каталог, 1) = "\","", "\") + "Message" + СокрЛП(КонтрУзел.Код) + "_" + СокрЛП(ПланыОбмена.Полный.ЭтотУзел().Код) + ".xml"; Файл = Новый Файл(ИмяФайла); Если Не Файл.Существует() Тогда Сообщить("Файл не существует!"); Возврат; КонецЕсли; Попытка //*** Чтение документов XML // Попытаться открыть файл ЧтениеXML = Новый ЧтениеXML; Попытка ЧтениеXML.ОткрытьФайл(ИмяФайла); Исключение Сообщить("Невозможно открыть файл обмена данными."); Возврат; КонецПопытки; Сообщить("------- Загрузка из " + Строка(ЭтотОбъект) + "-------"); Сообщить(" - Считывается файл " + ИмяФайла); // Загрузить из найденного файла //*** Инфраструктура сообщений ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения(); //читать заголовок сообщения обмена данными - файла XML ЧтениеСообщения.НачатьЧтение(ЧтениеXML); // Сообщение предназначено не для этого узла Если ЧтениеСообщения.Отправитель <> КонтрУзел Тогда ВызватьИсключение "Неверный узел"; КонецЕсли; // Удаляем регистрацию изменений // для узла отправителя сообщения //*** служба регистрации изменений [420] ПланыОбмена.УдалитьРегистрациюИзменений( ЧтениеСообщения.Отправитель, ЧтениеСообщения.НомерПринятого); // Читаем данные из сообщения //*** XML-сериалшация Пока ВозможностьЧтенияXML(ЧтениеXML) Цикл // Читаем очередное значение Данные = ПрочитатьXML(ЧтениеXML); // Не переносим изменение полученное в главный из неглавного // если есть регистрация изменения Если Не ЧтениеСообщения.Отправитель.Код = "001" И ПланыОбмена.ИзменениеЗарегистрировано(ЧтениеСообщения.Отправитель, Данные) Тогда Сообщить("- Изменения отклонены"); Продолжить; КонецЕсли; // Записать полученные данные Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель; Данные.ОбменДанными.Загрузка = Истина; Данные.Записать(); КонецЦикла; ЧтениеСообщения.ЗакончитьЧтение(); ЧтениеXML.Закрыть(); УдалитьФайлы(ИмяФайла); Исключение СтрОписания="Обновление может быть выполнено в режиме Конфигуратор."; Если Прав(ОписаниеОшибки(),СтрДлина(СтрОписания))=СтрОписания Тогда ОбновитьКонфигурацию(); // процедура обновления конфигурации Иначе Сообщить(ОписаниеОшибки()); КонецЕсли; КонецПопытки; Сообщить("------------ Конец загрузки ------------"); |
|||
1
Rumpil
21.10.11
✎
14:41
|
Конфа БИТ МСФО если что
|
|||
2
Rumpil
21.10.11
✎
14:41
|
но обмен происходит по самописным справочникам и документам
|
|||
3
Segate
21.10.11
✎
14:50
|
А что в плане обмена вообще есть? посмотри состав плана обмена твоего... должно быть вроде как включено все.
|
|||
4
Rumpil
21.10.11
✎
14:54
|
(3) Включено все, план обмен полный, единственное что понаставили фильтров по филиалам - чтобы в филиал выгружалась инфа только по данному филиалу и все. Хочу сказать если использовать стандартную схему обмена - обновление происходит конфы, но надо жать кнопокчки - Обновить, открывать конфигуратор и все такое в ручном режиме, а я пытаюсь это дело автоматизировать. Че то не катит пока
|
|||
5
hhhh
21.10.11
✎
14:58
|
(4) может в монопольный режим не получается войти.
|
|||
6
Rumpil
21.10.11
✎
15:01
|
(5) а как бы это проверить ?
|
|||
7
Rumpil
21.10.11
✎
15:18
|
(5) а как можно в монопольный режим входить кодом, че то не въеду
|
|||
8
FIXXXL
21.10.11
✎
15:30
|
СП:
Попытка УстановитьМонопольныйРежим(Истина); Исключение Текст = "ru = ""С информационной базой работают другие пользователи. |В данный момент невозможно установить монопольный режим!""; |en = ""Other users are working with infobase. |It is impossible to set the Exclusive mode at the moment!"""; Предупреждение(НСтр(Текст), 10); КонецПопытки; |
|||
9
Rumpil
21.10.11
✎
16:02
|
(8) не помогло
|
|||
10
Rumpil
21.10.11
✎
16:12
|
все вроде происхоит в монопольном режиме, но конфа не хочет обновляться и все тут
|
|||
11
Rumpil
21.10.11
✎
16:16
|
Ага, выяснилось что дело не доходит до скрипта даже, то есть он даже не стал обновлять конфу, т.к. не получил информации об изменении
|
|||
12
FIXXXL
22.10.11
✎
16:31
|
(9) перед этим пользователей выгнать бы ;)
батник думаю сам найдешь |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |