|
загрузка xml в документ | ☑ | ||
---|---|---|---|---|
0
novichok_v_1c
27.10.16
✎
14:16
|
Всем добрый день! Есть задача закинуть данные из xml-файла в документ 1с бухгалтерии 3.0 "Отчет о розничных продажах". Я создал по аналогии с загрузкой данных для справочника обработку для данного документа. Но данные у меня не записываются. Может есть у кого пример такой обработки или советы для решения данной проблемы?
P.S. Конфа-8.3.8.2088 база бух - 3.0.43.223 |
|||
1
DrShad
27.10.16
✎
14:34
|
как именно они не записываются?
|
|||
2
novichok_v_1c
27.10.16
✎
14:37
|
(1) ну нажимаю на кнопку "Записать XML в документ". он пару секунд думает,а при проверке документа "Отчет о розничных продажах" пусто.
|
|||
3
DrShad
27.10.16
✎
14:37
|
и что конкретно ты создал?
|
|||
4
DrShad
27.10.16
✎
14:37
|
под кнопкой Записать XML в документ какой алгоритм?
|
|||
5
novichok_v_1c
27.10.16
✎
14:40
|
(4) &НаСервере
Процедура ПрочитатьXMLФайлНаСервере(Файлик); ПутьКФайлу = Файлик[0]; ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл(ПутьКФайлу); СЗ = Новый СписокЗначений; Пока ЧтениеXML.Прочитать() Цикл Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда ЧтениеXML.ПрочитатьАтрибут(); Атрибут = ЧтениеXML.Значение; КонецЕсли; Если ЧтениеXML.ТипУзла = ТипУзлаXML.Текст Тогда //дата оказания Если Атрибут = "visit_date" Тогда СЗ.Добавить(ЧтениеXML.Значение); КонецЕсли; //код услуги Если Атрибут = "service_code" Тогда СЗ.Добавить(ЧтениеXML.Значение); КонецЕсли; //Услуга Если Атрибут = "service_name" Тогда СЗ.Добавить(ЧтениеXML.Значение); КонецЕсли; //Кабинет Если Атрибут = "cablab_name" Тогда СЗ.Добавить(ЧтениеXML.Значение); КонецЕсли; КонецЕсли; Если ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента и Атрибут = "status_mnemo" Тогда СоздатьЭлементДокумента(СЗ) ; СЗ.Очистить(); КонецЕсли; КонецЦикла; КонецПроцедуры Процедура СоздатьЭлементДокумента(СЗ) ; Если СЗ.Количество() >0 Тогда НовыйЭлемент = Документы.ОтчетОРозничныхПродажах.СоздатьДокумент(); НовыйЭлемент.Дата = СЗ[0].Значение; НовыйЭлемент.Код = СЗ[1].Значение; НовыйЭлемент.Товары.Номенклатура = СЗ[2].Значение; НовыйЭлемент.Склад = СЗ[3].Значение; НовыйЭлемент.Записать(); СЗ.Очистить(); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПрочитатьИзФайлаXML(Команда) Режим = РежимДиалогаВыбораФайла.Открытие; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим); Фильтр = "xml|*.xml"; ДиалогОткрытияФайла.Фильтр = Фильтр; Если ДиалогОткрытияФайла.Выбрать() Тогда Файлик = ДиалогОткрытияФайла.ВыбранныеФайлы; ПрочитатьXMLФайлНаСервере(Файлик); КонецЕсли; ОбновитьИнтерфейс(); КонецПроцедуры |
|||
6
DrShad
27.10.16
✎
14:44
|
НовыйЭлемент.Товары.Номенклатура = СЗ[2].Значение;
что это!? что по твоему должно произойти? |
|||
7
novichok_v_1c
27.10.16
✎
14:46
|
(6) значение второго эл-та xml-го файла уйдет в номенклатуру. нет разве?
|
|||
8
DrShad
27.10.16
✎
14:50
|
нет
|
|||
9
arccos6pi
27.10.16
✎
14:50
|
(7) Стаж: 4 года 5 месяцев 25 дней
и так писать... |
|||
10
novichok_v_1c
27.10.16
✎
14:51
|
(8) а что нужно поменять?
|
|||
11
DrShad
27.10.16
✎
14:52
|
(10) боюсь озвучивать, но похоже начать нужно с начала
|
|||
12
novichok_v_1c
27.10.16
✎
14:56
|
(11) а если по конкретнее? с нуля все писать что ли?
или можно в этом кода что-то поменять? |
|||
13
novichok_v_1c
27.10.16
✎
15:15
|
(9) я как бы оч давно не работал в 1с. поэтому тут и спрашиваю. Может у тебя есть конкретные предложения по исправлению кода или доработки его?
|
|||
14
novichok_v_1c
27.10.16
✎
15:20
|
апап
|
|||
15
arccos6pi
27.10.16
✎
15:21
|
(13) тут нечего исправлять
тут нужно писать заново |
|||
16
novichok_v_1c
27.10.16
✎
15:22
|
(15) хорошо,тогда с чего начать? по подробнее можешь описать?
|
|||
17
arccos6pi
27.10.16
✎
16:46
|
(16) для начала понять,что все что вы прочитали из xml - строки, а нужные реквизиты у документа имею совсем другие типы
потом неплохо бы понять что нужно добавить строку в табличную часть прежде чем ее заполнять |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |