|
План обмена по Радченко. Косяк! Что делать? | ☑ | ||
|---|---|---|---|---|
|
0
Карамелька24
16.12.05
✎
09:44
|
Проверяю обмен по Радченко. С использование спец. обработки для обмена, а не встроенные кнопки "Записать изменения" и "Прочитать изменения". Все нормально пока не изменится конфигурация. Эти изменения не появляются в переф. базах. Что делать?
|
|||
|
1
Карамелька24
16.12.05
✎
09:50
|
ПОМОГИТЕ!! Можно что-нибудь сделать или нет?
|
|||
|
2
Карамелька24
16.12.05
✎
10:01
|
ПОМОГИТЕ!!!!!!!!!!!
|
|||
|
3
Карамелька24
16.12.05
✎
10:53
|
сейчас проверяю, оказывается файл созданный типовой кнопкой больше, чем файл созданный обработкой. Предполагаю, что в обработке не указано, что нужно как то туда конфигурацию передавать. А как это указать можно?
|
|||
|
4
Колумбарий
16.12.05
✎
10:59
|
А как изменяется конфигурация? У меня на ранних релизах была, что при объединении конфы те объекты, которые я указал в составе плана обмена - для них прихоилось потом руками сниамт галки и опять выставлять. Только после этого 1С понимала, что они учавствуют в обмене.
|
|||
|
5
Колумбарий
16.12.05
✎
11:01
|
упс, сорри, это я не то сморозил.
|
|||
|
6
Карамелька24
16.12.05
✎
13:00
|
Ну неужели никто с распределенкой не работает??
|
|||
|
7
Карамелька24
16.12.05
✎
13:03
|
ап
|
|||
|
8
Карамелька24
16.12.05
✎
13:10
|
так не чесно :((((((
|
|||
|
9
Волшебник
модератор
16.12.05
✎
13:13
|
При чтении сообщения обмена, содержащего изменения конфигурации, сначала загружаются изменения конфигурации и чтение сообщения обмена прекращается. Затем требуется обновить конфигурацию БД, выгнав всех из базы. Затем нужно заново прочитать сообщение обмена.
|
|||
|
10
Карамелька24
16.12.05
✎
13:15
|
так это при типовом обмене. А в Радченко была сделана спец. обработка, с помощью которой совершался обмен. Я сделала обработку с подобным текстом: все хорошо, только она не реагирует на изменения конфигурации. Данные закачивает, а конфигурацию игнорирует
|
|||
|
12
Карамелька24
16.12.05
✎
13:24
|
Процедура ОсновныеДействияФормыЗаписать(Элемент)
Для Каждого Узел из СписокУзлов Цикл Если НЕ Узел.Пометка Тогда Продолжить; КонецЕсли; Состояние("Думаю..."); пСсылка=Узел.Значение; Сообщить("--------- Выгрузка данных в узел "+Строка(пСсылка)+" ----------"); Каталог=СокрЛП(Путь); ИмяФайла=Каталог+?(Прав(Каталог, 1)="\", "", "\")+ "Message"+СокрЛП(ПланыОбмена.ПланОбмена.ЭтотУзел().Код)+"_"+СокрЛП(пСсылка.Код)+".xml"; ИмяФайлаZip=Каталог+?(Прав(Каталог, 1)="\", "", "\")+ "Message"+СокрЛП(ПланыОбмена.ПланОбмена.ЭтотУзел().Код)+"_"+СокрЛП(пСсылка.Код)+".zip"; ЗаписьXML=Новый ЗаписьXML; ЗаписьXML.ОткрытьФайл(ИмяФайла); ЗаписьXML.ЗаписатьОбъявлениеXML(); ЗаписьСообщения=ПланыОбмена.СоздатьЗаписьСообщения(); ЗаписьСообщения.НачатьЗапись(ЗаписьXML, пСсылка); Сообщить(" Номер сообщения: "+ЗаписьСообщения.НомерСообщения); ВыборкаИзменений=ПланыОбмена.ВыбратьИзменения(ЗаписьСообщения.Получатель, ЗаписьСообщения.НомерСообщения); пНом=0; Пока ВыборкаИзменений.Следующий() Цикл; пНом=пНом+1; ЗаписатьXML(ЗаписьXML, ВыборкаИзменений.Получить()); ОбработкаПрерыванияпользователя(); Состояние("Работаю ... "+пНом+" ... "+ВыборкаИзменений.Получить()); КонецЦикла; ЗаписьСообщения.ЗакончитьЗапись(); ЗаписьXML.Закрыть(); ФайлАрхива = Новый ЗаписьZipФайла(ИмяФайлаZip, , , МетодСжатияZIP.Сжатие, УровеньСжатияZIP.Максимальный); ФайлАрхива.Добавить(ИмяФайла, РежимСохраненияПутейZIP.СохранятьОтносительныеПути, РежимОбработкиПодкаталоговZIP.ОбрабатыватьРекурсивно); ФайлАрхива.Записать(); УдалитьФайлы(ИмяФайла); Сообщить("--------- Конец выгрузки ----------"); ОбработкаПрерыванияпользователя(); КонецЦикла; КонецПроцедуры Процедура ОсновныеДействияФормыПрочитать(Кнопка) Для Каждого Узел из СписокУзлов Цикл Если НЕ Узел.Пометка Тогда Продолжить; КонецЕсли; Состояние("Думаю..."); пСсылка=Узел.Значение; Каталог=СокрЛП(Путь); ИмяФайла=Каталог+?(Прав(Каталог, 1)="\", "", "\")+ "Message"+СокрЛП(пСсылка.Код)+"_"+СокрЛП(ПланыОбмена.ПланОбмена.ЭтотУзел().Код)+".xml"; ИмяФайлаZip=Каталог+?(Прав(Каталог, 1)="\", "", "\")+ "Message"+СокрЛП(пСсылка.Код)+"_"+СокрЛП(ПланыОбмена.ПланОбмена.ЭтотУзел().Код)+".zip"; Попытка ФайлАрхива = Новый ЧтениеZIPФайла(ИмяФайлаZip); Исключение Сообщить("Файл "+ИмяФайлаZip+" не найден ("+пСсылка+")"); Продолжить; Конецпопытки; ФайлАрхива.ИзвлечьВсе(Каталог, РежимВосстановленияПутейФайловZIP.Восстанавливать); ФайлАрхива.Закрыть(); Файл=Новый Файл(ИмяФайла); Если Не Файл.Существует() Тогда Сообщить("Не существует файл обмена "+ИмяФайла); Возврат; КонецЕсли; ЧтениеXML=Новый ЧтениеXML; Попытка ЧтениеXML.ОткрытьФайл(ИмяФайла); Исключение Сообщить("Невозможно открыть файл обмена "+ИмяФайла); Возврат; КонецПопытки; Сообщить("--------- Загрузка данных из "+Строка(ЭтотОбъект)+" ----------"); Сообщить(" Считывается файл "+ИмяФайла); ЧтениеСообщения=ПланыОбмена.СоздатьЧтениеСообщения(); ЧтениеСообщения.НачатьЧтение(ЧтениеXML); Если ЧтениеСообщения.Отправитель<>пСсылка Тогда ВызватьИсключение "Неверный узел"; КонецЕсли; ПланыОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения.Отправитель, ЧтениеСообщения.НомерПринятого); пНом=0; Пока ВозможностьЧтенияXML(ЧтениеXML) Цикл пНом=пНом+1; Данные=ПрочитатьXML(ЧтениеXML); Если Не ЧтениеСообщения.Отправитель.Главный И ПланыОбмена.ИзменениеЗарегистрировано(ЧтениеСообщения.Отправитель, Данные) Тогда Сообщить(" изменения отклонены"); Продолжить; КонецЕсли; Данные.ОбменДанными.Отправитель=ЧтениеСообщения.Отправитель; Данные.ОбменДанными.Загрузка=Истина; Данные.Записать(); ОбработкаПрерыванияпользователя(); Состояние("Работаю ... "+пНом+" ... "+Данные); КонецЦикла; ЧтениеСообщения.ЗакончитьЧтение(); ЧтениеXML.Закрыть(); //УдалитьФайлы(ИмяФайла); //УдалитьФайлы(ИмяФайлаZip); Сообщить("--------- Конец загрузки ----------"); ОбработкаПрерыванияпользователя(); КонецЦикла; КонецПроцедуры |
|||
|
13
aspirant
16.12.05
✎
13:31
|
Вообще-то нигде в Вашем коде не нашел места обновления конфигурации, а без обновления, т.е. без приема изменение конфы - и ни туды и ни сюды?!?
|
|||
|
14
Карамелька24
16.12.05
✎
13:44
|
да я тоже его нигде не вижу (тоже мне новость). просто я не знаю как он пишется
|
|||
|
15
Карамелька24
16.12.05
✎
14:06
|
Волшебник, ну обрати же на меня внимание
|
|||
|
16
Карамелька24
16.12.05
✎
14:32
|
ап
|
|||
|
18
vvv29
16.12.05
✎
14:53
|
Можно не выделываться а использовать стандартное, в твоем случае этого хватит:
ПланыОбмена.ПрочитатьИзменения() ПланыОбмена.ЗаписатьИзменения() |
|||
|
19
Карамелька24
16.12.05
✎
14:58
|
это вы про стандартные кнопочки что ли?
|
|||
|
20
vvv29
16.12.05
✎
15:02
|
(19)Нет я про стандартные процедуры
|
|||
|
21
vvv29
16.12.05
✎
15:02
|
(19)Почитай о них в синтаксис помошнике
|
|||
|
22
Карамелька24
16.12.05
✎
15:16
|
но мне нужно отфильтровать часть записей регистров сведений. Я смогу это сделать?
|
|||
|
23
AlexanderAA
16.12.05
✎
16:13
|
||||
|
24
vvv29
16.12.05
✎
16:28
|
(22)Смотри лучше регистрацию изменений и ПриОтправкеДанныхПодчиненному()
|
|||
|
25
vvv29
16.12.05
✎
16:29
|
+(24)И смотри на ИТС неплохой пример, там показаны различные способы обмена
|
|||
|
26
Карамелька24
19.12.05
✎
11:17
|
а можно с помощью ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения);
сначала записать изменения данных и конфигурации, а потом с момощью Выборка = ПланыОбмена.ВыбратьИзменения(ЗаписьСообщения.Получатель, ЗаписьСообщения.НомерСообщения); Пока Выборка.Следующий() Цикл .... КонецЦикла; Как нибудь удалить часть лишних записей?? |
|||
|
27
Карамелька24
19.12.05
✎
16:45
|
ПОМОГИТЕ!!!!!!!!
|
|||
|
28
Чего
19.12.05
✎
17:03
|
кричишь-то?
|
|||
|
29
vvv29
19.12.05
✎
18:06
|
(27)Не кричи тебе уже все сказали, прочти все внимательно, посмотри синтаксис помошник
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |