aribahus1
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору vashroman Цитата: Собственно вопрос как реализовать загрузку данных. | 1. Получаешь файл Если по локалке: КопироватьФайл(АдресСервераОбмена + ИмяФайла, КаталогВременныхФайлов() + ИмяФайла) Если по ФТП: FTPСоединение = Новый FTPСоединение(<Параметры ФТП-соединения>); FTPСоединение.Получить(ИмяФайла, КаталогВременныхФайлов() + ИмяФайла); 2. Открываешь и читаешь файл ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл(КаталогВременныхФайлов() + ИмяФайла); Пока ЧтениеXML.Прочитать() Цикл 3. В цикле читаешь значения переменных и пишешь их в реквизиты документа, например, так: ЧтениеXML.Прочитать(); //ПрочитатьXML обходит по очереди все реквизиты в текущем блоке НомерДокумента = ПрочитатьXML(ЧтениеXML, Тип("Строка")); ДатаДокумента = ПрочитатьXML(ЧтениеXML, Тип("Дата")); АдресДоставки = ПрочитатьXML(ЧтениеXML, Тип("Строка")); //Потом создаешь документ, например, так: НовыйДок = Документы.РеализацияТоваровУслуг.СоздатьДокумент(); //и проставляешь в нем значения реквизитов НовыйДок.Номер = НомерДокумента; //и так далее //Но есть ньюансы - реквизиты ссылочного типа, тут надо смотреть, ФизЛицо, например, можно получить так: ФизЛицо = Справочники.ФизическиеЛица.НайтиПоНаименованию(ПрочитатьXML(ЧтениеXML, Тип("Строка"))); //Этот вариант подойдет, только если ФИО в вашей базе и 1С совпадает, а для номенклатуры почти наверняка нужно будет делать каким-нибудь образом соответсвие и выбирать значение из него, например так: Номенклатура = СоотвНоменклатуры.Получить(ПрочитатьXML(ЧтениеXML, Тип("Строка"))); Ну и записываешь документ: НовыйДок.Записать(РежимЗаписиДокумента.Проведение); Цитата: вознаграждение присутствует | Могу целиком сделать, СПб |