![]() |
|
v7: 1С ПУБ Загрузка данных из СуперОкон | ☑ | ||
---|---|---|---|---|
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"/> </Строка> </Документ> |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |