Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
04 окт 2023, 00:46

Выгрузка в формате .mmo

Автор km91, 17 дек 2012, 11:51

0 Пользователей и 1 гость просматривают эту тему.

km91

Здравствуйте. Решил сделать выгрузку расходных накладных в формате .mmo
Конфа типовая УТ 8.1 для украины.
С таким форматом вообще никогда не сталкивался.
Может есть у кого нибудь хоть маленький пример кода такой выгрузки.
Был бы безмерно признателен.

Dethmontt

Что это за .mmo ?
Добавлено: 17 дек 2012, 13:54


Обычный текст - http://www.forum.mista.ru/topic.php?id=551445

Выгрузка РН в формате mmo

(0) На. Модуль формы.

Перем ПрефиксСохранения;

Процедура Сформировать()
Перем ИмяФайла, ИмяФайлаСообщения, Текст;
Если Док.Выбран()=0 Тогда
Предупреждение("Не указан документ!");
Возврат;
КонецЕсли;
ИмяФайла=СокрЛП(ПутьВыгрузки)+"\NKL"+СокрЛП(Док.НомерДок)+".mmo";
ИмяФайлаСообщения=СокрЛП(ПутьВыгрузки)+"\NKL"+СокрЛП(Док.НомерДок)+".txt";
Текст=СоздатьОбъект("Текст");
//*************** Секция 1

Стр="РАСХОДНАЯ_НАКЛАДНАЯ"+Симв(9)+СокрЛП(ОКПОПоставщика)+Симв(9)+СокрЛП(ОКПОПолучателя)+Симв(9)+"версия_3";
Текст.ДобавитьСтроку(Стр);
//*************** Секция 2

Стр=
СокрЛП(Док.НомерДок)+Симв(9)+ //1 Номер документа Строка 25

СокрЛП(Док.ДатаДок)+Симв(9)+ //2 Дата документа Дата 10

""+Симв(9)+ //3 Номер Налоговой накладной Строка 25

""+Симв(9)+ //4 Наименование поставщика Строка 50

""+Симв(9)+ //5 Банк Строка 50

""+Симв(9)+ //6 Р/с Строка 25

""+Симв(9)+ //7 МФО Строка 10

"Наш телефон"+Симв(9)+ //8 Телефоны Строка 30

"Наш адрес"+Симв(9)+ //9 Адрес поставщика Строка 100

""+Симв(9)+ //10 Номер лицензии Строка 25

""+Симв(9)+ //11 Срок лицензии Дата 10

Формат(Док.Сумма,"Ч15.2")+Симв(9)+ //12 Сумма без НДС Число 15.2

Формат(Док.Сумма,"Ч15.2")+Симв(9)+ //13 Сумма с НДС Число 15.2

""+Симв(9)+ //14 Срок оплаты Дата 10

"1"+Симв(9)+ //15 Признак: цена включает НДС или не вкл.НДС Число 1

""+Симв(9)+ //16 Код метода синхронизации Число 2

"2"+Симв(9); //17 Число значащих цифр дробной части реквизита "Сумма отпускная" в строках документа Число 1

Текст.ДобавитьСтроку(Стр);

//*************** Секция 3

Стр=""; //1 Строка комментария Строка 200

Текст.ДобавитьСтроку(Стр);

//*************** Секция 4

Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку()=1 Цикл
Состояние("Выполнено "+Док.НомерСтроки+" из "+Док.КоличествоСтрок());
Стр=
Строка(Док.Товар.Код)+Симв(9)+ //1 ID товара Строка 20

Док.Товар.Наименование+Симв(9)+ //2 Наименование товара Строка 100

""+Симв(9)+ //3 ID производителя Строка 20

Док.Товар.Производитель+Симв(9)+ //4 Наименование производителя Строка 50

""+Симв(9)+ //5 ID внешний (например Морион) Строка 20

""+Симв(9)+ //6 Номер регистрации Строка 40

""+Симв(9)+ //7 Дата регистрации Дата 10

""+Симв(9)+ //8 Срок регистрации Дата 10

"20"+Симв(9)+ //9 Процент НДС Число 3

""+Симв(9)+ //10 Макс процент от тамож Число 3

""+Симв(9)+ //11 № Серии Строка 16

""+Симв(9)+ //12 Номер сертификата Строка 20

""+Симв(9)+ //13 Дата сертификата Дата 10

""+Симв(9)+ //14 Срок годности Дата 10

"шт"+Симв(9)+ //15 Ед Изм Строка 5

Формат(Док.Кол, "Ч15.3")+Симв(9)+ //16 Количество Число 15.3

Формат(0, "Ч15.3")+Симв(9)+ //17 Цена Складская Число 16.4

Формат(Док.Цена, "Ч16.4")+Симв(9)+ //18 Цена Таможенная Число 16.4

Формат(0, "Ч6.2")+Симв(9)+ //19 Процент наценки поставщика Число 6.2

Формат(Док.Цена, "Ч16.4")+Симв(9)+ //20 Цена Отпускная (для аптеки это закупочная) Число 16.4

Формат(Док.Сумма, "Ч16.4"); //21 Сумма отпускная Число 16.4

Текст.ДобавитьСтроку(Стр);
КонецЦикла;
Текст.Записать(ИмяФайла);
Если флОтправить=1 Тогда
Если ПустаяСтрока(EMail)=1 Тогда
Предупреждение("Не указан почтовый адрес!");
Возврат;
КонецЕсли;
Кому=СокрЛП(EMail);
Тема="""Накладная №"+Док.НомерДок+" от "+Док.ДатаДок+"""";
Текст=СоздатьОбъект("Текст");
Текст.ДобавитьСтроку("Во вложении накладная №"+Док.НомерДок+" от "+Док.ДатаДок);
Текст.Записать(ИмяФайлаСообщения);

СтрокаКоманды="""C:\Program Files\The Bat!\thebat.exe"" /MAIL";
СтрокаКоманды=СтрокаКоманды+"TO="+Кому;
//СтрокаКоманды=СтрокаКоманды+";F=Mail.ru\Исходящие";

СтрокаКоманды=СтрокаКоманды+";S="+Тема;
СтрокаКоманды=СтрокаКоманды+";TEXT="""+ИмяФайлаСообщения+"""";
СтрокаКоманды=СтрокаКоманды+";FILE="+""""+ИмяФайла+"""";
ЗапуститьПриложение(СтрокаКоманды);
КонецЕсли;
КонецПроцедуры

Процедура ПриНачалеВыбораЗначения(Контрол, Флаг)
Перем ВыбКаталог;
Если Контрол="ПутьВыгрузки" Тогда
Флаг=0;
ВыбКаталог=СокрЛП(ПутьВыгрузки);
Если ФС.ВыбратьКаталог(ВыбКаталог, "Экспорт накладной")=0 Тогда
Возврат;
КонецЕсли;
ПутьВыгрузки=ВыбКаталог;
КонецЕсли;
КонецПроцедуры

Процедура ПриОткрытии()
ПутьВыгрузки= ВосстановитьЗначение(ПрефиксСохранения+"ПутьВыгрузки");
ОКПОПоставщика= ВосстановитьЗначение(ПрефиксСохранения+"ОКПОПоставщика");
ОКПОПолучателя= ВосстановитьЗначение(ПрефиксСохранения+"ОКПОПолучателя");
EMail= ВосстановитьЗначение(ПрефиксСохранения+"EMail");
Если ТипЗначенияСтр(Форма.Параметр)="СписокЗначений" Тогда
Док=Форма.Параметр.Получить("Док");
EMail=Док.Клиент.EMail;
КонецЕсли;
КонецПроцедуры

Процедура ПриЗакрытии()
СохранитьЗначение(ПрефиксСохранения+"ПутьВыгрузки", ПутьВыгрузки);
СохранитьЗначение(ПрефиксСохранения+"ОКПОПоставщика", ОКПОПоставщика);
СохранитьЗначение(ПрефиксСохранения+"ОКПОПолучателя", ОКПОПолучателя);
СохранитьЗначение(ПрефиксСохранения+"EMail", EMail);
КонецПроцедуры

ПрефиксСохранения="ЭкспортММО";
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

km91

Цитата: Dethmontt от 17 дек 2012, 13:48
Что это за .mmo ?
Добавлено: 17 дек 2012, 13:54


Обычный текст - http://www.forum.mista.ru/topic.php?id=551445
Есть такой формат. Вот только это нашел, а как документ в таком виде сохранить не знаю.
http://www.salvia.cn.ua/mmo/ANR-format.html

Dethmontt

Обычный ТЕКСТ - Структурированный символами табуляции и переносом строк
парсинг с помощью JScrip +Html
Добавлено: 17 дек 2012, 14:07


:D:D По твоей ссылке даже структура файла есть, чо думать то....
Добавлено: 17 дек 2012, 14:09


В описании формата написано что нужно делать
Есть пример...
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

km91

Цитата: Dethmontt от 17 дек 2012, 14:03
Обычный ТЕКСТ - Структурированный символами табуляции и переносом строк
парсинг с помощью JScrip +Html
Добавлено: 17 дек 2012, 14:07


:D:D По твоей ссылке даже структура файла есть, чо думать то....
Добавлено: 17 дек 2012, 14:09


В описании формата написано что нужно делать
Есть пример...
Простите за тупость, уже разобрался

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск