TGViewer
Жёлтый чайник 1С (Черненко Виталий) Жёлтый чайник 1С (Черненко Виталий) @juniorones · 5.29K subscribers
Post #749 4.02K
🤯 ТипизированнаяСтруктура

➖ В коде на 1С очень много структур. И у всех у них есть один недостаток - их нельзя "типизировать".
Обычная практика - методы, которые возвращают специальную структуру определенного содержимого. Например, конструктор параметров основного экспортного метода. Но эту структуру всегда можно видоизменить до неузнаваемости (специально или же случайно где-то в стеке вызовов).

➖ Вот была бы специальная структура, которую при создании можно было бы "настроить". Но не как "ФиксированнаяСтруктура", а чтобы можно было изменить значения свойств. Но при этом каждое свойство будет строго типизированным. Такими типами, которые мы ожидаем внутри своих методов. И никто не сможет обмануть наш код и сделать с ним что-то непредвиденное (пусть даже случайно).

➖ И у нас есть такая структура. Это ДанныеФормыСтруктура. У неё есть свойства, каждое строго типизировано (причем до квалификаторов примитивных типов). Платформа не позволит добавить новое свойство, а в существующие нельзя будет установить другой тип данных. Идеально.

🤔 Вот только ДанныеФормыСтруктура не имеет конструкторов. Нельзя просто взять (👌) и создать Новый ДанныеФормыСтруктура... Или можно?

😎 На данном канале нет ничего невозможного!

❕ В результате экспериментов удалось выяснить, что программно можно создавать произвольные объекты ДанныеФормыСтруктура. Не привязанные к какой-то форме. Их можно безнаказанно передавать между клиентом и сервером.

👀 И открывает этот дивный мир нам сериализация XML. Мы можем программно создать текст XML по нужному формату внутреннего типа XDTO у платформы. И потом просто БСПшным методом ЗначениеИзСтрокиXML получить новый объект ДанныеФормыСтруктура. С такими ключами и типами, которые нам нужны.

🩼 Конечно, это все костыли. Нельзя использовать такое на проде. НО. Подобные эксперименты показывают нам сколько всего позволяет на самом деле платформа и как много возможностей скрыто от программиста 1С.

❔А вы как думаете, в каких случаях были бы полезны "Типизированные структуры"?
  • 🔥 51
  • 👍 15
  • 👏 7
  • 🕊 1
More from @juniorones
  1. Sep 7, 2026🤖 1С-разработка с ИИ По советам прошел обучение на курсе Владимира Харина. Могу сказать,…
  2. Jul 15, 2026Post #768
  3. Jun 11, 2026🚀 Записался на вахту 18 июня стартует уже третий поток у Владимира Харина на курсе «1С-ра…
  4. Jun 5, 2026Нашел себе новое задротское хобби (а планировал пойти в спортзал) - ардуино. Давно погляды…
  5. Jun 1, 2026📈 Оптимизация настроек СКД 🧲😺 Внутри Магнита огромный лес легаси кода. И иногда мы им д…
  6. Apr 27, 2026⚫️️️️️️️️️️️️️️️️️️️️️️ 1С DAY от MAGNIT TECH: погружение в практику и технологии! ️️️️Вст…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →