пятница, 8 ноября 2019 г.

Перенос данных XML



&НаКлиенте
Процедура ПеренестиВДокумент(Команда)
 Если Корзина.Количество() <> 0 Тогда

  //переносим на клиента если надо
    //Получить();
   Адрес = ПеренестиВБазуСервер();
   Описание = Новый ОписаниеПередаваемогоФайла("C:\CheckKKM\SalesDocumentIn.xml",Адрес);
   МассивОписаний=Новый Массив;
   МассивОписаний.Добавить(Описание);
   ПолучитьФайлы(МассивОписаний,,,Ложь);
 
   // удаляем файл
   /////////////////////////////////////////////////
   ИмяФайлаККМ = "C:\CheckKKM\SalesDocumentIn.xml";
   ПолноеИмяФайла = Новый Файл(ИмяФайлаККМ);
   Если ПолноеИмяФайла.Существует() Тогда
    УдалитьФайлы(ПолноеИмяФайла);
   КонецЕсли;



   с клиента на серврер


   &НаКлиенте
Процедура ОбновитьСписок(Команда)
 //ЗагрузкаДанныхДляДокументаККМ.СформироватьДокументККМ();
 //ЭтаФорма.ОбновитьОтображениеДанных(ЧекиККМ);
 СформироватьДокументККМXML();
КонецПроцедуры

&НаКлиенте
Процедура СформироватьДокументККМXML()
 ПолноеИмяФайлаXML = "C:\CheckKKM\SalesDocumentIn.xml";
 ВыбранныйФайл = Новый Файл(ПолноеИмяФайлаXML);
 Если Не ВыбранныйФайл.Существует() Тогда
  Возврат
 КонецЕсли;

  //перемещаем файл с клиенат на сервер для обработки
  ВыбраныйФайл = "C:\CheckKKM\SalesDocumentIn.xml"; //ДиалогОткрытияФайла.ПолноеИмяФайла;
     АдресВременногоХранилища = "";
     ПоместитьФайл(АдресВременногоХранилища, ВыбраныйФайл, ,Ложь, ЭтаФорма.УникальныйИдентификатор);
     ЗагрузитьДанные(АдресВременногоХранилища);
КонецПроцедуры


&НаСервере
Процедура ЗагрузитьДанные(АдресВременногоХранилища)
  ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВременногоХранилища);
  ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xml");
  ДвоичныеДанные.Записать(ИмяВременногоФайла);

  ТекстИзXML = Новый ТекстовыйДокумент;
  ТекстИзXML.Прочитать(ИмяВременногоФайла, КодировкаТекста.UTF8);
  ЗаполнитьДокументККМ(ТекстИзXML.ПолучитьТекст());
  Попытка
      УдалитьФайлы(ИмяВременногоФайла);
  Исключение
  КонецПопытки;
КонецПроцедуры


&НаСервере
Процедура ЗаполнитьДокументККМ(ТекстXML)// (ПолучитьТекст)
 ОбщаяСуммаДокумента     = 0;
 НовыйДокументККМ     = Документы.ЧекККМ.СоздатьДокумент();
     ВидЦены       = Справочники.ВидыЦен.НайтиПоНаименованию("РОЗНИЦА ИП");

Комментариев нет:

Отправить комментарий