Конвертация 2.0, Простая задача: передать параметр в загрузку #343500


#0 by max_dm
Подскажите как реализовать, требуется передать в БД приемник в качестве параметра значение (простое), т.е. чтобы "перед загрузкой данных" можно было на него посмотреть. В закладке параметры запись добавил (галки на "при загрузке", "диалог", "передавать при выгрузке"), что делаю не так?
#1 by nop
простое - строка, число ?
#2 by max_dm
да
#3 by nop
имхо, ПКО нужно. Параметры = ТаблицаЗначнений. Подробней о задаче моно? Зачем его передавать? Где приемник?
#4 by max_dm
идея простая, есть БД источник ЗУП (учет по нескольким организациям) есть несколько БД приемников БП(по каждой огранизации своя БД). Нужно чтобы файл не загрузился чужую организацию не грузился. т.е. перезать в качестве параметра в начале файла значение ОКПО организации а в приемнике передзагрузкой проконтроллировать ОКПО основной организации и ОКПО файла, если не она, далее либо спросить либо прекратить....
#5 by max_dm
сорри за орфографию..
#6 by max_dm
up!
#7 by max_dm
так, параметры не подходят т.к. определяются после загрузки всех данных из хелпа "Обработчики "Конвертация" Перед выгрузкой данных Условия возникновения события Событие выполняется самым первым перед началом выгрузки данных и только один раз, после открытия файла для записи. Таким образом в файл могут быть записаны произвольные данные." подскажите как в файл дописать "произвольные данные", а главное как поднять их в источнике?
#8 by KLF
Вычитал тут и попробовал следующее "Запись в файл обмена передаваемого значения параметра происходит в начале процесса выгрузки. Поэтому передавать из источника в приемник можно только параметры, значение которых установлено в диалоге обработки выгрузки." В параметре "ПримерПараметра" поставил все галочки. В обработчик конвертации "После загрузки правил" добавил код "Сообщить(Параметры.ПримерПараметра);" В обработке выгрузки из источника задал занчение параметра. При загрузке данных в приёмник появилось сообщение заданное при выгрузке.
#9 by max_dm
..В обработчик конвертации "После загрузки правил" добавил код "Сообщить(Параметры.ПримерПараметра);" ... хм... этот обработчик отрабатывает в БД источнике.
#10 by GenV
1) Параметры выгружаются только если они есть в ТаблицаНастройкиПараметров - галочка "редактировать в диалоге" 2) Установлена галочка "использовать при загрузке" 3) Загрузка параметров происходит после обработчика "ПослеЗагрузкиДанных". Если нужно обрабатывать значение параметра - есть обработчик "ПослеЗагрузкиПараметра".
#11 by GenV
10+ это кстати легко проверить прописав в простейших правилах КД в нужных обработчиках Сообщить("<ИмяОбработчика>"), если уж код посмотреть сложно :)
#12 by max_dm
"ПослеЗагрузкиДанных".  - т.е. когда уже все данные загружены (доки, справочники), это поздно. "ПослеЗагрузкиПараметра" - где этот обработчик? в исходниках по версии 2.01 можно было бы воспользоваться алгоритмами, но там нерабочий код, по крайней мере в КД редакция 2.0 (2.0.20.1) в файл выгрузки свойства параметров не попадают.
#13 by GenV
Опечатался - после ПередЗагрузкойДанных. При редактировании параметра есть обработчик "После загрузки" - он выполняется после загрузки. Добавлено в 2.0.18. А не из 7.7 в 8 грузишь?
#14 by XLife
В продолжение темы... В описании обработчика "После выгрузки данных" написано "Событие выполняется самым последним когда все данные уже помещены в файл обмена, но файл еще не закрыт для записи, и только один раз. Таким образом в файл могут быть записаны дополнительные произвольные данные..." Вопрос: Как записать эти дополнительные произвольные данные?
#15 by max_dm
гружу из 8.1 в 8.1 обработчика не видел т.к.  парметр редактировался в списке ;) спасибо тебе мил человек :)
#16 by KAO111
Если не надо, чтобы параметр был виден в диалоге (заполняется автоматически) - можно использовать процедуру ПередатьОдинПараметрВПриемник(Имя, ИсходноеЗначениеПараметра, ПравилоКонвертации = "")
#17 by XLife
Спасиб, тебе! Как раз то, что надо.
#18 by KAO111
Дополнительные данные можно легко записать ПриВыгрузке ПКО, в конвертации есть пример, там создается новый узел "ИнформацияОПользователе" ПриЗагрузке ПКО - есть пример считывания этих данных. Можно попробовать подобный код в событии "После выгрузки данных".
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С