#0
by grigo
Задача: передать из одной конфигурации некоторое Число в другую конфигурацию используя механизм обмена. Пишу обмен данными между двумя базами, использую Конвертацию данных 2.1.5.1. При выгрузке данных нужно передавать в приемник номер последнего отправленного сообщения. Но оказалось, что не так - то просто передать произвольные данные при помощи механизмов конвертации данных. Есть какие-нибудь идеи?
#7
by grigo
Хорошо. Вот код, который выдает правильный результат Узел = ПланыОбмена.Полный.НайтиПоКоду("УА"); НОС - имя объявленного параметра. В каком обработчике этот код прописать? Сразу скажу, что обработчик Конвертация.ПередВыгрузкойДанных и Конвертация.ПослеВыгрузкиДанных не подходят - передается не то значение, которое прописано в коде, а то значение, которое заполнено вручную на закладке "Параметры выгрузки".
#9
by МойКодУныл
В информации по опбработчикам нет таких ограничений . Событие выполняется самым первым перед началом выгрузки данных и только один раз, после открытия файла для записи. Таким образом в файл могут быть записаны произвольные данные. Кроме того могут быть инициализинованы переменные, которые впоследствии предполагается использовать. Для работы с такими переменными имеется отдельная структура "Параметры". Параметры: Отказ - Булево. Если установить значение Истина, то выгрузка данных не производится Параметры - Структура, в которой хранятся переменные доступные во всех обработчиках Пример: Если ЗначениеНеЗаполнено(Параметры.Организация) Тогда А считать можно в обработчике После загрузки параметров Условия возникновения события Событие выполняется после загрузки параметров переданных из информационной базы источника в информационную базу приемника. Только для обмена V8-V8. Параметры: Отказ - булево. Служит для отказа от продолжения загрузки. ПричинаОтказа - Строка. Содержит информацию о причине отказа от загрузки. Пример: Если Параметры.КодИнформационнойБазы <> 100 Тогда ПричинаОтказа = "Неверный код информационной базы источника"; Сам не пробовал, но должно сработать.
#10
by grigo
Попробовал прописать первый код в обработчике "Перед выгрузкой данных". В файле обмена этого параметра нет. Вообще, я прочитал в книге Харитонова "Конвертация данных" следующее: "... Поэтому передавать из источника в приемник можно только те параметры, значение которых установлено в диалоге обработки выгрузки". Т. е. только вручную заполненные параметры. И это пипец. Нужно всего-то передать число из одной конфы в другую. И этого нельзя сделать. Пипец.
#12
by grigo
А сложного то, что в файл с данными попадает значение, установленное вручную, а не программно. Я повторю свой вопрос, который тебе уже задавал: в каком обработчике прописать код Пробовал уже в ПередВыгрузкойДанных и в ПослеВыгрузкиДанных. В них не работает. Куда прописать?
#13
by grigo
А сложного то, что в файл с данными попадает значение, установленное вручную, а не программно. Я повторю свой вопрос, который тебе уже задавал: в каком обработчике прописать код Пробовал уже в ПередВыгрузкойДанных и в ПослеВыгрузкиДанных. В них не работает. Куда прописать?
#16
by vicof
Тогда отладчик в руки, у меня всегда нормально параметры выгружаются таким образом: Параметр определил, перед выгрузкой данных его изменил, выгрузил, загрузил.
#17
by grigo
"Отладчик в руки". А при чем здесь отладчик? При помощи конвертации написаны правила. Которые помещены в типовую обработку Выгрузка/Загрузка. Результат - выгружается именно вручную заданное значение. Так выгружает стандартная обработка по правилам, написанным в Конвертации данных. Об этом даже написано в книге по Конвертации данных. А мне не нужно использовать "ручные" параметры. Мне нужно выгрузить число, рассчитанное в одной базе, в другую базу. Если у вас работает - это значит, вы модифицировали обработку выгрузки/загрузки. А не правила конвертации.
#19
by grigo
Хорошо. Тогда в третий раз повторю вопрос - в каком обработчике переорпеделяли значение параметра? В первые два раза так и не ответили. Мне этой информации будет достаточно. Дальше сам разберусь, хотя, если вы еще строчку с кодом кинете, в которой переопределяете, буду безмерно благодарен.
#21
by grigo
УРА! ЗАРАБОТАЛО! Для тех, кто столкнется с подобной проблемой: 1. Параметры, создаваемые на одноименной закладке в справочнике "конвертации" не получится использовать для передачи в приемник программно вычисляемых параметров. С их помощью можно передать только параметры, задаваемые вручную в обработке выгрузки. 2. Есть замечательная функция ПередатьОдинПараметрВПриемник(ИмяП, ЗначениеП, ПравилоКонвертации). Так вот, при ее использовании не нужно создавать параметр в справочнике "конвертации". Он создается в момент обращения к функции автоматически. 2,5. Для простых типов данных (число, строка и т.п.) можно не создавать и не указывать правило конвертации 3. Эту замечательную функцию нужно поместить в обработчик ПередВыгрузкойДанных 4. На стороне приемника параметр доступен в обработчике ПослеЗагрузкиПараметров и во всех более поздних обработчиках 5. На стороне приемника обращение к параметру происходит так: Параметры.ИмяП; Ура!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Безвозмездная передача фотоаппарата госучреждению. Проводки???
- Передача параметра типа Дата в ADODB
- Передача параметра из ТЧ в Запрос
- Конвертация, передача параметра, после загрузки, не видит параметр
- Ссылка на узел обмена в правилах обмена, как ее получить
- Передача товаров операция: передача товаров/материалов переработчику цена,сумма
- Передача параметра в отчет на СКД
В этой группе 1С
- 8.3.4 Не работает справка в тонком клиенте через ws
- Проблема с подключением внешней компоненты
- Хитрая нумерация в ЗУП 3.0
- Обычная форма, табличное поле. Не работает автовысота ячейки
- Как добавить системное поле в группировку СКД
- Сервер 1с отрубает от базы. Помогите разобраться что не так?
- не могу найти базу
- В базе данных уже существует объект с именем "#tt1"
- Задача про кучки монет и неведомую сумму
- УТ 10.3 Не доступны галки отражения в БУ, НУ
- Перемешивание Табличной части
- Выгнать пользователей из Информационной базы скриптом *.vbs
- Как программно добавить колонку в ТЧ документа и заполнить ее из ТЗ. УТ 11!
- Возникла ошибка при установке Microsoft Office 2010
- v7: Удаление/Пометка подчиненных-владельцев справочников
- как записать данные в реквизит на упр форме ?
- 1с8 Отчет на скд не активна кнопка сохранить
- Вывод дерева плана видов характеристик на форму (УФ)
- Как отнять дату от даты в запросе
- Декларация по НДС, строка 090 - заполняется вручную?