А какой самодельный конструктор объектов попадался на глаза? И может какой даже используете сами?
🤔13👍7💩7
↔️ Контакт между формой и ПриПолученииДанныхНаСервере()
Наткнулся на заметку Как "приджойнить" к динамическому списку таблицу из формы
И решил рассказать про такую костыльную возможность, которую использую уже давно в специальной подсистеме для внутреннего (пока что) пользования.
💿 Вы можете помнить, что в "обычных" формах было событие
В "управляемых" формах долго не было аналога, но в какой-то момент вендор всё же дал нам событие "
И вроде бы всё хорошо, но событие-то НаСервереБезКонтекста. А значит внутри нельзя обработать другие данные формы или же просто что-то кэшировать между вызовами события.
💡Нельзя ли? Конечно, можно!
И в этом нам поможет структура, которая доступна по адресу:
⬇️
✔️ Такая коллекция будет едина между вызовами события, а значит её можно использовать в качестве кэша и ускорять получения доп. данных списка. Но ещё эта коллеция будет доступна в других методах формы. Таким образом, к примеру, у нас реализован функционал по сбору истории отборов ДС. Позволяет в любой момент включить сбор статистики и потом проанализировать какие отборы\сортировки\группировки устанавливают пользователи и как им можно облегчить жизнь.
❌ К сожалению, нельзя передать напрямую сложные данные. Они либо упадут в ошибку, либо их изменения не будут доступны на клиенте. Например, можно передать напрямую ДанныеФормыКоллекция, но после открытия она отвяжется от формы и будет независимой коллекцией, а значит изменения на форме отображаться не будут.
✔️ Но зато можно передать адрес временного хранилища. И с заданной периодичностью его извлекать и как-то обрабатывать.
😁 Ну и по классике напомню, что описанное выше не совсем очевидное поведение и имеет множество нюансов, поэтому использовать нужно с особой осторожностью и только при отсутствии других "нормальных" методов реализовать вашу потребность
Наткнулся на заметку Как "приджойнить" к динамическому списку таблицу из формы
И решил рассказать про такую костыльную возможность, которую использую уже давно в специальной подсистеме для внутреннего (пока что) пользования.
ПриВыводеСтроки(), которое позволяло оформить строки таблицы и как-то наполнить даннымиВ "управляемых" формах долго не было аналога, но в какой-то момент вендор всё же дал нам событие "
ПриПолученииДанныхНаСервере()". И вроде бы всё хорошо, но событие-то НаСервереБезКонтекста. А значит внутри нельзя обработать другие данные формы или же просто что-то кэшировать между вызовами события.
💡Нельзя ли? Конечно, можно!
И в этом нам поможет структура, которая доступна по адресу:
ДинамическийСписок.КомпоновщикНастроек.Настройки.ДополнительныеСвойстваНапример, если мы в
ПриСозданииНаСервере() вставим в доп. свойства какое-то соответствие, то сможем использовать его внутри события ПриПолученииДанныхНаСервере() из коллекции Настройки.ДополнительныеСвойства.⬇️
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ДинамическийСписок.КомпоновщикНастроек.Настройки
.ДополнительныеСвойства.Вставить("Кэш", Новый Соответствие);
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ДинамическийСписокПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
Кэш = Настройки.ДополнительныеСвойства.Кэш;
КонецПроцедуры
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥13🤔3
Forwarded from Магнит IT
По сложившейся традиции от Магнита подаём доклады на ежегодную конференцию Infostart Event
И голосование уже открыто:
«OpenSearch для 1Сников. Как использовать бесплатный ElasticSearch не теряя времени, нервы и качество»
«Закон Конвея, или Почему 1С [пока] не захватила гигантские корпорации»
Интересна тема доклада?
Поддержите коллег своим голосом на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥9
Жёлтый чайник 1С (Черненко Виталий)
Photo
Показывается предупреждение с таймером в 1 секунду, далее второе предупреждение, потом форма-пустышка и вызов исключения.
После срабатываения таймера какие из открытых форм будут закрыты? Ошибки компиляции здесь нет.
После срабатываения таймера какие из открытых форм будут закрыты? Ошибки компиляции здесь нет.
Anonymous Quiz
27%
Никакие формы закрыты не будут
18%
Будет закрыто первое предупреждение
10%
Будут закрыты все предупреждения
9%
Будут закрыты предупреждения и форма
9%
Будут закрыты и предупреждения, и форма, и исключение
28%
Будет паника
🤯24😁9👍4
Серию постов про нюансы Асинх методов начинаем с асинхронных процедур.
У асинхронных процедур есть очень неприятный нюанс. Их невозможно Ждать. ⏲
Так как процедуры не возвращают результат, то и Ждать их результата невозможно.
💬Например, у нас есть процедура, которая заполняет дерево на форме.
Заполняет она его из файла, предварительно асинхронно проверяя его существование при помощи
Ждать Файл.СуществуетАсинх()
❗️ Такую процедуру нельзя вызвать и подождать. Нельзя где-то в коде вызвать вашу процедуру "ЗаполнитьДеревоИзФайла", а сразу после что-то пытаться сделать с этим самым деревом. Потому что оно ещё не будет заполнено.
💡 Поэтому, если вы создаёте асинхронную процедуру (метод, который ничего не должен возвращать), то подумайте хорошенько... и сделайте её Функцией.
Пусть лучше ваш метод бессмысленно вернёт Неопределено или Истина. Зато тогда его можно будет подоЖдать
👍 Кстати, ещё хорошей практикой будет в конце названия метода добавить "Асинх". Тогда разработчик, который вызывает метод, точно поймёт, что он асинхронен.
Заботьтесь о тех, кто будет работать с вашим кодом после вас ❤️
_____________
@JuniorOneS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍44🔥11❤2😱1
Жёлтый чайник 1С (Черненко Виталий)
Photo
Есть строковый реквизит формы "Строка".
Какое будет содержимое реквизита после выполнения команды?
Какое будет содержимое реквизита после выполнения команды?
Anonymous Quiz
24%
Нули, а потом единицы
6%
Единицы, а потом нули
39%
Чередование нулей и единиц
30%
Исключение
🔥12👍8🤯3
Жёлтый чайник 1С (Черненко Виталий)
Photo
Какое(ие) исключение(я) получит пользователь?
Anonymous Quiz
33%
Всегда только "А"
5%
Всегда только "Б"
22%
Сначала "А", потом "Б"
4%
Сначала "Б", потом "А"
20%
Оба исключения в произвольном порядке
16%
Никаких исключений
👍8🤯4🔥3😁1
Жёлтый чайник 1С (Черненко Виталий)
Photo
Какие сообщения будут выведены пользователю при нажатии команды?
Anonymous Quiz
49%
Да, Да, Да
11%
Да, Нет, Да
18%
Да, Нет, Нет
4%
Да, Да, Нет
18%
Нет, Нет, Нет
🤯22👍10🔥4🤨3👏2
Жёлтый чайник 1С (Черненко Виталий)
Photo
Обработка. Есть реквизиты с типом Строка и СписокЗначений.
Какие сообщения будут выведены пользователю?
Какие сообщения будут выведены пользователю?
Anonymous Quiz
24%
Да, Да
13%
Да, Нет
14%
Нет, Да
49%
Нет, Нет
🤯27🔥6👍5🤔2
Скорая помощь 1С 🤠
Я не люблю токсичность. А в рунете её достаточно много. То возраст кому-то не нравится, то глаза недостаточно яркие, то взгляд напрягает.
Это ничего полезного не даёт ни начинающему кодеру, ни опытному разработчику.
Поэтому приглашаю в новый чат Скорая помощь 1С. Главное правило чата - никакой токсичности. Чат нужен только для возможности задавать вопросы и помогать находить ответы.
Добро пожаловать в @HelpOneS и мира в ваш дом 🕊️
Я не люблю токсичность. А в рунете её достаточно много. То возраст кому-то не нравится, то глаза недостаточно яркие, то взгляд напрягает.
Это ничего полезного не даёт ни начинающему кодеру, ни опытному разработчику.
Поэтому приглашаю в новый чат Скорая помощь 1С. Главное правило чата - никакой токсичности. Чат нужен только для возможности задавать вопросы и помогать находить ответы.
Добро пожаловать в @HelpOneS и мира в ваш дом 🕊️
👍16❤11🕊3🤡2👏1
Жёлтый чайник 1С (Черненко Виталий)
Photo
Какие будут сообщения при нажатии на команду?
Anonymous Quiz
7%
0 0
40%
0 1
13%
1 0
25%
1 1
14%
Исключение
👍16🔥4🤔1