Narchuk Artem

88
Рейтинг

burni4



  •   Регистрация: 23.02.2016 (8 лет назад)

  •   Был(а) на сайте: вчера в 19:24

Друзья
  • Дмитрий Древило
  • Дмитрий Малышев
  • Евгений Комиссаров
  • Сергей
  • Сергей Езерский
Подписчики 12

Группы

Профессиональный разработчик

Рейтинг 88

Вывод сообщений в HTML поле средствами 1С

Статья Программист Платформа 1С v8.3 Управляемые формы Абонемент ($m) Конфигурация (md, cf) Инструментарий разработчика

Пример использования вывода большого количества сообщений в поле HTML. С возможностью открывать ссылочные объекты и создавать новые объекты передавая параметры прямо из HTML поля. Протестировано на релизах 8.3.12 и 8.3.15+

2 стартмани

31.01.2020    27651    19    burni4    18       

69

Преобразование текста JSON в дерево значений. УФ (8.3)

Инструменты и обработки Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Беларусь Абонемент ($m) Внешняя обработка (ert,epf) Инструментарий разработчика

Последнее время часто начал сталкиваться с форматом  JSON, и возникла необходимость быстро анализировать те или иные данные в этом формате, отбрасывая ненужные, но при больших объёмах данных зачастую было сложно разобраться в структуре. Так что это обработка для тех, кто хочет увидеть JSON в читабельном виде (знаю, похожие обработки есть на Инфостарте, но для моих данных они все вываливались с ошибками). Обработка ни на что не претендует и сделана исключительно в целях сэкономить время для анализа JSON.

1 стартмани

26.04.2018    12238    45    burni4    5       

20

Комментарии

DevВывод сообщений в HTML поле средствами 1С#18 18.04.24 13:05
(17) верно, код общих модулей не выносил в описание статьи, только общую логику
DevБыстрый просмотр имени таблицы по объекту метаданных в sql#3 22.07.22 10:39
да не супер круто) но человек же старался, а вы его сразу заминусовали, ну что за люди)
DevУправляемая консоль запросов, отчетов 3.9.0 (расширение, внешняя обработка)#787 21.07.22 10:38
(777) столкнулся с такой же проблемой, может не супер правильно но ошибка прошла, запрос сохраняет, подкрутить 2 процедуры в модуле объекта внешней обработки "УКО_MCRФормат_ЗаписатьПолеВXML" и "УКО_XML_ИмяТипа". Итоговые имеют такой вариант

Код
Процедура УКО_MCRФормат_ЗаписатьПолеВXML(ЗаписьXML, Имя, Значение, ЗначениеПоУмолчанию = Неопределено)
   
   // Значение по умолчанию и пустые значения не записываем
   Если ЗначениеПоУмолчанию = Неопределено Тогда
      
      Попытка
         Если Не ЗначениеЗаполнено(Значение) Тогда 
            Возврат;
         КонецЕсли;  
      Исключение   
         Возврат;
      КонецПопытки;
      
   ИначеЕсли Значение = ЗначениеПоУмолчанию Тогда
      
      Возврат;
      
   КонецЕсли;
   
   XMLСтрока = XMLСтрока(Значение);
   
   Если ЗначениеЗаполнено(XMLСтрока) Тогда
      
      // Многострочный текст записываем как элемент (нельзя записывать как атрибут)
      Если УКО_СтрокиКлиентСервер_МногострочнаяСтрока(XMLСтрока) Тогда 
         
         ЗаписьXML.ЗаписатьНачалоЭлемента(Имя);
         ЗаписьXML.ЗаписатьТекст (XMLСтрока);
         ЗаписьXML.ЗаписатьКонецЭлемента();
         
      Иначе
         
         ЗаписьXML.ЗаписатьАтрибут(Имя, XMLСтрока);
         
      КонецЕсли;
      
   КонецЕсли;
   
КонецПроцедуры

Функция УКО_XML_ИмяТипа(Тип) Экспорт
   
   ТипЗначения = ТипЗнч(Тип);
   Если ТипЗначения = Тип("Тип") Тогда
      ТипЗначения = Тип;
   КонецЕсли;
      
   Если ТипЗначения = Тип("Строка")
         ИЛИ ТипЗначения = Тип("Неопределено") Тогда
      ИмяТипа = "String";
   ИначеЕсли ТипЗначения = Тип("Число") Тогда
      ИмяТипа = "Number";
   ИначеЕсли ТипЗначения = Тип("Булево") Тогда
      ИмяТипа = "Boolean";
   ИначеЕсли ТипЗначения = Тип("Дата") Тогда
      ИмяТипа = "Date";
   ИначеЕсли ТипЗначения = Тип("МоментВремени") Тогда
      ИмяТипа = "PointInTime";
   ИначеЕсли ТипЗначения = Тип("ВидДвиженияНакопления") Тогда
      ИмяТипа = "AccumulationRecordType";
   Иначе   
      ИмяТипа = XMLТип(ТипЗначения);
      Если ИмяТипа <> Неопределено Тогда
         ИмяТипа = XMLТип(ТипЗначения).ИмяТипа;      
      Иначе
         ИмяТипа = "String";
      КонецЕсли;
   КонецЕсли;
   
   Возврат ИмяТипа;
   
КонецФункции
ПубликацииСинхронный и асинхронный вызов в новых версиях платформы#6 01.02.22 9:55
(4) оно так и работает, по сути п4 это синтаксический сахар для п2
ПубликацииСинхронный и асинхронный вызов в новых версиях платформы#2 31.01.22 17:30
А в чем проблема для асинхронного вызова вопроса использовать 4ый вариант?
просто мне показалось что статья идет к тому что переходим на "Асинх" и "ждать", а в конце статьи вы говорите что используем вариант 2.

ps из собственного опыта, если платформа позволят, то исключительно для более удобного чтения кода, асинх выигрывает, а так дело вкуса.
ПубликацииРейтинг зарплат франчайзи-специалистов 1С: кого ищут и сколько платят#2 16.12.21 9:47
(1) к реальным цифрам, а не вот к этой вот псевдо статистике)
DevПечать макета на одну страницу#9 10.08.21 10:51
(8) не важно где, главное после создания переменной Макет (наш табличный документ для печати)
DevЗапись текста в кодировке UTF-8 без BOM из 1с 8.2#36 29.06.21 14:28
Код
ТекстовыйДокумент = Новый ТекстовыйДокумент;
   ТекстовыйДокумент.УстановитьТекст(ТекстКомандногоФайла);
   ТекстовыйДокумент.Записать(ПолноеИмяФайла, "cp866");


установил кодировку cp866 и все взлетело без танцев с бубнами
DevПодписка на событие - ОбработкаПолученияФормы для справочников и документов не срабатывает при создании нового#8 08.04.21 20:15
(4) БП для Республики Беларусь, но разницы тут нету, никаких подписок ранее не срабатывает, нет явных вызовов форм, просто где-то срабатывает, а где-то нет. платформа правда 8.3.18 может чет глючит
DevПодписка на событие - ОбработкаПолученияФормы для справочников и документов не срабатывает при создании нового#3 08.04.21 18:12
(2) открывается из стандартного списка, конфигурация типовая БП, при чем странно, для создания нового пользователя, процедура срабатывает, а к примеру для контрагента не срабатывает, поведение жутко рандомное и пока не могу уловить связь