|
загрузка xml в документ
|
Я
|
|
novichok_v_1c 27.10.16 - 14:16 | Всем добрый день! Есть задача закинуть данные из xml-файла в документ 1с бухгалтерии 3.0 "Отчет о розничных продажах". Я создал по аналогии с загрузкой данных для справочника обработку для данного документа. Но данные у меня не записываются. Может есть у кого пример такой обработки или советы для решения данной проблемы?
P.S. Конфа-8.3.8.2088 база бух - 3.0.43.223 |
DrShad 1 - 27.10.16 - 14:34 | как именно они не записываются?
|
novichok_v_1c 2 - 27.10.16 - 14:37 | ( 1) ну нажимаю на кнопку "Записать XML в документ". он пару секунд думает,а при проверке документа "Отчет о розничных продажах" пусто. |
DrShad 3 - 27.10.16 - 14:37 | и что конкретно ты создал?
|
DrShad 4 - 27.10.16 - 14:37 | под кнопкой Записать XML в документ какой алгоритм?
|
novichok_v_1c 5 - 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ФайлНаСервере(Файлик);
КонецЕсли;
ОбновитьИнтерфейс();
КонецПроцедуры |
DrShad 6 - 27.10.16 - 14:44 | НовыйЭлемент.Товары.Номенклатура = СЗ[2].Значение;
что это!? что по твоему должно произойти? |
novichok_v_1c 7 - 27.10.16 - 14:46 | ( 6) значение второго эл-та xml-го файла уйдет в номенклатуру. нет разве? |
DrShad 8 - 27.10.16 - 14:50 | нет
|
arccos6pi 9 - 27.10.16 - 14:50 | ( 7) Стаж: 4 года 5 месяцев 25 дней
и так писать... |
novichok_v_1c 10 - 27.10.16 - 14:51 | ( 8) а что нужно поменять? |
DrShad 11 - 27.10.16 - 14:52 | ( 10) боюсь озвучивать, но похоже начать нужно с начала |
novichok_v_1c 12 - 27.10.16 - 14:56 | ( 11) а если по конкретнее? с нуля все писать что ли?
или можно в этом кода что-то поменять? |
novichok_v_1c 13 - 27.10.16 - 15:15 | ( 9) я как бы оч давно не работал в 1с. поэтому тут и спрашиваю. Может у тебя есть конкретные предложения по исправлению кода или доработки его? |
novichok_v_1c 14 - 27.10.16 - 15:20 | апап
|
arccos6pi 15 - 27.10.16 - 15:21 | ( 13) тут нечего исправлять
тут нужно писать заново |
novichok_v_1c 16 - 27.10.16 - 15:22 | ( 15) хорошо,тогда с чего начать? по подробнее можешь описать? |
arccos6pi 17 - 27.10.16 - 16:46 | ( 16) для начала понять,что все что вы прочитали из xml - строки, а нужные реквизиты у документа имею совсем другие типы
потом неплохо бы понять что нужно добавить строку в табличную часть прежде чем ее заполнять |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать
новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более
2000 человек.