Класс "ЗаписьXML" для 1С++, аналог одноименного класса из 8.x.

02.11.12

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

Мне понадобилось перенести работающий код выгрузки данных в xml из 1С 8.2 в 7.7. Чтобы минимизировать исправления - написал класс-эмулятор класса ЗаписьXML из 8.2. Теперь при переносе кода из 1С8.2 в 7.7 количество необходимых изменений - минимально.

Скачать исходный код

Наименование Файл Версия Размер
Конфигурация - пример
.rar 12,33Kb
15
.rar 12,33Kb 15 Скачать

Мне понадобилось перенести работающий код выгрузки данных в xml из  1С 8.2 в 7.7. Чтобы минимизировать исправления - написал класс-эмулятор класса ЗаписьXML из 8.2. Теперь при переносе кода из количество необходимых изменений - минимально.

В идеальном случае нужно заменить 

ЗаписьXML = Новый ЗаписьXML;

на

ЗаписьXML = СоздатьОбъект("ЗаписьXML");

 

В результате код выгрузки с использованием класса выглядит так же, как в 8.х:

    ИмяВременногоФайла = "C:\test.xml");



   
ЗаписьXML = СоздатьОбъект("ЗаписьXML");

   
ЗаписьXML.ОткрытьФайл(ИмяВременногоФайла);

   
ЗаписьXML.ЗаписатьОбъявлениеXML();

   
ЗаписьXML.ЗаписатьНачалоЭлемента("yml_catalog");

   
ЗаписьXML.ЗаписатьАтрибут("date", "" + ТекущаяДата());



   
//Валюты

   
ЗаписьXML.ЗаписатьНачалоЭлемента("currencies");

   
ЗаписьXML.ЗаписатьНачалоЭлемента("currency");

   
ЗаписьXML.ЗаписатьАтрибут("ID", "UAH");

   
ЗаписьXML.ЗаписатьАтрибут("rate", "1");

   
ЗаписьXML.ЗаписатьКонецЭлемента();

   
ЗаписьXML.ЗаписатьКонецЭлемента();

    //

   
ЗаписьXML.ЗаписатьКонецЭлемента();//yml_catalog

   
ЗаписьXML.Закрыть();

Для работы также требуется класс "Стек" (включен в файл примера).

 

Кроме методов, присутствующих в классе ЗаписьXML, добавил дополнительные, позволяющие делать выгрузку более лаконично:

  • ЗаписатьЗначениеЭлемента(Имя, Значение) - добавляет в файл строку вида:
    <currencyId>USD</currencyId>
  • ЗаписатьПараметр(Имя, Значение) - добавляет в файл строку вида:
    <param name="Максимальный формат">А4</param>

Содержимое: МД файл с классом ЗаписьXML и Стек (в обработках), с примером выгрузки (в отчетах)

См. также

SALE! 10%

Перенос данных из 1С:Бухгалтерия 7.7 в БП 3.0. Переносятся остатки, документы и справочники

Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v7.7 Платформа 1С v8.3 1С:Бухгалтерия 7.7 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Бухгалтерия 7.7 в БП 3.0 | Продукт является развитием и исправлением ошибок стандартной обработки для выгрузки данных из 1С Бухгалтерии 7.7 в Бухгалтерию 3.0 | Предоставляем техподдержку | Обновляем на новые релизы 1С | Перенос из 7.7 является сложным, и на рынке сложно найти специалистов 1С по "семерке" - наши сотрудники помогут вам выполнить переход в рамках техподдержки предлагаемого переноса данных!

50722 45650 руб.

26.05.2020    34065    10    67    

16

Загрузка документов в 1С (7.7) из табличных файлов Excel,OpenOffice,1C,DBF,TXT (обработка)

Файловый обмен (TXT, XML, DBF), FTP Загрузка и выгрузка в Excel Платформа 1С v7.7 Конфигурации 1cv7 Платные (руб)

Обработка решает поставленную задачу по вводу документов, а кроме того обладает важной функцией: настраивается на ассортимент конкретного поставщика, запоминая соответствие между его номенклатурой и «нашей». Т.е. фактически – является самообучающейся системой ввода накладных. У разных поставщиков могут быть накладные различного типа, с разным количеством полей, поэтому для каждого из них может быть сохранена своя собственная настройка диалоговой формы так, что любая поступающая накладная может быть обработана. По отношению к программе "1С:Предприятие 7.7" данное решение является внешними файлами. Для использования данного продукта не требуется вносить изменения в алгоритм существующих программ или используемых конфигураций.

2400 руб.

10.12.2009    76556    58    93    

68

Выгрузка документа Поступление товаров на комиссию из 1С 7.7 в универсальный формат EnterpriseData 1.12 для загрузки в 1С: Бухгалтерию 3

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v7.7 НДС Абонемент ($m)

Пример создания документа Поступление (акт, накладная, УПД) в 1С: Бухгалтерии 3 путем загрузки из XML универсального формата EnterpriseData 1.12 файла, сгенерированного обработкой документа "Реализация". Выгрузка реализации написана в самописной конфигурации на платформе 1С:Предприятие 7.7. Способ заполнения реквизитов поступления можно переделать под себя, выгрузка XML в универсальный формат EnterpriseData останется работоспособной.

1 стартмани

14.02.2023    2735    6    ksnik    0    

6

Робот-загрузчик и архив документов. Распознавание/загрузка сканов документов в 1С8(7.7), архив сканированных документов.

Файловый обмен (TXT, XML, DBF), FTP Учет документов Распознавание документов и образов Платформа 1С v7.7 Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Конфигурации 1cv7 Россия Платные (руб)

Программный комплекс способный распознавать сотни листов за раз любых сканированных(фото) документов (УПД, ТОРГ12, СФ, паспорт и пр.) и загружать их в любую 1С (БП3.0, УТ, КА, УНФ, УПП, 1С7.7 ТиС, ЗУП3 и пр.), а также формировать архив сканированных документов.<br> Робот применяет до 5 способов распознавания. Максимальное качество загрузки документов из бесплатных OCR. Работает без Интернета.

10800 руб.

13.10.2022    7904    1    12    

9

Реестр необлагаемых по 7 разделу декларации НДС операций

Файловый обмен (TXT, XML, DBF), FTP Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Россия Бухгалтерский учет НДС Абонемент ($m)

Выгрузка реестра необлагаемых НДС операций в ответ на требование налоговой инспекции. В формате xml согласно требованиям законодательства https://sbis.ru/formats/docFormatCard/120287/help/?scrollTo=description Реестр документов подаётся в ответ на требование налоговой о представлении пояснений. Начиная с 23 ноября 2020 года, его можно направлять по ТКС, в электронном виде в формате xml (письмо ФНС России от 12.11.2020 № ЕА-4-15/18589). Данная обработка просто выбирает необлагаемые суммы (не по ставке 0%) по книги продаж за выбранный квартал и включает их в реестр с кодом операции, который выбран в самой обработке.

1 стартмани

24.09.2021    4463    5    AndKovalchuk    0    

3

Выгрузка из 1С ТиС 9.2 в 1С БП 3.0 с дополнительными фильтрами по Фирме, Складу, Контрагенту, Проекту, Автору и Юрлицу

Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v8.3 Оперативный учет 7.7 1С:Торговля и склад 7.7 1С:Бухгалтерия 3.0 Бухгалтерский учет Управленческий учет Абонемент ($m)

Обработка и правила обмена данными для выгрузки документов и всех связанных с ними справочников из 1С7.7 ТиС 9.2 в 1С8.3 БП 3.0 через файл XML. В типовых конфигурациях уже есть такое решение. Это немного доработанные правила и сама обработка выгрузки, добавлена возможность устанавливать отбор по выгружаемым документам по Фирме, Контрагенту, Складу, Проекту, Автору, ЮрЛицу. А также это внешняя обработка, что даёт возможность адаптировать её под нетиповую ТиС. Обработка и правила тестировались на платформах: 1С: Предприятие 7.7 и 1С: Предприятие 8.3.18.1334. На типовых конфигурациях: «Торговля + склад», редакция 9.2 (7.70 1004) и «Бухгалтерия предприятия» редакция 3.0 (3.0.96.30).

1 стартмани

13.08.2021    8428    52    Kuzya_brаtsk    8    

11
Комментарии
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Ёпрст 1063 29.10.12 16:58 Сейчас в теме
Лень смотреть, на основе чего класс слеплен ?
Домдокумент ?
обычный текст ?
в7плюс ?
3. Dolly_EV 269 31.10.12 08:01 Сейчас в теме
(1) О! Тебе же лень было через fso переписать декларацию - вот оно, готовое ))))
(0) Автору - плюс!
еще бы кто бы написал класс "1С:Предприятие8_для_77" )))
2. curdate 50 29.10.12 17:01 Сейчас в теме
4. ITEkb 01.11.12 09:03 Сейчас в теме
Для стартапа маловато информации.
Пока сам от начала до конца не написал загрузку-выгрузку, только тогда понял, как это дело все работает.
Хотя, можно сослаться на то, что обрабтка для знающих людей.
Но здесь чаще простые обыватели подходящие под себя обработки ищет :)

В любом случае спасибо :) Пригодилось.
5. ksnik 579 14.03.13 15:33 Сейчас в теме
В обработке КлсЗаписьXML
Процедура ЗаписатьОбъявлениеXML() Экспорт
	Текст.ДобавитьСтроку("<?xml version=""1.0"" encoding=""windows-1251""?>");
КонецПроцедуры	// ЗаписатьОбъявлениеXML

тег с ошибочной кодировкой " encoding="win1251"?> вместо "windows-1251".
Кодировки "win1251" не существует. Есть "windows-1251".
6. igo1 267 20.11.14 13:11 Сейчас в теме
Чтобы получить заголовок файла <?xml version="1.0" encoding="windows-1251"?> пишем код.

Запись = Новый ЗаписьXML;
Запись.УстановитьСтроку("windows-1251");
Запись.ЗаписатьОбъявлениеXML();
........
7. programma 18.02.15 19:06 Сейчас в теме
Оставьте свое сообщение