Имя: Пароль:
1C
 
Конвертация 2.0, Простая задача: передать параметр в загрузку
0 max_dm
 
05.06.08
17:16
Подскажите как реализовать,
требуется передать в БД приемник в качестве параметра значение (простое), т.е. чтобы "перед загрузкой данных" можно было на него посмотреть.

В закладке параметры запись добавил (галки на "при загрузке", "диалог", "передавать при выгрузке"),
в "перед выгрузкой" сделал
Параметры.КПП            = СокрЛП(Параметры.Организация.КПП);// утановил параметр

что делаю не так?
1 nop
 
05.06.08
17:24
(0) простое - строка, число ?
2 max_dm
 
05.06.08
17:26
да
3 nop
 
05.06.08
17:29
(2) имхо, ПКО нужно.
Параметры = ТаблицаЗначнений.
Подробней о задаче моно? Зачем его передавать? Где приемник?
4 max_dm
 
05.06.08
17:38
идея простая, есть БД источник ЗУП (учет по нескольким организациям)
есть несколько БД приемников БП(по каждой огранизации своя БД).
Нужно чтобы файл не загрузился чужую организацию не грузился.
т.е. перезать в качестве параметра в начале файла значение ОКПО организации
а в приемнике передзагрузкой проконтроллировать ОКПО основной организации и ОКПО файла, если не она, далее либо спросить либо прекратить....
5 max_dm
 
05.06.08
17:40
сорри за орфографию..
6 max_dm
 
05.06.08
18:04
up!
7 max_dm
 
05.06.08
18:31
так,
параметры не подходят т.к. определяются после загрузки всех данных
из хелпа
"Обработчики "Конвертация"
Перед выгрузкой данных
Условия возникновения события
Событие выполняется самым первым перед началом выгрузки данных и только один раз, после открытия файла для записи. Таким образом в файл могут быть записаны произвольные данные."
подскажите как в файл дописать "произвольные данные", а главное как поднять их в источнике?
8 KLF
 
05.06.08
20:22
Вычитал тут http://v8.1c.ru/metod/books/book.jsp?id=121
и попробовал следующее

"Запись в файл обмена передаваемого значения параметра происходит в начале процесса выгрузки. Поэтому передавать из источника в приемник можно только параметры, значение которых установлено в диалоге обработки выгрузки."


В параметре "ПримерПараметра" поставил все галочки.

В обработчик конвертации "После загрузки правил" добавил код
"Сообщить(Параметры.ПримерПараметра);"

В обработке выгрузки из источника задал занчение параметра.

При загрузке данных в приёмник появилось сообщение заданное при выгрузке.

Вот и всё  :)
9 max_dm
 
06.06.08
12:14
..В обработчик конвертации "После загрузки правил" добавил код
"Сообщить(Параметры.ПримерПараметра);" ...

хм... этот обработчик отрабатывает в БД источнике.
10 GenV
 
06.06.08
12:32
(0)
1) Параметры выгружаются только если они есть в ТаблицаНастройкиПараметров - галочка "редактировать в диалоге"
2) Установлена галочка "использовать при загрузке"
3) Загрузка параметров происходит после обработчика "ПослеЗагрузкиДанных". Если нужно обрабатывать значение параметра - есть обработчик "ПослеЗагрузкиПараметра".
11 GenV
 
06.06.08
12:34
10+ это кстати легко проверить прописав в простейших правилах КД в нужных обработчиках Сообщить("<ИмяОбработчика>"), если уж код посмотреть сложно :)
12 max_dm
 
06.06.08
12:40
"ПослеЗагрузкиДанных".  - т.е. когда уже все данные загружены (доки, справочники), это поздно.

"ПослеЗагрузкиПараметра" - где этот обработчик?

в исходниках по версии 2.01 можно было бы воспользоваться алгоритмами, но там нерабочий код, по крайней мере в КД редакция 2.0 (2.0.20.1) в файл выгрузки свойства параметров не попадают.
13 GenV
 
06.06.08
12:43
(12) Опечатался - после ПередЗагрузкойДанных.
При редактировании параметра есть обработчик "После загрузки" - он выполняется после загрузки. Добавлено в 2.0.18. А не из 7.7 в 8 грузишь?
14 XLife
 
06.06.08
13:04
В продолжение темы...
В описании обработчика "После выгрузки данных" написано "Событие выполняется самым последним когда все данные уже помещены в файл обмена, но файл еще не закрыт для записи, и только один раз. Таким образом в файл могут быть записаны дополнительные произвольные данные..."
Вопрос: Как записать эти дополнительные произвольные данные?
15 max_dm
 
06.06.08
13:04
гружу из 8.1 в 8.1
обработчика не видел т.к.  парметр редактировался в списке ;)

спасибо тебе мил человек :)
16 KAO111
 
06.06.08
13:13
Если не надо, чтобы параметр был виден в диалоге (заполняется автоматически) - можно использовать процедуру
ПередатьОдинПараметрВПриемник(Имя, ИсходноеЗначениеПараметра, ПравилоКонвертации = "")
17 XLife
 
06.06.08
13:21
(16) Спасиб, тебе! Как раз то, что надо.
18 KAO111
 
06.06.08
13:21
(14) Дополнительные данные можно легко записать ПриВыгрузке ПКО, в конвертации есть пример, там создается новый узел "ИнформацияОПользователе"
ПриЗагрузке ПКО - есть пример считывания этих данных.
Можно попробовать подобный код в событии "После выгрузки данных".