Работа с JSON в 1С 8 3

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ม.ค. 2025

ความคิดเห็น • 25

  • @avagafonov
    @avagafonov ปีที่แล้ว +1

    Спасибо! Полезный материал для понимания JSON! Надеюсь, Вы находите время в том числе и на преподавание в учебных заведениях!

    • @alexcode_1c
      @alexcode_1c  ปีที่แล้ว

      Спасибо за душевный отзыв! Да, преподаю в одной из известных онлайн-школ, а также провожу индивидуальные занятия в онлайне.😇

  • @alexaks7293
    @alexaks7293 ปีที่แล้ว +1

    Отличный уроки, и на сайте полезная информация. Спасибо!

    • @alexcode_1c
      @alexcode_1c  ปีที่แล้ว

      Очень приятный и позитивный отзыв! Вдохновляет.👍🏻 Идей для видео ещё очень много, главное найти на всё это время 🤭

  • @8tshk8
    @8tshk8 2 ปีที่แล้ว +1

    Спасибо за видео. Приятно слушать и смотреть. А главное полезно.

    • @alexcode_1c
      @alexcode_1c  2 ปีที่แล้ว

      Благодарю за обратную связь и высокую оценку! Да уж, до 30% "неприятного и бесполезного" безжалостно вырезаю на этапе монтажа😄😉

  • @andreyagapov9177
    @andreyagapov9177 ปีที่แล้ว +1

    Очень круто. Спасибо огромное!

    • @alexcode_1c
      @alexcode_1c  ปีที่แล้ว

      Стараемся:) Рад, если видео оказалось полезным.

  • @vika5247
    @vika5247 5 หลายเดือนก่อน +1

    Отличное видео!

  • @ВладимирБоряев
    @ВладимирБоряев 2 ปีที่แล้ว +6

    Огромное спасибо! А можно подобное видео про работу с XDTO? Был бы Очень признателен.

    • @alexcode_1c
      @alexcode_1c  2 ปีที่แล้ว +7

      Благодарю за идею! Как раз думал, будет ли интересно, если записать про SOAP сервисы и XDTO. Раз интерес есть, конечно запишу!

    • @АлексейГуськов-з2х
      @АлексейГуськов-з2х 2 ปีที่แล้ว +1

      Да, было бы неплохо

  • @user-sl1tw9vg8x
    @user-sl1tw9vg8x ปีที่แล้ว +1

    Ваш вариант потокового чтения не правильно читает JSON с валютой.:
    {
    "base": "USD",
    "date": "2022-02-27T00:00:00",
    "rate": 100
    }
    Поле "rate" не попадает в ПрочитанноеСоответствие

    • @alexcode_1c
      @alexcode_1c  ปีที่แล้ว +1

      Код для разбора конкретного формата JSON в потоковом чтении и не должен читать любой произвольный JSON :)
      Как правило, оно пишется под конкретную заранее известную структуру, в видео я делаю на этом акцент (15:15). И пример потокового чтения основан на тексте JSON из примера с потоковой записью
      В примере с валютой алгоритм не учитывает что есть строка с пустым значением, и неверно определяет соответствие ключей и строк
      Попробуйте например без переноса строки перед последней скобкой
      {
      "base": "USD",
      "date": "2022-02-27T00:00:00",
      "rate": 100}
      Чтобы это учесть, нужно по-другому написать потоковый разбор текста JSON ;)
      А для универсального подхода есть объектное чтение через ПрочитатьJSON, и в принципе 90% задач применяется именно объектный подход - т.е. сразу JSON читается в объект 1С, без построчного анализа.

  • @Paskyduch
    @Paskyduch 2 ปีที่แล้ว +1

    Спасибо тебе большое!

    • @alexcode_1c
      @alexcode_1c  2 ปีที่แล้ว

      Спасибо за подписку! ;)

  • @linkagemaster
    @linkagemaster ปีที่แล้ว +1

    Отличный курс, все предельно понятно и хорошо объяснено)
    Подскажите, что за настройка подсветки повторяющихся слов в коде (Вы два раза щелкаете по словосочетанию и подсвечиваются голубым цветом все места, где это словосочетание встречается)

    • @alexcode_1c
      @alexcode_1c  ปีที่แล้ว +1

      Благодарю! Приятно знать, что мои старания кому-то пригодились :)
      По поводу подсветки - это можно сделать в меню Сервис / Параметры, вкладка Модули, там вкладка Редактирование. Нужно найти пункт Выбранный идентификатор, и выбрать цвет какой захотите. Также можно указать цвет для пункта Текущий идентификатор.

  • @ИринаЩербачев
    @ИринаЩербачев ปีที่แล้ว

    Спасибо.Можно вопрос:Если не управляемые формы на экран показать СтрокаJson.Да и управляемые формы, ни видно ,как ставили в форму реквизит СтрокаJson

    • @alexcode_1c
      @alexcode_1c  ปีที่แล้ว

      Не совсем понял в чем вопрос :)
      Элементы на форму мы добавляем как обычно, хоть в управляемых формах, хоть в обычных.

  • @div1966
    @div1966 10 หลายเดือนก่อน +1

    Подскажите, конструкция
    МассивИменВосстановления = Новый Массив;
    МассивИменВосстановления.Добавить("name");

    МассивФизЛиц = ПрочитатьJSON(ЧтениеJSON,Истина,"birthday",ФорматДатыJSON.ISO,"ФункцияВосстановленияЧтениеФизЛица",ЭтотОбъект,,МассивИменВосстановления);
    &НаКлиенте
    Функция ФункцияВосстановленияЧтениеФизЛица(Свойство,Значение,ДополнительныеПараметры) Экспорт
    Если Свойство = "name" Тогда
    Возврат ПолучитьФизЛицо(Значение);
    КонецЕсли;
    КонецФункции
    &НаСервере
    Функция ПолучитьФизЛицо(Значение)
    ФизЛицо = Справочники.ФизическиеЛица.НайтиПоНаименованию(Значение,Истина);
    Возврат ?(ЗначениеЗаполнено(ФизЛицо),ФизЛицо,Значение);
    КонецФункции
    если читается несколько JSON-объектов не является с точки зрения обращения к СУБД запросом в цикле? Есть информация, как метод ПрочитатьJSON "внутри" работает?

    • @alexcode_1c
      @alexcode_1c  10 หลายเดือนก่อน

      Да, тут несомненно будет запрос в цикле. Можно предусмотреть несколько оптимизаций - например, организовать кэш уже найденных физлиц через структуру, и чтение запросом, а не найти по наименованию. Но однозначно, это будет не очень производительно. Вместо функции восстановления можно прочитать JSON как обычный текст в структуру или соответствие, и уже потом собрать запрос с наименованиями физлиц и провести замену. А как работает ПрочитатьJSON внутри, вам могут рассказать только разработчики платформы :)

    • @div1966
      @div1966 10 หลายเดือนก่อน

      @alexcode_1c Я надеялся, что ПрочитатьJSON вначале все прочитает в некую коллекцию , а потом ко ВСЕЙ этой коллекции однократно применит функцию восстановления (версий как именно применит нет))). У меня мысль ПрочитатьJSON (без восстановления) в ТЗ, загрузить ТЗ во временную таблицу запроса и связать по Наименованию (name) c таблицей справочника "Физические лица"

    • @alexcode_1c
      @alexcode_1c  10 หลายเดือนก่อน

      @@div1966 Да, это рабочий подход, сам чаще всего примерно так и делаю