Добрый день!
Импорт накладных из XML файла в MEDOC занимает очень много времени, импорт накладных за один день где-то от 5-ти часов.
Есть ли у кого либо структура базы MEDOC? Что напрямую заливать накладыне в базу?
Т.к. сам Medoc что-то не хочет нечего делать по улутшению работы программы...
Импорт XML в MEDOC
Re: Импорт XML в MEDOC
Структуру базы нет смысла знать прямо сейчас, посколько она очень подвижна.
Думаете, все так просто? Делаем, не сомневайтесь.
Думаете, все так просто? Делаем, не сомневайтесь.
-
- Повідомлень: 12
- З нами з: 27 січня 2012, 15:04
Re: Импорт XML в MEDOC
Я верю в что может быть делаете, хотя ответа не так и не получил что звонил, что писал все в бездну...
Приведу Вам пример: для того что бы импортировать и отправить наклданые в ДПА за один день надо потратить 23 часа 30 минут, это при условии что с базой будет работать только один человек.
Как Вы думаете? Мы можем уложиться в сроки регестрации накладных???
Приведу Вам пример: для того что бы импортировать и отправить наклданые в ДПА за один день надо потратить 23 часа 30 минут, это при условии что с базой будет работать только один человек.
Как Вы думаете? Мы можем уложиться в сроки регестрации накладных???
-
- Повідомлень: 4
- З нами з: 01 лютого 2012, 15:45
Re: Импорт XML в MEDOC
Структура базы элементарно смотрится. Откройте документ на экране и войдите в пункт "Правка / Електронна форма"
Вот вам код выгрузки налоговой в Медок из 1С, организованный по этому принципу
Вот вам код выгрузки налоговой в Медок из 1С, организованный по этому принципу
Код: Виділити все
Попытка
App = CreateObject("medoc.ZApplication");
Исключение
Предупреждение("Не удалость подключиться к Медку.
|Возможно, программа не запущена!");
Возврат;
КонецПопытки;
Фирма = НалоговаяНакладная.Фирма;
Фирма.ИспользоватьДату(НалоговаяНакладная.ДатаДок);
Контрагент = НалоговаяНакладная.Клиент;
Контрагент.ИспользоватьДату(НалоговаяНакладная.ДатаДок);
Договор = НалоговаяНакладная.Договор;
НомерДоговора = СокрЛП(Договор.Код);
ДатаДоговора = Договор.ДатаНачала;
ВидДоговора = Договор.ВидДоговора;
PDate = ТекущаяДата();
Doc = App.CreateDocumentByParam("J1201004",0 ,PDate, 1);
rsMain = Doc.DataSets("MAIN");
rsMain.Edit();
rsMain.FldVal("A5_11" ,НалоговаяНакладная.Итог("Сумма"));
rsMain.FldVal("A5_7" ,НалоговаяНакладная.Итог("Сумма"));
rsMain.FldVal("A6_11" ,НалоговаяНакладная.Итог("НДС"));
rsMain.FldVal("A6_7" ,НалоговаяНакладная.Итог("НДС"));
rsMain.FldVal("A7_11" ,НалоговаяНакладная.Итог("Сумма") + НалоговаяНакладная.Итог("НДС"));
rsMain.FldVal("A7_7" ,НалоговаяНакладная.Итог("Сумма") + НалоговаяНакладная.Итог("НДС"));
rsMain.FldVal("FIRM_ADR" ,СокрЛП(Фирма.Адрес));
rsMain.FldVal("FIRM_CITYCD" ,СокрЛП(СтрЗаменить(Фирма.Телефон,"-","")));
rsMain.FldVal("FIRM_EDRPOU" ,СокрЛП(Фирма.КодОКПО));
rsMain.FldVal("FIRM_INN" ,СокрЛП(Фирма.ИНН));
rsMain.FldVal("FIRM_NAME" ,Название(Фирма));
rsMain.FldVal("FIRM_SRPNDS" ,СокрЛП(Фирма.НомерСвидНДС));
rsMain.FldVal("N1" ,"X");
rsMain.FldVal("N10" ,СокрЛП(НалоговаяНакладная.Автор));
rsMain.FldVal("N11" ,НалоговаяНакладная.ДатаДок);
rsMain.FldVal("N12" ,НалоговаяНакладная.Включено_в_ЕРПН);
НомерДок = Число(НомерДокумента(НалоговаяНакладная));
rsMain.FldVal("N2_1" ,НомерДок);
rsMain.FldVal("N2_11" ,НомерДок);
rsMain.FldVal("N2_1I" ,НомерДок);
rsMain.FldVal("N3" ,Название(Контрагент) );
rsMain.FldVal("N4" ,СокрЛП(Контрагент.ИНН) );
rsMain.FldVal("N5" ,СокрЛП(Контрагент.Адрес) );
rsMain.FldVal("N6" ,СокрЛП(СтрЗаменить(Контрагент .Телефон,"-","")));
rsMain.FldVal("N7" ,СокрЛП(Контрагент.НомерСвидНДС));
rsMain.FldVal("N8" ,СокрЛП(ВидДоговора));
rsMain.FldVal("N81" ,СокрЛП(НомерДоговора));
rsMain.FldVal("N82" ,ДатаДоговора);
rsMain.FldVal("N9" ,СокрЛП(НалоговаяНакладная.ФормаРасчета));
rsMain.FldVal("NAKL_TYPE" ,1);
rsMain.FldVal("PHON" ,СокрЛП(СтрЗаменить(Фирма.Телефон,"-","")));
ТЗ_ТМЦ = СоздатьОбъект("ТаблицаЗначений");
НалоговаяНакладная.ВыгрузитьТабличнуюЧасть(ТЗ_ТМЦ);
Ном = 0;
ТЗ_ТМЦ.ВыбратьСтроки();
Пока ТЗ_ТМЦ.ПолучитьСтроку() = 1 Цикл
Ном = Ном + 1;
rsTAB = Doc.DataSets("TAB1") ;
rsTAB.Edit();
Если Ном > 1 Тогда
rsTAB.Append();
КонецЕсли;
Если НалоговаяНакладная.НомерСтроки = 1 Тогда
rsTAB.FldVal("TAB1_A1" ,"I");
КонецЕсли;
rsTAB.FldVal("TAB1_A12" ,НалоговаяНакладная.ДатаДок);
rsTAB.FldVal("TAB1_A13" ,СокрЛП(ТЗ_ТМЦ.ТМЦ));
rsTAB.FldVal("TAB1_A131" ,СокрЛП(ТЗ_ТМЦ.ТМЦ.КодУКТ_ЗЕД ));
rsTAB.FldVal("TAB1_A14" ,СокрЛП(ТЗ_ТМЦ.ТМЦ.БазоваяЕдиница ));
rsTAB.FldVal("TAB1_A15" ,ТЗ_ТМЦ.Количество);
rsTAB.FldVal("TAB1_A16" ,Окр(ТЗ_ТМЦ.Сумма / ТЗ_ТМЦ.Количество,4,1));
rsTAB.FldVal("TAB1_A17" ,ТЗ_ТМЦ.Сумма);
rsTAB.Post();
КонецЦикла;
//
rsMain.Post();
Doc.Save(PDate);
Doc.Close();
Сообщить("Перенесен документ " + НалоговаяНакладная);