![]() |
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум | ![]() |
![]() |
Лисоводы всех стран, объединяйтесь !!! |
Проверка легальности | |||
---|---|---|---|
PaulWist Автор Сообщений: 13211 |
1cv8.1
Есть : - Центральная БД - Периферия В центральной БД обновили сборку (или счета-фактуры с диска ИТС), отослали в адрес периферии. В периферия при приёме вылетает модальное окно "Проверка легальности получения обновления" в котором надо выставить радиокнопку и пару раз нажать на кнопку, после чего периферия обновляется нормально. Вопрос, как можно отключить вывод этого окна, дело в том, что периферия обновляется в консольном режиме и некому нажать кнопку. PS в принципе можно погасить окно через SendMessage() или Wshel, но думаю это не совсем правильно - это лечение следствия, а не причины. ------------------ Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
||
Re: Проверка легальности | |||
---|---|---|---|
Foxtrot Сообщений: 3401 Откуда: Куда: |
так ведь если кода нету, то и думать не о чем
или я опять что-то пропустил? ------------------ P.S. будете проходить мимо, не стесняйтесь, проходите ![]() |
||
Re: Проверка легальности | |||
---|---|---|---|
PaulWist Автор Сообщений: 13211 |
Можно весь топик прочитать www.sql.ru
------------------ Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
||
Re: Проверка легальности | |||
---|---|---|---|
piva Сообщений: 18546 Откуда: Курган |
Паша - перерыл всю конфу - такого не нашел если бы увидел убил бы сразу
![]() ------------------ Часто бывает так, что есть над чем задуматься, а нечем. ![]() |
||
Re: Проверка легальности | |||
---|---|---|---|
PaulWist Автор Сообщений: 13211 |
Во опять "вынырнула", Вадим поступил бы так же ![]() [attachment 8630 Ëåã.jpg] ------------------ Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
||
Re: Проверка легальности | |||
---|---|---|---|
PaulWist Автор Сообщений: 13211 |
Вадим, продолжаю здесь, вернее поднимаю топик.
Ты с такой бякой сталкивался при УРБД. ------------------ Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
||
Re: Проверка легальности | |||
---|---|---|---|
piva Сообщений: 18546 Откуда: Курган |
Нет - у нас полностью перепиленная УТ - бухию обновляет другой программер, хотя он всегда накатывает "Сравнить и объединить" что бы видеть что слетит из его заплаток. А про легальность, спрошу, но чета не видел и не слышал. Во всяком случае в моей конфе такого нету, да и выкинул я половину конфы за ненадобностью
![]() ------------------ Часто бывает так, что есть над чем задуматься, а нечем. ![]() |
||
Re: Проверка легальности | |||
---|---|---|---|
PaulWist Автор Сообщений: 13211 |
А-а-а, эта зараза вылетает на стандартной конфе.
Слушай, а ты для УРБД используешь ПланыОбмена или же как то по другому "извернулся"? ------------------ Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
||
Re: Проверка легальности | |||
---|---|---|---|
piva Сообщений: 18546 Откуда: Курган |
У меня схема такая - есть центральная база - из которой идет обмен, тоже через ПланыОбмена - написан он по своему, типа такого
ХМЛ = Новый ЗаписьXML(); //--- Начало --- СообщениеОбмена("---------- Выгрузка в филиал " + Строка(ЭтотОбъект) + " ----------"); СообщениеОбмена("В файл: """ + ФайлВыгрузки + """"); ХМЛ.ОткрытьФайл(ФайлВыгрузки); ХМЛ.ЗаписатьОбъявлениеXML(); Сообщение = ПланыОбмена.СоздатьЗаписьСообщения(); Сообщение.НачатьЗапись(ХМЛ, Ссылка); номерСообщРеал = Сообщение.НомерСообщения; СообщениеОбмена("Номер сообщения: " + номерСообщРеал); //--- Середина --- Выборка = ПланыОбмена.ВыбратьИзменения(Сообщение.Получатель, Сообщение.НомерСообщения); сч = 0; счПроп = 0; Пока Выборка.Следующий() Цикл Данные = Выборка.Получить(); Если ВыгружатьОбъект(Данные) Тогда ЗаписатьXML(ХМЛ, Данные); сч = сч + 1; Иначе счПроп = счПроп + 1; КонецЕсли; // флагВыгр СТ_Состояние("Выгрузка объектов "+сч); Если Не Константы.Филиал.Получить()=Перечисления.Филиалы.Курган Тогда // Для Не Филиалов - удаляем всю инфу об изменении ПланыОбмена.УдалитьРегистрациюИзменений(Ссылка,Данные); КонецЕсли; #Если Клиент Тогда ОбработкаПрерыванияПользователя(); #КонецЕсли КонецЦикла; // выборкаИзмен.Следующий() //--- Конец --- Сообщение.ЗакончитьЗапись(); ХМЛ.Закрыть(); // ПланыОбмена.УдалитьРегистрациюИзменений(Ссылка, номерСообщРеал); СообщениеОбмена("Выгружено " + сч + " / Пропущено " + счПроп + " объектов"); СообщениеОбмена("---------- Выгрузка окончена ----------"); Просто это брал практически как и было написано до меня, не было времени на переписывание, за исключением вставки ВыгружатьОбъект(Данные) Это выгрузка из центральной базы на Главные сервера филиалов, там процедура загрузки, я из этого активно использовал РегистрациюИзменений, что бы, даже если пакет пропадет - то выгрузка идет повторно пока не получит подтверждения от сервера филиала, а уже Главный сервер каждого филиала обмениватемся по УРБД с серверами филиалов. Так что достаточно накатить изменения на все Главные сервера и на филиалах у меня уже будет новая конфа, без моего вмешательства, если конечно там неи изменений структуры. ------------------ Часто бывает так, что есть над чем задуматься, а нечем. ![]() |
||
Re: Проверка легальности | |||
---|---|---|---|
PaulWist Автор Сообщений: 13211 |
Вот это поясни, что значит "нет изменений структуры", а если есть, то как выходишь из положения? ------------------ Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
||
Re: Проверка легальности | |||
---|---|---|---|
piva Сообщений: 18546 Откуда: Курган |
Если есть - то лезу уже сам на удаленный сервер филиала, по удаленному столу, звоню туда что бы разбегались все кто не спрятался, и сам давлю кнопку "Обновить конфигурацию" в конфигураторе. Хотя как понимаю щас можно это сделать и автоматом, тем более "разгон" народа с блокировкой соединения может и автомат взводить, только кое-где файловая база, и тут эта фишка не проходит, хотя можно решить и это, когда совсем лениво будет - можно и это сделать - работы -ну максимум на день. А проверка легальности - это или ОбщаяФорма или Обработка, можно всковырнуть и обойти, как мне кажется, хотя не видел, так что врать не буду.
------------------ Часто бывает так, что есть над чем задуматься, а нечем. ![]() |
||
Re: Проверка легальности | |||
---|---|---|---|
PaulWist Автор Сообщений: 13211 |
У меня это происходит "автоматом", НО у этого "автомата" есть обратная сторона: первое - это легальность, будь она не ладна (правда происходит при изменении релиза). второе - с какого-то релиза при изменении конфы ПланОбмена не мудрствуя лукаво начинает сливать ВСЮ базу данных и конфу (как буд-то создаётся первоначальный образ БД) в один xml, те файл получается "мама не горюй" ![]() У тебя такой эффект наблюдался? ------------------ Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
||
Re: Проверка легальности | |||
---|---|---|---|
piva Сообщений: 18546 Откуда: Курган |
Нет - потому что весь обмен написан МНОЙ или взят и разобран на запчасти тоже МНОЙ поэтому я понимаю - что, куда, как и почему. А то что написали студенты в конфе - мне абсолютно по-барабану. Им обплеух от начальства за это не получать ![]() ------------------ Часто бывает так, что есть над чем задуматься, а нечем. ![]() |
||
Re: Проверка легальности | |||
---|---|---|---|
PaulWist Автор Сообщений: 13211 |
Я использовал стандартные ф-ии
ЗаписьXML.ОткрытьФайл(ИмяФайлаСообщения); ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения(); ЗаписьСообщения.НачатьЗапись(ЗаписьXML,Узел); ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения); ЗаписьСообщения.ЗакончитьЗапись(); ЗаписьXML.Закрыть(); в принципе у тебя тоже самое, только одно НО, ты в xml кладешь только данные, метаданные обновляются "руками" (у меня слишком много конф, что бы руками их править), теперь понятно, почему не налетал на такие грабли ![]() ------------------ Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
||
Re: Проверка легальности | |||
---|---|---|---|
piva Сообщений: 18546 Откуда: Курган |
в УРБД именно так и написано
![]() Только мне нужно было на удаленном узле при получении некоторых документов сделать повторную перепроводку, так вот, эта строка ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения(); Таит в себе некоторые неявные вещи, на которые налетаешь уже в процессе работы или тестирования, если повезет ![]() ------------------ Часто бывает так, что есть над чем задуматься, а нечем. ![]() |
||
Re: Проверка легальности | |||
---|---|---|---|
PaulWist Автор Сообщений: 13211 |
Открой секрет тайного знания, что за подводные камни?
------------------ Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
||
Re: Проверка легальности | |||
---|---|---|---|
piva Сообщений: 18546 Откуда: Курган |
Дык секрета нету - все видно из названия - СоздатьЗаписьСообщения()
Вот и создается НОВЫЙ экземпляр объекта, который, гад не хватает переменные модуля - вот и пришлось изголятся через самые глобальные переменные, что бы список документов определенного типа туда занести, ну там еще попутно надо убирать ОбменДанными.Запись, но это уже мелочи ![]() ------------------ Часто бывает так, что есть над чем задуматься, а нечем. ![]() |
||
Re: Проверка легальности | |||
---|---|---|---|
PaulWist Автор Сообщений: 13211 |
Кстати, Вадим, попробуй на тестовой конфе филиала, что произойдёт если ты в центре изменишь конфу, а в филиале нет и попробуешь накатить ПланОбмена.
------------------ Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
||
Re: Проверка легальности | |||
---|---|---|---|
piva Сообщений: 18546 Откуда: Курган |
Если изменить конфу на главном узле (сервере) при УРБД обмене, при этом если не будет изменения структуры - то конфа на удаленном узле изменится САМА после обмена, потому что у меня идет перезапуск 1С в режиме конфигуратора, с попыткой изменения конфигурации.
Если ПланыОбмена.ГлавныйУзел() <> Неопределено Тогда // Только на узле УРБД // попытка обновить базу Строка=СтрокаСоединенияИнформационнойБазы(); Строка=СтрЗаменить(Строка,";",""); Если Найти(Строка,"File=")>0 Тогда Строка=СтрЗаменить(Строка,"File=","/F"); Иначе Строка=СтрЗаменить(Строка,"""",""); Строка=СтрЗаменить(Строка,"Ref=","\"); Строка=СтрЗаменить(Строка,"Srvr=","/S"); КонецЕсли; Команда=""""+КаталогПрограммы()+"1cv8.exe"" CONFIG "+Строка+" /N... /P... /DisableStartupMessages /UpdateDBCfg"; Сообщить("Попытка выполнения динамического обновления ..."); Shell=Новый COMОбъект("Wscript.Shell"); Object=Shell.Exec(Команда); Пока Object.Status=0 Цикл // Грузим проц... КОнецЦикла; Если Object.ExitCode=0 Тогда // Перезапуск проги с параметром ЗавершитьРаботуСистемы(Ложь,Истина,"/CURBD"); Иначе Сообщить("Необходимо выполнить обновление в режиме конфигуратора вручную",СтатусСообщения.Информация); КонецЕсли; КонецЕсли; Если ты имеешь ввиду изменение конфы центральной базы, то она никак не связана с филиальной, потому что идет передача ТОЛЬКО данных. Так я откатываю конфу в центральной базе, после того как все поехало и одобрено всеми - изменяю конфы на филиалах. ------------------ Часто бывает так, что есть над чем задуматься, а нечем. ![]() |
||
Re: Проверка легальности | |||
---|---|---|---|
PaulWist Автор Сообщений: 13211 |
Опа, я считал, что сначала надо попробовать изменить конфу в филиале, а затем уже грузить данные (так оно и просходит, приходится дважды запускать 1с ), а у тебя наоборот (хотя если структура не поменялась, то это наверное всё равно) ![]()
Вот этого не понял, а как же передаются документы, ведь они должны иметь один формат в центре и в филиале, или ты ловишь документ и его "переливаешь" в формат соответствующего узла? ------------------ Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) Исправлено: PaulWist, 07.06.10 13:16 ![]() |
||
© 2000-2019 Fox Club  |