![]() |
#3 |
Участник
|
Написал простенький job и обработку для 1С. Интеграция идет по средствам обмена(в примере просто перегрузка из 1С в AX) xml файла. По всей видимости интеграция через обмен xml это наилучший вариант. В том числе можно доработать AIF и использовать его функционально.
1С 8.2 код. Я к сожалению так и не понял как запускать в 1Ске задачи в пакетном режиме поэтому сделал так - создал пользователя, и назначил ему исполнение нижеприведенного скрипта по средствам диспетчера задач виндовс с повторением каждую ночь. X++: () = XML; .("c:\document.xml"); .XML(); .("Cправочник"); .("Сотрудники"); = (); . = " ВЫБРАТЬ | ПаспортныеДанныеФизЛиц.ФизЛицо, | ПаспортныеДанныеФизЛиц.ДокументВид, | ПаспортныеДанныеФизЛиц.ДокументСерия, | ПаспортныеДанныеФизЛиц.ДокументНомер, | ПаспортныеДанныеФизЛиц.ДокументДатаВыдачи, | ПаспортныеДанныеФизЛиц.ДокументКемВыдан, | ПаспортныеДанныеФизЛиц.ДатаРегистрацииПоМестуЖительства, | ФизическиеЛица.Наименование, | СотрудникиОрганизаций.Организация.Код КАК Организация, | СотрудникиОрганизаций.Физлицо.Наименование КАК ФизЛицо1, | СотрудникиОрганизаций.Должность КАК Должность, | СотрудникиОрганизаций.ПодразделениеОрганизации.Код КАК Подразделение, | СотрудникиОрганизаций.Код КАК Код, | СотрудникиОрганизаций.ДатаУвольнения КАК ДатаУвольнения |ИЗ | РегистрСведений.ПаспортныеДанныеФизЛиц.СрезПоследних() КАК ПаспортныеДанныеФизЛиц | ПОЛНОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица | ПОЛНОЕ СОЕДИНЕНИЕ Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций | ПО ФизическиеЛица.Наименование = СотрудникиОрганизаций.Физлицо.Наименование | ПО ПаспортныеДанныеФизЛиц.ФизЛицо = ФизическиеЛица.Ссылка |ГДЕ | СотрудникиОрганизаций.ВидЗанятости В (ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы)) |УПОРЯДОЧИТЬ ПО | СотрудникиОрганизаций.Код Возр"; = .(); = .(); .() ((.) = "000000002") .("Сотрудник"); .("Код",(.)); .("Организация",(.)); .("Подразделение",(.)); .("ФизЛицо",(.)); .("Должность",(.)); .("ДокументВид",(.)); .("Серия",(.)); .("Номер",(.)); .("ДатаВыдачи",(.)); .("ДокументКемВыдан",(.)); .("ДатаУвольнения",(.)); .(); ; ; .(); .(); .(); ("выгружено!"); (); X++: static void _HTC_TEST_import_from_XML(Args _args) { XMLDocument doc; XMLNodeList xmlNodeList; XMLParseError xmlError; int i; str name; Dialog dialog = new Dialog(); DialogField dlgFileName; FileName filename; ; dlgFileName = dialog.addFieldValue(typeid(Filenameopen),fileName); dialog.run(); filename = dlgFileName.value(); doc = new XMLDocument(); doc.load(filename); xmlError = doc.parseError(); doc.documentElement(); xmlNodeList = doc.selectNodes("//Сотрудник"); info(strfmt("TOTAL : %1",xmlNodeList.length())); for (i = 0; i < xmlNodeList.length(); i++){ info(strfmt("%1",xmlNodeList.item(i).attributes().getNamedItem("Код").value())); } } |
|
|
За это сообщение автора поблагодарили: Ace of Database (3). |