![]() |
|
Выгрузка РН в формате mmo | ☑ | ||
---|---|---|---|---|
0
if1c
25.05.11
✎
13:08
|
Добрый день. Поделитесь пожалуйста обработкой по выгрузке РН в mmo(кто работал с аптеками тот в курсе).
Написал такую под 8.1, щаз срочно понадобилась под 7.7, а писать нет времени. Буду очень признателен. Почта в личке |
|||
1
if1c
25.05.11
✎
18:40
|
up
|
|||
2
VasilyKushnir
25.05.11
✎
19:42
|
Аська и почта тоже в личке - стукнись завтра после 8-00 по Киевскому
|
|||
3
Ork
25.05.11
✎
20:13
|
(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); КонецПроцедуры ПрефиксСохранения="ЭкспортММО"; |
|||
4
Ork
25.05.11
✎
20:32
|
В (3) модуль обработки.
Получает на входе СписокЗначений, где первым параметром документ, вторым мыло. И выкладывает файл на отправку в TheBat. |
|||
5
if1c
26.05.11
✎
10:37
|
Ork, Спасибо большое все работает.
Василий, выслал на почту. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |