Имя: Пароль:
1C
1С v8
Конвертация данных. Запомнить значение свойства при выгрузке
,
0 iceman2112
 
13.06.13
07:28
Не подскажите, как запомниться значение свойства объекта при выгрузке, чтобы потом в обработчике объект "ПослеЗагрузке" получить это значение и обработать?
Т.е. выгружается единица измерения (ТиС 7.7), она конвертируется в упаковки (УТ 11.0), при выгрузке нужно запомнить "Штрихкод", чтобы потом после загрузке упаковки сделать запись в РС "ШтрикодыНоменклатуры"
1 killitch
 
13.06.13
08:44
В кнрижке по КД разбирался пример переноса ШК с использованием поля комментарий. Разве в УТ ШК не в РС хранятся? Если так, то ПослеВыгрузки ЕИ делать ВыгрузитьПоПравилу() создав ПКО для РС Штрихкоды.
2 killitch
 
13.06.13
08:45
*книжке
3 Alex S D
 
13.06.13
08:48
через параметры объекта передается
4 Defender aka LINN
 
13.06.13
08:56
(0) А какая религия мешает просто сделать правило для РС штрихкодов и выгружать его?
5 iceman2112
 
13.06.13
09:28
(3) из 7.7 параметр не работает
6 iceman2112
 
13.06.13
09:29
(4) все выгружать не нужно, потому что очень много номенклатуры, и при обмене выгражать единицы измерения будет около 3 часов
7 iceman2112
 
13.06.13
09:33
(1) а он не зациклится при выгрузке? Ведь мы передавать в "ВыгрузитьПоПравилу" будет единицу измерения, которая будет конвертироваться и опять ПослеВыгрузке, вызывать обработчик для ВыгрузитьПоПравилу?
8 Defender aka LINN
 
13.06.13
09:35
(6) Ну не выгружай все, какие проблемы?
9 iceman2112
 
13.06.13
09:38
не понимаю тогда, а как выгрузить только те, которые выгрузить с документами?
10 qeos
 
13.06.13
09:39
выгружаешь свойство ШК по правилу
11 iceman2112
 
13.06.13
09:41
(10) я передам правилу только я сам штрихкод (строку) тогда, а откуда правилу взять упаковку и номенклатура?
12 Defender aka LINN
 
13.06.13
09:43
(11) Ты передашь только сам штрихкод, а я, например, передам ему и все остальное.
13 iceman2112
 
13.06.13
09:52
Получается в "ПослеВыгрузке" ЕИ нужно вставить что то:

Данные = новый Структура;
Данные.Вставить("Штрихкод", Источник.Штрихкод);
Данные.Вставить("Номенклатура", Источник.Номенклатура);
Данные.Вставить("Упаковка", Источник.Единица);

ВыгрузитьПоПравилу(Данные,,,,,"РСШтрихкоды")

?
14 Alex S D
 
13.06.13
09:53
да
15 mikecool
 
13.06.13
09:54
(9) по ссылкам
16 iceman2112
 
13.06.13
09:55
Вернее даже

Данные.Вставить("Упаковка", Источник)

Он мне опять в правиле "РСШтрихкоды" будет конвертировать ЕИ в Упаковке, где опять вызовется обработчик "ПослеВыгрузке", где опять вызовется ВыгрузитьПоПравилу

Цикл?
17 iceman2112
 
13.06.13
09:55
и чем заменить Структуру в 7.7?
18 Alex S D
 
13.06.13
09:56
списокЗначений
19 Alex S D
 
13.06.13
09:57
не будет там никаких циклов
20 Alex S D
 
13.06.13
09:57
объект выгружается 1 раз
21 iceman2112
 
13.06.13
09:57
спс, попробую
22 iceman2112
 
13.06.13
10:20
В файле выгрузки пусто всё:
Объект ИмяПравила="ШтрихкодыНоменклатуры" Тип="РегистрСведенийЗапись.ШтрихкодыНоменклатуры" Нпп="20">
<Свойство Имя="Штрихкод" Тип="Строка"><Пусто/>
</Свойство>-<Свойство Имя="Номенклатура" Тип="СправочникСсылка.Номенклатура"><Пусто/>
</Свойство>-<Свойство Имя="Упаковка" Тип="СправочникСсылка.УпаковкиНоменклатуры"><Пусто/></Свойство>
</Объект>

Так передаются данные:
Данные = СоздатьОбъект("СписокЗначений");
Данные.Установить("Штрихкод", Источник.Штрихкод);
Данные.Установить("Номенклатура", Источник.Владелец);
Данные.Установить("Упаковка", Источник);


ВыгрузитьПоПравилу(Данные, , , , "ШтрихкодыНоменклатуры");

Галочка "ПолучитьИзВходящихДанные" стоит у всех свойств
23 Alex S D
 
13.06.13
10:23
(22) не нужны там галочки
24 iceman2112
 
13.06.13
10:32
Спасибо, помогло. Все работает
25 Necessitudo
 
13.06.13
12:21
Подскажите уж мне тогда уж. Есть 2 базы - УТ 10.3 и БП 3.0 Нужно настроить перенос из УТ в БП скажем справочника. Правила по переносу Ут-БП в КД я написал, выгрузил в файл. Проблем с настроек УТ нет никаких, там все корректно выгружается. Проблема возникла с настройкой БП. Там я настроил синхронизацию с УТ 10.3, в правилах конвертации данных указал источник правил - из файла; в качестве файла указал те самые написанные в КД правила. В итоге БП успешно подгружает тот самый справочник, попутно посылая в УТ всякую лишнюю хню, т.е. обмен получается двухсторонний, а не односторонний(как хотелось бы). Что я делаю не так?
26 Necessitudo
 
13.06.13
13:49
Ап)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший