Импорт XML в MEDOC

Проблеми зв'язані з експортом\імпортом звітів, довідників.
Відповісти
Meriguan_KPI
Повідомлень: 12
З нами з: 27 січня 2012, 15:04

Импорт XML в MEDOC

Повідомлення Meriguan_KPI » 01 лютого 2012, 15:39

Добрый день!
Импорт накладных из XML файла в MEDOC занимает очень много времени, импорт накладных за один день где-то от 5-ти часов.
Есть ли у кого либо структура базы MEDOC? Что напрямую заливать накладыне в базу?
Т.к. сам Medoc что-то не хочет нечего делать по улутшению работы программы...

Родин Евгений

Re: Импорт XML в MEDOC

Повідомлення Родин Евгений » 01 лютого 2012, 15:52

Структуру базы нет смысла знать прямо сейчас, посколько она очень подвижна.
Думаете, все так просто? Делаем, не сомневайтесь.

Meriguan_KPI
Повідомлень: 12
З нами з: 27 січня 2012, 15:04

Re: Импорт XML в MEDOC

Повідомлення Meriguan_KPI » 02 лютого 2012, 10:51

Я верю в что может быть делаете, хотя ответа не так и не получил что звонил, что писал все в бездну...

Приведу Вам пример: для того что бы импортировать и отправить наклданые в ДПА за один день надо потратить 23 часа 30 минут, это при условии что с базой будет работать только один человек.
Как Вы думаете? Мы можем уложиться в сроки регестрации накладных???

BobyrSergey
Повідомлень: 4
З нами з: 01 лютого 2012, 15:45

Re: Импорт XML в MEDOC

Повідомлення BobyrSergey » 05 лютого 2012, 18:05

Структура базы элементарно смотрится. Откройте документ на экране и войдите в пункт "Правка / Електронна форма"

Вот вам код выгрузки налоговой в Медок из 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();
	Сообщить("Перенесен документ " + НалоговаяНакладная);


Відповісти

Повернутись до “Експорт\імпорт”