|
Перенести документы "Начисления заработной платы" из ЗУП в БУХ | ☑ | ||
---|---|---|---|---|
0
asisdes
18.10.16
✎
16:08
|
Доброго дня!
Проблема: есть 2 конфигарции БУ8 ред.3 Каз (управляемые) и ЗУП Каз 2.0 (обычные). Задача: Перенести документы "Начисления заработной платы сотрудников организации из ЗУП в БУ8" Нашел обработку, которая Импортирует и Экспортирует документ ввиде XML файла, однако она была написана на обычных формах, решил переписать под управляемые. 1. Обработка работает в ЗУП и выгружает в XML единственный нюанс там в зупе 2 табличной части <Начисления> и <ДополнительныеНаисления>, но я думаю заменой в блокноте это можно подправить. а вот в БУ 8 ругается на ПрочитатьXML и ЗаписатьXML [code] &НаКлиенте Процедура Востановить(Команда) ///////////////////////////////////////// // Проверить выбор пользователя. // Поле Имя файла ДОЛЖНО быть заполнено Если ПустаяСтрока(Объект.ИмяФайла) Тогда Предупреждение("Укажите файл данных XML для загрузки!"); Возврат; КонецЕсли; ///////////////////////////////////////// // Проверка возможности чтения XML файла Файл = Новый Файл(Объект.ИмяФайла); Если НЕ Файл.Существует() Тогда Предупреждение("Указанный Вами файл " + Объект.ИмяФайла + " не найден!"); Возврат; КонецЕсли; ///////////////////////////////////////// // Прочитать XML файл используя стандартные // средства платформы 1С XML Reader попытка ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл("C:\1\С_ЗУПА_документ.xml"); Если ВозможностьЧтенияXML(ЧтениеXML) Тогда // Получить ДокументОбъект.РеализацияТоваровУслуг. //ЗагружаемыйОбъект = ПрочитатьXML(ЧтениеXML); //ЗагружаемыйОбъект.Записать(); соо = "Счиатал вроде"; КонецЕсли; НовыйОбъект = ПрочитатьXML(ЧтениеXML); ДокументОбъект = НовыйОбъект.Ссылка; Документ = НовыйОбъект.ПолучитьФорму(); Документ.Открыть(); исключение Сообщить(ОписаниеОшибки()); конецпопытки; КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) Объект.ИмяФайла = "C:\1\документ.xml"; КонецПроцедуры &НаКлиенте Процедура ИмяФайлаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = ложь; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогОткрытияФайла.Заголовок = "Выберите XML файл данных документа."; ДиалогОткрытияФайла.Фильтр = "Tекст(*.xml)|*.xml"; ДиалогОткрытияФайла.МножественныйВыбор = Ложь; ДиалогОткрытияФайла.ПолноеИмяФайла = Объект.ИмяФайла; Если ДиалогОткрытияФайла.Выбрать() Тогда ИмяФайла = ДиалогОткрытияФайла.ПолноеИмяФайла; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура Выгрузить(Команда) ///////////////////////////////////////// // Проверить выбор пользователя. // Поле Документ ДОЛЖНО быть заполнено Если НЕ ЗначениеЗаполнено(Объект.ДокументОбъект) Тогда Предупреждение("Нужно выбрать документ."); Возврат; КонецЕсли; ///////////////////////////////////////// // Проверить выбор пользователя. // Поле Имя файла ДОЛЖНО быть заполнено Если ПустаяСтрока(Объект.ИмяФайла) Тогда Предупреждение("Укажите файл данных XML для выгрузки."); Возврат; КонецЕсли; // Проверить возможность перезаписи текста Файл = Новый Файл(Объект.ИмяФайла); Если Файл.Существует() Тогда Ответ = Вопрос("Файл " + Объект.ИмяФайла + " существует. Заменить?",РежимДиалогаВопрос.ДаНет); Если Ответ = КодВозвратаДиалога.Нет Тогда Сообщить("Сохранение отменено."); Возврат; КонецЕсли; КонецЕсли; ///////////////////////////////////////// // Записать данные документа в XML используя // последовательный доступ к тексту и XML сериализацию ТекстФайл = Новый ЗаписьТекста(Объект.ИмяФайла, КодировкаТекста.UTF8); // Преобразовать данные документа в формат XML // страндарными средствами платформы 1С ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.УстановитьСтроку(); ЗаписатьXML(ЗаписьXML, Объект.ДокументОбъект.ПолучитьОбъект(), НазначениеТипаXML.Явное); // Сохранить полученные XML Данные в текстовый документ ТекстФайл.Записать(ЗаписьXML.Закрыть()); ТекстФайл.Закрыть(); КонецПроцедуры [/code] |
|||
1
asisdes
18.10.16
✎
16:11
|
Никак въехать не могу как на сервер перенести?! Как я понял ПолучитьОбъект() работает на сервере.
|
|||
2
mehfk
18.10.16
✎
16:12
|
OFF/ Какая каша у людей в голове.
|
|||
3
Fish
18.10.16
✎
16:13
|
(1) Краткая инструкция:
1. Создать процедуру с директивой &НаСервере. 2. Перенести нужный код туда. 3. Наслаждаться. |
|||
4
asisdes
19.10.16
✎
06:26
|
А можно еще такой вопрос наводящий.
Если я ЗаписьXML делаю в ЗУП 2.0, а ПрочитатьXML в БУ8 не будет ли там разночтений?! т.е. не совпадения разметки что-ли... а то боюсь так труд в пустуй пройдет. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |