0
- 17.02.2012 - 15:58
|
Есть нестандартная конфа на базе Розницы и нестандартная конфа на базе УТ. Требуется периодическая выгрузка измененных данных из Розницы в УТ. Односторонняя! Я сделал в Рознице в конфигураторе свой план обмена. В режиме предприятия в Рознице задал два узла: Розница - текущий узел, и второй узел: УТ. Сделал в КД правила конвертации Розница -> УТ. Запускаю в Рознице стандартную обработку "УниверсальныйОбменДаннымиXML", указываю мои правила конвертации. Обработка без проблем выгружает изменения нужных мне данных, причем хоть в файл, хоть напрямую в УТ (через COM). Но мне нужно, чтобы пользователь не открывал никакие обработки и ничего там не настраивал, поэтому я иду в "Сервис - Настройка обмена данными". Для узла УТ выбираю мои правила конвертации. Пробую настройки выгрузки через файл, и напрямую через COM, но при нажатии кнопки "Выполнить обмен" вылезает ошибка. Раз интерактивно не работает, то нет смысла и автоматически настраивать. А ошибка из-за того, что в модуле моего плана обмена нет процедуры "ОпределитьТипОтправкиДанных()". Ругается, что такой метод у моего узла не найден. Но откуда он там может быть, я ж свой обмен хочу настроить, а не стандартный, у меня в модуле плана обмена вообще пусто. Я что-то не так делаю? Подскажите... | |
1
- 17.02.2012 - 16:00
| Вставил в модуль своего плана обмена процедуру, на которую обработка ругается, оставил её пустой, выгрузка в файл сработала. Но прямой обмен через COM всё-равно не идет, уже другая ошибка: не находит в базе-приемнике моего плана обмена. Но зачем он там??? Регистрация изменений у меня только в Рознице. В УТ она должна лишь уходить, там не нужно никакого плана обмена... | |
2
- 18.02.2012 - 17:19
|
Пригласить специалиста - не предлагали ещё? ©Франчи - позор 1С! | |
3
- 19.02.2012 - 19:36
|
Я не франч. Спец я и сам не плохой, но пробелы есть, как и у всех. Или спецы на форумах ничего не спрашивают, сами всё должны знать 100%-но? :) Обмен делал только один раз, но это был двусторонний обмен, причем распределенная ИБ. И обмены через выгрузку изменений в файл и пересылку этого файла по FTP. Там все просто. А тут врроде бы ещё проще, но меня в какие-то дебри заносит, наверняка 1С что-то более разумное предусмотрела. | |
4
- 19.02.2012 - 20:53
| а как Розница узнаёт, что УТ получила выгруженные ранее данные? | |
5
- 19.02.2012 - 21:29
|
а нафиг рознице знать, что привезли? ей только цены нужны для продажи инвентаризация - по данным УТ | |
6
- 19.02.2012 - 23:20
|
(5) Поскольку настроил правила обмена в КД, то хотел грузить напрямую в базу-приемник, через COM. А после успешной загрузки просто снимать регистрацию с измененных объектов. Кстати та же обработка "УниверсальныйОбменДаннымиXML" позволяет это сделать. (6) Дак у меня конфигурации измененные. Обычная Розница из УТ стандартно всё и будет получать, а здесь просто на базе Розницы другая конфигурация, должны уходить в УТ объекты, которых нет в стандарте. | |
7
- 20.02.2012 - 09:11
| up | |
8
- 20.02.2012 - 09:25
| (0) Экспортный метод ОпределитьТипОтправкиДанных() должен быть у любого плана обмена, который будет работать по технологии конвертации данных. Хотя бы пустой, но быть должен. Кроме того для успешного обмена я бы тебе посоветовал наваять в УТ свой план обмена с пустым составом, чтобы он выдавал для розницы квитанции о получении данных для автоматического снятия с регистрации. | |
9
- 20.02.2012 - 11:00
|
(9) Спасибо за совет! Без плана обмена в УТ обмен почему-то и не работает, так что наверное в самом деле создам, мало ли придется через файл выгружать, тогда подтверждение приема очень будет кстати. Только вот непонятно, как источник (Розница) узнает, какой план обмена в приемнике (УТ) должен быть задействован. Или нужно в конфигураторе УТ создать план обмена с таким же именем, что и в Рознице? | |
10
- 21.02.2012 - 21:10
|
(9) Воспользовался Вашим советом, создал план обмена и в УТ. В итоге обмен через COM сработал, из Розницы изменившиеся данные загрузились в УТ. И подтверждение приходит, т.к. повторно объекты не выгружаются. Но вот с обменом через файловый ресурс проблема: Из Розницы выгрузил изменения в файл. В УТ пробую их загрузить, мне пишет: ОбщийМодуль.ПроцедурыОбменаДанными(1753)**: Метод объекта не обнаружен (ЗагрузитьИзмененияДанныхДляУзла) Ошибка в этой строке: СтруктураНастроекОбменаДанными.РезультатЧтенияДанн ых = ЭтотУзелОбмена.ЗагрузитьИзмененияДанныхДляУзла(Узе лОбмена, СтруктураНастроекОбменаДанными.КоличествоЭлементов ВТранзакцииНаЗагрузкуДанных, ЧтениеXML); Ну думаю, значит опять та же ситуация, в моем модуле плана обмена нет нужной процедуры. Хотел скопировать. Но! Этой процедуры нет вообще в конфигурации!!! Причем смотрел и УТ, и Розницу, глобальным поиском. Эта процедура (ЗагрузитьИзмененияДанныхДляУзла) встречается только один раз, в этом месте, где идет её вызов. И больше нигде она не вызывается, и мало того, нигде не описывается. Конфы УТ и Розницы доделанные, но ничего 100% не удалялось, и переделывались только справочники, добавлялись новые объекты. И я бы понял, если бы только в УТ такое было, ну может релиз глючный, т.к. не свежие релизы у меня. Но и в Рознице точно также, эта процедура вызывается в одном месте, и больше нигде не встречается. Не сталкивались? | |
11
- 22.02.2012 - 11:19
|
Вобщем всё у меня получилось. Reaper, спасибо за наводку! Насчет функции "ЗагрузитьИзмененияДанныхДляУзла" (то же самое кстати и с функцией "ВыгрузитьИзмененияДанныхДляУзла") - видимо 1С её специально сделала без объявления, чтобы можно было написать свою процедуру чтения/записи файлов обмена, и при этом пользоваться стандартными настройками обмена. Я создал у себя эти процедуры, но запихал в них вызов стандартных процедур чтения/записи файла обмена и все заработало. | |
12
- 22.02.2012 - 12:20
| Наздоровье, обращайся. | |
| Интернет-форум Краснодарского края и Краснодара |