0
hawk1
11.03.15
✎
14:08
|
Дорабатываю обработку ЗагрузкаДанных. Надо чтобы приходные накладные загружались не в документ ПоступлениеМатериалов, а в документ ПоступлениеТоваров. Не получается заполнить реквизит Товар. Вот код: Для Сч = 0 По КолвоРеквизитов - 1 Цикл
Реквизит = Реквизиты.ПолучитьУзел(Сч);
ИдРеквизита = Реквизит.ПолучитьАтрибут("Идентификатор");
Если Вид = "ПоступлениеТоваров" Тогда
Если ИдРеквизита = "Материал" Тогда
ИдРеквизита = "ВидМПЗ";
Реквизит.УстановитьАтрибут("Значение","Материалы");
КонецЕсли;
КонецЕсли;
Значение = УстановитьРеквизит(Реквизит, "Документ", Вид, ИдРеквизита);
Если Значение = "#НеУстановлен" Тогда
ЗаписатьОшибку("Не установлен реквизит. Документ." + Вид + ": " + ОбъектБД + " Реквизит: " + ИдРеквизита);
Продолжить;
КонецЕсли;
ТипРеквизита = "";
ПрочитатьИнформациюОТипеРеквизита("Документ", Вид, ИдРеквизита, ТипРеквизита);
Если ПустоеЗначение(ТипРеквизита) = 1 Тогда
ПредставлениеРеквизита = "Документ." + Вид + "." + ИдРеквизита;
ЗаписатьОшибку("Неверное имя реквизита:" + ПредставлениеРеквизита);
Продолжить;
ИначеЕсли ТипРеквизита = "Неопределенный" Тогда
ТипЗнач = Реквизит.ПолучитьАтрибут("ТипЗначения");
ВидЗнач = Реквизит.ПолучитьАтрибут("ВидЗначения");
Точность = 0;
Если ТипЗнач = "Число" Тогда
СтрТочность = Значение;
Точность = СтрДлина( ОтделитьРазделителем(СтрТочность, ".") );
КонецЕсли;
ОбъектБД.НазначитьТип(ИдРеквизита, ТипЗнач + ?(ПустоеЗначение(ВидЗнач)=1, "", "." + ВидЗнач), СтрДлина(Значение) + 10, Точность);
КонецЕсли;
ОбъектБД.УстановитьАтрибут(ИдРеквизита, Значение);
Если Вид = "ПоступлениеТоваров" Тогда
Если ИдРеквизита = "ВидМПЗ" Тогда
СсылкаУзел = Реквизит.ВыбратьУзлы("Ссылка").ПолучитьУзел(0);
РеквизитМатериал = СсылкаУзел.ВыбратьУзлы("Реквизит").ПолучитьУзел(0);
Значение = УстановитьРеквизит(РеквизитМатериал, "Документ", Вид, "Товар");
ОбъектБД.УстановитьАтрибут("Товар", Значение);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
Фрагмент файла выгрузки
<Документ Правило="ПоступлениеМатериалов_СуперОкна">
<Ссылка>
<Реквизит Идентификатор="НомерДок" Значение="1"/>
<Реквизит Идентификатор="ДатаДок" Значение="06.03.2015"/>
</Ссылка>
<Реквизит Идентификатор="Комментарий"/>
<Реквизит Идентификатор="ВариантРасчетаНалогов">
<Ссылка>
<Реквизит Идентификатор="Наименование" Значение="НДС сверху"/>
</Ссылка>
</Реквизит>
<Реквизит Идентификатор="МестоХранения">
<Ссылка>
<Реквизит Идентификатор="Наименование" Значение="Основной склад"/>
</Ссылка>
</Реквизит>
<Строка>
<Реквизит Идентификатор="Материал">
<Ссылка>
<Реквизит Идентификатор="Наименование" Значение="45.02.02"/>
</Ссылка>
</Реквизит>
<Реквизит Идентификатор="Количество" Значение="9"/>
<Реквизит Идентификатор="Цена" Значение="0"/>
<Реквизит Идентификатор="Сумма" Значение="0"/>
<Реквизит Идентификатор="НДС" Значение="0"/>
<Реквизит Идентификатор="НП" Значение="0"/>
<Реквизит Идентификатор="Всего" Значение="0"/>
</Строка>
</Документ>
|
|