Формирование файла XML документа для выгрузки в M.E.Doc (Медок) (обычные формы)








Не все организации используют FREDO, а сервис обмена документами в электронном формате набирает популярность. В качестве альтернативы можно сформировать файл XML документа и загрузить его в M.E.Doc, с дальнейшим подписанием и отправкой контрагенту.

Обработки написаны в виде внешних подключаемых печатных форм. В качестве примера используются предустановленные макеты документов в M.E.Doc — Акт 1С82АВР0 и Накладная 1С82ВН0. Для заполнения используются переменные в этих двух макетах. В двух словах, порядок работы печатной формы

Функция ПечатьНакладнаяМедок1С82ВН0() Экспорт

ИмяШаблона = "Видаткова накладна (ціна без ПДВ) ТС";
КодШаблона = "1С82ВНТС";

Шапка = ПолучитьШапку1С82ВН0();
Шапка.Следующий();

ТабЧасть = ПолучитьТабЧасть1С82ВН0();

мТекст = "";

РаботаСMEDoc_СформироватьШапкуXML(ИмяШаблона, КодШаблона, мТекст);

//Тіло Акту міститься в елементі <DATA></DATA>
мТекст = мТекст + "<DATA>";

СформироватьОсновнуюЧастьXML1С82ВН0(Шапка, ТабЧасть, мТекст); //одинаково

СформироватьТабличнуюЧастьXML1С82ВН0(Шапка, ТабЧасть, мТекст);

//закрываем тело Акта
мТекст = мТекст + "</DATA>";
мТекст = мТекст + "</DOCUMENT>";

РаботаСMEDoc_ФорматироватьТекст(мТекст);

мТекст = СтрЗаменить(мТекст, "UTF-8", "windows-1251");

Возврат мТекст;

КонецФункции

Формируются два запроса — для шапки и табличной части

Затем происходит формирование текста XML, согласно документации M.E.Doc

//шапка документа
мТекст = мТекст + РаботаСMEDoc_СтрокаШапка("NUM", СокрЛП(ОбщегоНазначения.ПолучитьНомерНаПечать(СсылкаНаОбъект)));
мТекст = мТекст + РаботаСMEDoc_СтрокаШапка("DOCDATE", Формат(Шапка.Дата, "ДЛФ=DT"));

//табличная часть

мТекст = мТекст + РаботаСMEDoc_СтрокаТаблица("TAB1_A",    Формат(мИндекс + 1,     "ЧГ=0"), мИндекс);
мТекст = мТекст + РаботаСMEDoc_СтрокаТаблица("TAB1_A3", Формат(стр.Количество,     "ЧГ=0"), мИндекс);

Дополнение

Если в базе (Бухгалтерия) будут созданы доп.реквизиты, а для УТП и т.п. — доп.свойства и категории

— Дата выгрузки в M.E.Doc (тип Дата)

— Выгружен в M.E.Doc (тип Булево)

то при формировании печатной формы будут записаны эти данные в соответствующие регистры сведений.

При выгрузке откроется окно, в котором будет показан текст выгрузки XML, можно указать путь для сохранения (если путь не указать, то путь можно указать в диалоге выбора каталога)

Сформируется файл с названием в формате "Акт/накладная номер дата"

(картинки с описанием процесса приложены к публикации)

Проверено на конфигурациях "Бухгалтерия для Украины"(1.2.51.1), "Управление торговым предприятием для Украины" (1.2.50.1)

4 Comments

  1. script

    Вот молодец. Забираю однозначно.

    Reply
  2. Batman

    (1) Спасибо

    Reply
  3. The Ivan

    Хотя, (как вы пишите) и не все используют «FREDO», но при этом есть такие «не все» которые аналогично – не используют такое недоразумение как упомянутый «M.E.Doc».

    Лично я не знаю, в каких именно сферах «набирает популярность сервис обмена документами в электронном формате», ну разве что в сфере телекоммуникационных услуг (мобильные операторы таким образом экономят на бумаге). Хотя глядя на постоянно растущие тарифы на их услуги, они как минимум обязаны печатать свои счета-фактуры исключительно на бумаге высшего качества и только в цвете.

    Но не об этом разговор, возможно что через два-три года электронный документооборот действительно будет боле широко использоваться в повседневной жизни, но не стоит зацикливаться на одном только «МеДке».

    Ведь вокруг достаточно большое количество пользователей использующих к примеру – «АртЗвит» или «Сонату». Придумайте что ни будь и для них полезное.

    Неужели в вашей «вселенной» никого другого больше нет кроме как пользователей «МеДка»?

    Reply
  4. Batman

    (3) Ваше мнение понятно, спасибо за него

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *