К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Знатоки обмена, подскажите...

Гость
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
Наздоровье, обращайся.


К списку вопросов






Copyright ©, Все права защищены