Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Перенести документы "Начисления заработной платы" из ЗУП в БУХ

Перенести документы
Я
   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]
 
 
   asisdes
 
1 - 18.10.16 - 16:11
Никак въехать не могу как на сервер перенести?! Как я понял ПолучитьОбъект() работает на сервере.
   mehfk
 
2 - 18.10.16 - 16:12
OFF/ Какая каша у людей в голове.
   Fish
 
3 - 18.10.16 - 16:13
(1) Краткая инструкция:
1. Создать процедуру с директивой &НаСервере.
2. Перенести нужный код туда.
3. Наслаждаться.
   asisdes
 
4 - 19.10.16 - 06:26
А можно еще такой вопрос наводящий.
Если я ЗаписьXML делаю в ЗУП 2.0, а ПрочитатьXML в БУ8 не будет ли там разночтений?! т.е. не совпадения разметки что-ли... а то боюсь так труд в пустуй пройдет.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует