КД2. Перенос документа с разными реквизитами. #610492


#0 by dva1c
По мотивам веток: создал эту ветку.
#1 by dva1c
Состояние задачи на текущий момент:
#2 by dva1c
Всем откликающимся, заранее спасибо!
#3 by GenV
Из этого не понятно на какой стадии находятся твои попытки.
#4 by dva1c
Рассказываю подробно
#5 by dva1c
+ Я создаю/пересоздаю правила (ПКО) для объектов. Делаю это, чтобы получить данные из ИСТОЧНИК. После загрузки:
#6 by dva1c
+ После выгрузки:
#7 by GenV
Подробно это так: 1) Исходные данные источника (описание алгоритма или имя реквизита и его тип) 2) Конечные данные приемника (имя реквизита и тип) 3) Что имеется в сделанном виде с учетом 1) и 2) - ну допустим это ты уже написал
#8 by dva1c
Понял. Сейчас все будет согласно пунктам. Для начала:
#9 by dva1c
Документ в Оперативном учете
#10 by dva1c
Сейчас работаю с этим реквизитом ИСТОЧНИК ПорядокПогашенияСтоимостиБУ, ТипЗначения: ПеречислениеСсылка.ПорядокПогашенияСтоимостиОС ПРИЕМНИК ПорядокПогашенияСтоимости1, ТипЗначения: ПеречислениеСсылка.ПорядокПогашенияСтоимостиОС
#11 by dva1c
ИСТОЧНИК: СпособНачисленияАмортизацииБУ, ТипЗначения: ПеречислениеСсылка.СпособыНачисленияАмортизацииОС ПРИЕМНИК: СпособНачисленияАмортизации, ТипЗначения: ПеречислениеСсылка.СпособНачисленияАмортизацииОС
#12 by GenV
И в чем сложность? Настраиваешь конвертацию значений (в твоем ПКО ПорядокПогашенияСтоимостиОС). Если конвертация по условию, то передаешь строковое имя предопределенного элемента в приемнике в ПередВыгрузкой реквизита по условию, а правило удаляешь.
#13 by dva1c
Что сделал? Сделал в ПКО: --- Пока сдирал скрины и пытался систематизировать информацию появилось . Спасибо! Попытаюсь понять и проверить.
#14 by GenV
(12+ Имя передаешь как: Значение = "ИмяПредопределенного";
#15 by dva1c
В можно увидеть: А валятся ошибки: Начало загрузки:   14.05.2012 12:21:14 Ошибка в обработчике события ПослеЗагрузкиОбъекта    ИмяПКО                 =  ПринятиеКУчетуОС    ТипОбъекта             =  Документ ссылка: Принятие к учету ОС    Объект                 =  Принятие к учету ОС 00000000039 от 01.02.2010 15:00:00    Обработчик             =  ПослеЗагрузкиОбъекта    ОписаниеОшибки         =  Ошибка компиляции при вычислении выражения или выполнении фрагмента кода Ошибка при загрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML(1504)}: Ошибка в обработчике события ПослеЗагрузкиОбъекта    ИмяПКО                 =  ПринятиеКУчетуОС    ТипОбъекта             =  Документ ссылка: Принятие к учету ОС    Объект                 =  Принятие к учету ОС 00000000039 от 01.02.2010 15:00:00    Обработчик             =  ПослеЗагрузкиОбъекта    ОписаниеОшибки         =  Ошибка компиляции при вычислении выражения или выполнении фрагмента кода Окончание загрузки: 14.05.2012 12:21:14 Загружено объектов: 11
#16 by dva1c
Я не понял, как это: "Имя передаешь как..." Какое имя? Имя чего? В каком обработчике писать?
#17 by GenV
Ну, так вроде все написал в 12+14. Обработчик ПередВыгрузкой (соотв. при выгрузке, а не загрузке) и как передавать тоже "имя предопределенного элемента в приемнике", т.е. имя значения перечисления - через: Значение = "ИмяПредопределенного";
#18 by dva1c
Сразу вопрос. "ИмяПредопределенного" - это будет браться значение, какое стоит в ИСТОЧНИК?
#19 by dva1c
+ Значение этого перечисления будет браться из ИСТОЧНИК?
#20 by dva1c
Для полного понимания моих "изысков" скинул сюда:
#21 by dva1c
+ Скинул мои правила.
#22 by GenV
Нет - значение в приемнике. Т.е. сразу нужное значение.
#23 by dva1c
> Т.е. сразу нужное значение. Так я умею. Но если я проставлю нужное мне значение, то оно может отличаться от значения в ИСТОЧНИК. Это не есть, гуд. (
#24 by GenV
Давай пример. Что по твоему не есть гуд )
#25 by dva1c
Быстро не смогу. Мне нужно "сэмулировать" этот пример. На словах. Значение в ИСТОЧНИКЕ будет отличаться от значения в ПРИЕМНИК.
#26 by GenV
Ясен пень будут отличаться - это две разные базы ) В приемнике не может быть значение из источника.
#27 by dva1c
Вот теперь яснее. Спасибо! Т.е. я явно проставляю все значения реквизитов приемника?
#28 by GenV
Да. Или конвертацию значений используй - вторая закладка внизу в ПКО перечисления. Можно вручную задать соответствие значений источника и приемника. Тогда КД сама по значению источника выгрузит его для нужного значения приемника.
#29 by GenV
28+ это для перечислений, если что. А не для всех случаев жизни )
#30 by dva1c
Спасибо! Отличная рекомендация!
#31 by dva1c
Это там, где я обвел на скрине красным?
#32 by GenV
Для ПорядокПогашенияСтоимостиОС правило не нужно. Примитивные типы: дата, число, булево конвертируются без правил.
#33 by GenV
(32+ реквизит НачислятьАмортизациюБУ
#34 by dva1c
Спасибо за дельные советы!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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