|
КД2. Перенос документа с разными реквизитами. | ☑ | ||
---|---|---|---|---|
0
dva1c
14.05.12
✎
12:10
|
По мотивам веток:
v8: Конвертация данных 2. Выгрузка/загрузка док. Разные реквизиты. v8: Не получается решить задачу с конвертацией из 7.7 в 8.1 создал эту ветку. |
|||
1
dva1c
14.05.12
✎
12:11
|
Состояние задачи на текущий момент:
"На текущий момент, из примера, указанного в (20), пытаюсь сделать так, чтобы в ПРИЕМНИК попадали данные из ИСТОЧНИК. Т.е. чтобы они соответствовали переносу, а не были проставлены жестко (как я решил в v8: Конвертация данных 2. Выгрузка/загрузка док. Разные реквизиты." |
|||
2
dva1c
14.05.12
✎
12:12
|
Всем откликающимся, заранее спасибо!
|
|||
3
GenV
14.05.12
✎
12:15
|
(1) Из этого не понятно на какой стадии находятся твои попытки.
|
|||
4
dva1c
14.05.12
✎
12:17
|
(3) Рассказываю подробно
|
|||
5
dva1c
14.05.12
✎
12:19
|
+(4) Я создаю/пересоздаю правила (ПКО) для объектов.
Делаю это, чтобы получить данные из ИСТОЧНИК. После загрузки: //Сообщить(Источник.ПорядокПогашенияСтоимостиБУ); //Попытка //Объект.ПрочийОбъектУчета = Справочники.ПрочиеОбъектыУчета.ПриобретениеОС; Объект.ПрочийОбъектУчет = ПогашениеСтоимости; //Сообщить("После загрузки: " + Объект.ПрочийОбъектУчет); //Объект.СпособНачисленияАмортизации = СпособНачисления; //Сообщить("После загрузки: " + СпособНачисления;//Объект.СпособНачисленияАмортизаци); //Объект.ПорядокПогашенияСтоимости = Перечисления.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации; //Перечисления.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации; Источник.ПорядокПогашенияСтоимостиБУ //Исключение //КонецПопытки; |
|||
6
dva1c
14.05.12
✎
12:20
|
+(5) После выгрузки:
ПогашениеСтоимости = Источник.ПорядокПогашенияСтоимостиБУ; СпособНачисления = Источник.СпособНачисленияАмортизацииБУ; //ПорядокПогашения = Источник. Сообщить("После выгрузки: " + ПогашениеСтоимости); Сообщить("После выгрузки: " + СпособНачисления); |
|||
7
GenV
14.05.12
✎
12:23
|
(4) Подробно это так:
1) Исходные данные источника (описание алгоритма или имя реквизита и его тип) 2) Конечные данные приемника (имя реквизита и тип) 3) Что имеется в сделанном виде с учетом 1) и 2) - ну допустим это ты уже написал |
|||
8
dva1c
14.05.12
✎
12:25
|
(7) Понял. Сейчас все будет согласно пунктам.
Для начала: http://s019.radikal.ru/i619/1205/43/aab428de3574.jpg |
|||
9
dva1c
14.05.12
✎
12:34
|
Документ в бухгалтерии
http://s019.radikal.ru/i618/1205/30/8559f3f733c2.jpg Документ в Оперативном учете http://s019.radikal.ru/i631/1205/8d/0df384589db0.jpg |
|||
10
dva1c
14.05.12
✎
12:39
|
Сейчас работаю с этим реквизитом
ИСТОЧНИК ПорядокПогашенияСтоимостиБУ, ТипЗначения: ПеречислениеСсылка.ПорядокПогашенияСтоимостиОС ПРИЕМНИК ПорядокПогашенияСтоимости1, ТипЗначения: ПеречислениеСсылка.ПорядокПогашенияСтоимостиОС |
|||
11
dva1c
14.05.12
✎
12:43
|
ИСТОЧНИК:
СпособНачисленияАмортизацииБУ, ТипЗначения: ПеречислениеСсылка.СпособыНачисленияАмортизацииОС ПРИЕМНИК: СпособНачисленияАмортизации, ТипЗначения: ПеречислениеСсылка.СпособНачисленияАмортизацииОС |
|||
12
GenV
14.05.12
✎
12:45
|
(10) И в чем сложность? Настраиваешь конвертацию значений (в твоем ПКО ПорядокПогашенияСтоимостиОС). Если конвертация по условию, то передаешь строковое имя предопределенного элемента в приемнике в ПередВыгрузкой реквизита по условию, а правило удаляешь.
|
|||
13
dva1c
14.05.12
✎
12:48
|
Что сделал?
Сделал в ПКО: http://s019.radikal.ru/i636/1205/61/24018c5a2dfc.jpg --- Пока сдирал скрины и пытался систематизировать информацию появилось (12). Спасибо! Попытаюсь понять и проверить. |
|||
14
GenV
14.05.12
✎
12:49
|
(12+ Имя передаешь как: Значение = "ИмяПредопределенного";
|
|||
15
dva1c
14.05.12
✎
12:56
|
(14) В (5) можно увидеть:
Объект.ПорядокПогашенияСтоимости = Перечисления.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации; А я пытаюсь Объект.ПорядокПогашенияСтоимости = Источник.СпособНачисленияАмортизацииБУ; А валятся ошибки: Начало загрузки: 14.05.2012 12:21:14 Ошибка в обработчике события ПослеЗагрузкиОбъекта ИмяПКО = ПринятиеКУчетуОС ТипОбъекта = Документ ссылка: Принятие к учету ОС Объект = Принятие к учету ОС 00000000039 от 01.02.2010 15:00:00 Обработчик = ПослеЗагрузкиОбъекта ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML(5832) КодСообщения = 21 Ошибка при загрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML(1504)}: Ошибка в обработчике события ПослеЗагрузкиОбъекта ИмяПКО = ПринятиеКУчетуОС ТипОбъекта = Документ ссылка: Принятие к учету ОС Объект = Принятие к учету ОС 00000000039 от 01.02.2010 15:00:00 Обработчик = ПослеЗагрузкиОбъекта ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML(5832) КодСообщения = 21 Окончание загрузки: 14.05.2012 12:21:14 Загружено объектов: 11 |
|||
16
dva1c
14.05.12
✎
12:59
|
(14) Я не понял, как это: "Имя передаешь как..."
Какое имя? Имя чего? В каком обработчике писать? |
|||
17
GenV
14.05.12
✎
13:10
|
(16) Ну, так вроде все написал в 12+14. Обработчик ПередВыгрузкой (соотв. при выгрузке, а не загрузке) и как передавать тоже "имя предопределенного элемента в приемнике", т.е. имя значения перечисления - через: Значение = "ИмяПредопределенного";
|
|||
18
dva1c
14.05.12
✎
13:15
|
(17) Сразу вопрос. "ИмяПредопределенного" - это будет браться значение, какое стоит в ИСТОЧНИК?
|
|||
19
dva1c
14.05.12
✎
13:16
|
+(18) Значение этого перечисления будет браться из ИСТОЧНИК?
|
|||
20
dva1c
14.05.12
✎
13:18
|
Для полного понимания моих "изысков" скинул сюда:
http://zalil.ru/33233336 |
|||
21
dva1c
14.05.12
✎
13:18
|
+(20) Скинул мои правила.
|
|||
22
GenV
14.05.12
✎
13:18
|
(18) Нет - значение в приемнике. Т.е. сразу нужное значение.
|
|||
23
dva1c
14.05.12
✎
13:42
|
(22) > Т.е. сразу нужное значение.
Так я умею. Но если я проставлю нужное мне значение, то оно может отличаться от значения в ИСТОЧНИК. Это не есть, гуд. ( |
|||
24
GenV
14.05.12
✎
13:47
|
(23) Давай пример. Что по твоему не есть гуд )
|
|||
25
dva1c
14.05.12
✎
13:50
|
(24) Быстро не смогу. Мне нужно "сэмулировать" этот пример.
На словах. Значение в ИСТОЧНИКЕ будет отличаться от значения в ПРИЕМНИК. |
|||
26
GenV
14.05.12
✎
14:04
|
(25) Ясен пень будут отличаться - это две разные базы ) В приемнике не может быть значение из источника.
|
|||
27
dva1c
14.05.12
✎
14:17
|
(26) Вот теперь яснее. Спасибо! Т.е. я явно проставляю все значения реквизитов приемника?
|
|||
28
GenV
14.05.12
✎
14:25
|
(27) Да. Или конвертацию значений используй - вторая закладка внизу в ПКО перечисления. Можно вручную задать соответствие значений источника и приемника. Тогда КД сама по значению источника выгрузит его для нужного значения приемника.
|
|||
29
GenV
14.05.12
✎
14:27
|
28+ это для перечислений, если что. А не для всех случаев жизни )
|
|||
30
dva1c
14.05.12
✎
14:27
|
(28) Спасибо! Отличная рекомендация!
|
|||
31
dva1c
14.05.12
✎
14:35
|
(29) Это там, где я обвел на скрине красным?
http://s019.radikal.ru/i603/1205/53/79f73e1fea3c.jpg |
|||
32
GenV
14.05.12
✎
15:12
|
(31) Для ПорядокПогашенияСтоимостиОС правило не нужно. Примитивные типы: дата, число, булево конвертируются без правил.
|
|||
33
GenV
14.05.12
✎
15:12
|
(32+ реквизит НачислятьАмортизациюБУ
|
|||
34
dva1c
14.05.12
✎
15:26
|
(33) Спасибо за дельные советы!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |