Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Запись элементов справочника без СериализаторXDTO в формат json под старую платформу 8.3.12          
svetas_l Подменю пользователя
сообщение 17.09.20, 16:25
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 68
Спасибо сказали: 0 раз
Рейтинг: 0

есть код работает
но нужно его переделать под старую платформу 8.3.12 т.е. без "СериализаторXDTO."
помогите пожалуйста

Код
&НаСервере
Процедура Команда1НаСервере()
    Запрос = Новый Запрос;
    Запрос.Текст =
                "ВЫБРАТЬ *
                 |ИЗ
                | Справочник.Организации КАК Организации
                |";
          Выборка = Запрос.Выполнить().Выбрать();
         Массив_записи =Новый массив;
                                  
     Пока Выборка.Следующий() Цикл

        ОписаниеОбъекта = Новый Структура("Ссылка, Код, Наименование, Префикс,ИНН,НомерСвидетельства,КодПоЕДРПОУ,ФизическоеЛицо,НаименованиеПолное,СвидетельствоСерияНомер,СвидетельствоДатаВыдачи,БанковскийСчетПоУмолчанию,ЮрФизЛицо,ТекущийРуководитель,ТекущаяДолжностьРук
оводителя,ТекущийГлавныйБухгалтер,ТекущийКассир,ТекущийПаспортист,ТипОрганизации,УчетнаяЗаписьЭлектроннойПочты,НазваниеДляСвернутыхУслуг,ИнформацияПредупреждениеНовойКвитанции");
        ОписаниеОбъекта.Ссылка = Строка(Выборка.Ссылка);
        ОписаниеОбъекта.Код=Строка(Выборка.Код);
        ОписаниеОбъекта.Наименование=Строка(Выборка.Наименование);
        ОписаниеОбъекта.Префикс=Строка(Выборка.Префикс);
        ОписаниеОбъекта.ИНН=Строка(Выборка.ИНН);
        ОписаниеОбъекта.НомерСвидетельства=Строка(Выборка.НомерСвидетельства);
        ОписаниеОбъекта.КодПоЕДРПОУ=Строка(Выборка.КодПоЕДРПОУ);
        ОписаниеОбъекта.ФизическоеЛицо=Строка(Выборка.ФизическоеЛицо);
        ОписаниеОбъекта.НаименованиеПолное=Строка(Выборка.НаименованиеПолное);
        ОписаниеОбъекта.СвидетельствоСерияНомер=Строка(Выборка.СвидетельствоСерияНомер);
        ОписаниеОбъекта.СвидетельствоДатаВыдачи=Строка(Выборка.СвидетельствоДатаВыдачи);
        ОписаниеОбъекта.БанковскийСчетПоУмолчанию=Строка(Выборка.БанковскийСчетПоУмолчанию);
        ОписаниеОбъекта.ЮрФизЛицо=Строка(Выборка.ЮрФизЛицо);
        ОписаниеОбъекта.ТекущийРуководитель=Строка(Выборка.ТекущийРуководитель);
        ОписаниеОбъекта.ТекущаяДолжностьРуководителя=Строка(Выборка.ТекущаяДолжностьРуководителя);
        ОписаниеОбъекта.ТекущийГлавныйБухгалтер=Строка(Выборка.ТекущийГлавныйБухгалтер);
        ОписаниеОбъекта.ТекущийКассир=Строка(Выборка.ТекущийКассир);
        ОписаниеОбъекта.ТекущийПаспортист=Строка(Выборка.ТекущийПаспортист);
        ОписаниеОбъекта.ТипОрганизации=Строка(Выборка.ТипОрганизации);
        ОписаниеОбъекта.УчетнаяЗаписьЭлектроннойПочты=Строка(Выборка.УчетнаяЗаписьЭлектроннойПочты);
        ОписаниеОбъекта.НазваниеДляСвернутыхУслуг=Строка(Выборка.НазваниеДляСвернутыхУслуг);
        ОписаниеОбъекта.ИнформацияПредупреждениеНовойКвитанции=Строка(Выборка.ИнформацияПредупреждениеНовойКвитанции);
        Массив_записи.Добавить(ОписаниеОбъекта);
      
  КонецЦикла;
         Запись_в_JSON(Массив_записи,"test");
  КонецПроцедуры
  
процедура  Запись_в_JSON(Массив_записи,имя_файла)
      ЗаписьJSON= Новый ЗаписьJSON;
     ЗаписьJSON.ПроверятьСтруктуру = Истина;
     НастройкиСериализации = Новый НастройкиСериализацииJSON;
     ПараметрыJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, " ", Истина);
     НастройкиСериализации.ВариантЗаписиДаты = ВариантЗаписиДатыJSON.УниверсальнаяДата;
     НастройкиСериализации.СериализовыватьМассивыКакОбъекты = Истина;    
     ЗаписьJSON.ОткрытьФайл(Этаформа.ПутьЗаписи+имя_файла+".json");       // , , , ПараметрыJSON                        
     ЗаписьJSON.ЗаписатьНачалоОбъекта();
     ЗаписьJSON.ЗаписатьИмяСвойства("Массив_записи");
      СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON,Массив_записи,НазначениеТипаXML.Явное);     //НастройкиСериализации
     ЗаписьJSON.ЗаписатьКонецОбъекта();
     ЗаписьJSON.Закрыть();

   КонецПроцедуры


Сообщение отредактировал Vofka - 19.09.20, 16:03

kihor Подменю пользователя
сообщение 17.09.20, 16:50
Сообщение #2

Говорящий
***
Группа: Пользователи
Сообщений: 83
Спасибо сказали: 12 раз
Рейтинг: 0

svetas_l @ Сегодня, 17:25 * ,

Попробуйте для формирования JSON такой фрагмент кода.

ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();  
ЗаписатьJSON(ЗаписьJSON, Массив_записи);            
Результат = ЗаписьJSON.Закрыть();


В конце в переменной Результат будет текст JSON.

Спасибо сказали: svetas_l,

svetas_l Подменю пользователя
сообщение 18.09.20, 7:58
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 68
Спасибо сказали: 0 раз
Рейтинг: 0

kihor, спасибо
        ЗаписьJSON.ОткрытьФайл(Этаформа.ПутьЗаписи+имя_файла+".json");       // , , , ПараметрыJSON                        
    //ЗаписьJSON.УстановитьСтроку();  
        ЗаписатьJSON(ЗаписьJSON, Массив_записи);            
    ЗаписьJSON.Закрыть();

спасибо, без строки "УстановитьСтроку(); " вроде работает, а как прочитать этим способом строку, когда массив объектов?

kihor Подменю пользователя
сообщение 18.09.20, 17:08
Сообщение #4

Говорящий
***
Группа: Пользователи
Сообщений: 83
Спасибо сказали: 12 раз
Рейтинг: 0

svetas_l @ Сегодня, 8:58 * ,

Прочитать JSON можно при помощи такого кода:

    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(ЗдесьСтрокаJSON);
    ЭлементыСписка = ПрочитатьJSON(ЧтениеJSON, Истина);
    ЧтениеJSON.Закрыть();

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 01.11.24, 0:53
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!