Имя: Пароль:
1C
1С v8
Конвертация данных. В ПКО нельзя указать конкретное значение
0 qwasqu
 
27.05.16
14:55
Здравствуйте,

есть документы, которые нужно переносить, у этих документов есть реквизит, который должен равняться значению, которого нет в источнике.

Раньше я делал это при помощи ПКС, писал значени=... и все отлично, но если этих документов слишком много, то не понятно, как поступить? В ПКО нельзя указать конкретное значение, да и не логично это. Можно ли как нибудь указать, что если тип такой-то, то значит значение в приемнике будет кокое-то.

Спасибо.
1 MaxS
 
27.05.16
14:58
Сейчас специалисты подтянутся, может быть и разрешат. ))
Можно алгоритмы использовать, если что.
2 ДенисЧ
 
27.05.16
14:59
Если ТипЗнч(...) = Тип(.....) Тогда
  значение = ....
3 azt-yur
 
27.05.16
15:01
+ (2) и прописать это в обработчике конвертации ПослеЗагрузкиОбъекта
4 qwasqu
 
27.05.16
15:04
(2) (3) После загрузки объекта нет параметра "Значение", там уже есть Объект.
5 Timon1405
 
27.05.16
15:07
(4) Объект.моеПеречислениеКотороеЕстьТолькоВИсточнике = Перечисления.моеПеречислениеКотороеЕстьТолькоВИсточнике.ЗначениеМоегоПеречислениеКотороеЕстьТолькоВИсточнике;
В чем вопрос-то?
6 qwasqu
 
27.05.16
15:13
(5) Дело в том, что для каждого типа Объект придется писать эту строку.
7 Карупян
 
27.05.16
15:13
Выражение = ""
8 Карупян
 
27.05.16
15:14
Если перечисление, то
Значение = "ИмяПеречисления"
9 Sonny
 
27.05.16
15:16
(6)

Обработчики "Конвертация"
После загрузки объекта
Условия возникновения события
Событие выполняется после загрузки объекта. Вызов осуществляется до вызова одноименного обработчика правила конвертации объектов. Могут использоваться все параметры орпределенные для одноименного обработчика правила конвертации объектов. По сути и назначению это тот же обработчик что и "После загрузки объекта" в правиле конвертации объектов, но определенный на глобальном уровне - то есть вызываемый для всех правил конвертации объектов.

Параметры:
Полностью совпадают с параметрами обработчика "После загрузки объекта" у "Правила конвертации объектов"

Пример:
Если НЕ ОбъектНайден Тогда
Объект.УстановитьНовыйКод();
КонецЕсли;
Объект.БазоваяЕдиницаИзмерения = Параметры.ЕдИзмеренияШтуки;
10 Timon1405
 
27.05.16
15:16
(6) Внимательно читать (3)
>>в обработчике КОНВЕРАЦИИ ПослеЗагрузкиОбъекта
есть общий обработчик
11 qwasqu
 
27.05.16
15:23
(10) Да но после загрузки объекта, объект-реквизит уже загрузился, что есть не правильно.
Если убирать загрузку данного реквизита, то это долго.
12 qwasqu
 
27.05.16
15:25
(7) Что-то нет такого параметра.
13 qwasqu
 
27.05.16
15:26
(12) Точнее - этот параметр в ПКС, это опять нужно прописывать в каждом ПКС.
14 azt-yur
 
27.05.16
15:39
(11) "после загрузки объекта, объект-реквизит уже загрузился" -  и что в этом страшного? ну переопределишь ты его после загрузки
На счет долго - можно воспользоваться групповой обработкой справочников, отобрать нужные ПКС и установить отметку отключения их обработки.