Имя: Пароль:
1C
1С v8
КД 2.0 Ставка НДС из справочника в перечисление
,
0 vladnet
 
06.11.12
15:49
у меня есть задача перенести документ поступление из одной конфы в другую, в тч есть ставка НДС, причем в одной конфе это справочник в другой перечисление

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

перед выгрузкой это написал:

лМассивСтавок=Новый Массив;
Для каждого лСтрокаНоменклатуры из Источник.Номенклатура Цикл
лМассивСтавок.Добавить(лСтрокаНоменклатуры.СтавкаНДС.Ставка);
сообщить(лСтрокаНоменклатуры.СтавкаНДС.Ставка);
КонецЦикла;
Параметры.Вставить("СтавкиНДС", лМассивСтавок);

а вот при загузке Параметры.СтавкиНДС нет.

=======================

Был еще вариант v8: Перенос данных, из справочника в перечисление
Но так и не смог разобраться, плюс очень интересно как же работать с параметрами.
1 bazvan
 
06.11.12
15:49
в демо версии все есть
2 bazvan
 
06.11.12
15:49
тьху в демо базе
3 UnAmerican
 
06.11.12
16:01
Параметры - это уже структура которую ты должен описать в свойства конвертации, вкладка параметры. А потом обращаться через:
Параметры.СтавкиНДС=лМассивСтавок.
В твоем случае лучше пользоваться так:
ИсходящиеДанные = СоздатьОбъект("СписокЗначений");
лМассивСтавок=Новый Массив;
Для каждого лСтрокаНоменклатуры из Источник.Номенклатура Цикл
лМассивСтавок.Добавить(лСтрокаНоменклатуры.СтавкаНДС.Ставка);
сообщить(лСтрокаНоменклатуры.СтавкаНДС.Ставка);
КонецЦикла;
ИсходящиеДанные.Установить("СтавкиНДС", лМассивСтавок);
ВыгрузитьПоПравилу(,,ИсходящиеДанные,,"ИмяПравила");

В ПКС пишешь ВходящиеДанные.Получить("СтавкиНДС");

Можно и через параметр передать в алгоритм, он в основном для этого и используется. Например насобирал огромную Параметр.ТЗ. В алгоритме по обегал и по вызывал разные правила ПКО.
4 vladnet
 
06.11.12
16:20
(2) В демо базе говорят только наоборот есть пример.
5 vladnet
 
06.11.12
16:22
(3) посмотрел что то не получается

Перед выгрузкой:

ИсходящиеДанные=Новый СписокЗначений;
лМассивСтавок=Новый Массив;
Для каждого лСтрокаНоменклатуры из Источник.Номенклатура Цикл
   лМассивСтавок.Добавить(лСтрокаНоменклатуры.СтавкаНДС.Ставка);
   сообщить(лСтрокаНоменклатуры.СтавкаНДС.Ставка);
КонецЦикла;
ИсходящиеДанные.Добавить(лМассивСтавок, "СтавкиНДС");

ВыгрузитьПоПравилу(,,ИсходящиеДанные,, "ПоступлениеТоваровУслуг");


Выходти ошибка:

Ошибка получения значения свойства объекта (по имени свойства источника)
   ПКО                    =  ПоступлениеТоваровУслуг  (Документ: Поступление)
   ПКС                    =  1  (Номер --> Номер)
   Объект                 =    (Не определено)
   СвойствоПриемника      =  Номер  (Строка)
   ОписаниеОшибки         =  Получение элемента по индексу для значения не определено
   ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8323)
   КодСообщения           =  13
6 vladnet
 
06.11.12
16:24
(2) Подскажи пожалуйста где демо базу взять?
7 Defender aka LINN
 
06.11.12
16:25
(5) Жесть какая...
Для того, чтобы передать нужное значение, надо в ПКС ставки НДС в ПередВыгрузкой тупо написать "Значение = <ИмяЗначенияПеречисления>". Уж это-то, надеюсь, не сильно сложно?
8 vladnet
 
06.11.12
16:27
(7) Спасибо, это действительно не слишком сложно, сейчас попробую
9 vladnet
 
06.11.12
16:34
(7) Спасибо! Вот так работает.

Если Источник.СтавкаНДС.Ставка=0 или Источник.СтавкаНДС.Ставка=10 или Источник.СтавкаНДС.Ставка=18 или Источник.СтавкаНДС.Ставка=20 Тогда
   Значение="НДС"+Источник.СтавкаНДС.Ставка;
Иначе
   Значение="БезНДС";
КонецЕсли;

Подскажи что почитать чтобы понимать немного больше о том что же он внутри делает и как передавать дополнительные параметры.
10 Defender aka LINN
 
06.11.12
16:48
(9) Какие параметры, для чего?
11 UnAmerican
 
06.11.12
19:08
Так вы в (5) О ПКО говорили? Вообще вам или книжку по КД почитать или найти примеры на ИТС и по разбирать.

Еще раз говорю параметры удобно использовать только в алгоритмах. Если вы делаете над неким набором данным одинаковые действия, в зависимости от объекта выгрузки(еще раз выгрузки, но не конвертации).
12 kunashir
 
07.11.12
14:11
(9) Это в каком обработчике, какого ПКО?
AdBlock убивает бесплатный контент. 1Сергей