Советы из Желтой тетради 📒 #1

15.03.21

Разработка - Механизмы платформы 1С

В этой публикации я собрал в одном месте часть советов и лайфхаков, которые открыл для себя в последнее время. Регулярно я публикую их в своём телеграм-блоге "Жёлтая тетрадь 📒 Блог программиста 1С", здесь же - дайджест этих публикаций.

Узнать имя формы в режиме Предприятие

 


В новых версиях платформы появились новые команды форм для удобства анализа и разработки.

Информация для технического специалиста - показывает полное имя открытой формы.
Открыть в Конфигураторе - открывает текущую форму в Конфигураторе.

 

Программная доработка форм типовых конфигураций

 


В типовых конфигурациях в формах ПриСозданииНаСервере вызывается метод общего модуля СобытияФорм (см. скрин 1). Если расширить только этот модуль, то можно в одном модуле собрать все программные модификации форм (см. скрин 2).

Получается удобная универсальная оснастка, которую можно тиражировать во все свои проекты.

 

Кеширование предопределенных значений на клиенте


При использовании функции глобального контекста ПредопределенноеЗначение нет необходимости реализовывать механизмы кеширования на клиенте, т.к. результаты этой функции автоматически кешируются платформой.
 

ЮрФизЛицо = ПредопределенноеЗначение("Перечисление.ЮридическоеФизическоеЛицо.ЮридическоеЛицо");

При использовании БСП вместо ПредопределенноеЗначение можно использовать ОбщегоНазначения.ПредопределенныйЭлемент или ОбщегоНазначенияКлиент.ПредопределенныйЭлемент. Это то же самое, только не падает с ошибкой, если получать несуществующее значение.

 

Порядок вызова подписок на событие


Известно, что подписки на событие вызываются в последнюю очередь: сперва обработчик события в модуле объекта, затем или перед ним код из расширений этого метода (если есть), после - подписки на событие.
Это можно прочитать на ИТС, там же указано, что подписки вызываются в произвольном порядке.

На практике же замечено, что подписки вызываются в том порядке, в котором они идут в ветке метаданных. При этом подписки с источником общего типа (например, ДокументОбъект) выполняются позже, чем с источником конкретного типа. Это приходится учитывать при разработке, и не забывать, что фича не документирована и может зависеть от версии платформы.

Когда важна очередность выполнения, надёжнее всего реализовать очередность в коде, а количество подписок сократить.

 

Кеширование данных ИБ


Раньше, для ускорения 1С и сокращения обращений к СУБД, данные кешировали в параметрах сеанса. Затем в платформу добавили общие модули с повторным использованием возвращаемых значений (читай "кеш").

В ССиМ есть статья с рекомендациями по использованию общих модулей с повторным использованием. Из интересного:
🔸 Закешированное значение будет удалено из кэша через 20 минут после вычисления или через 6 минут после последнего использования
🔸 Нельзя менять данные, полученные из кэша
🔸 Внутренние вызовы модулей с повторным использованием не кэшируются
🔸 При кэшировании на время сеанса нельзя использовать значения типа Запрос и объекты базы данных
🔸 Метод глобального контекста ОбновитьПовторноИспользуемыеЗначения() удаляет все повторно используемые значения

 

Простая печать комплектов


Для вывода на печать нескольких форм и нескольких экземпляров можно не писать свой обработчик печати. БСП позволяет добавить команду печати, указав формы через запятую в поле Идентификатор:
 

КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "Счет,ТОРГ12,ТОРГ12";
КомандаПечати.Представление = "Комплект (счет и 2 торг12)";
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;

Конечно, вывод форм, входящих в комплект, должен быть заранее реализован (каждой отдельной формы).

v8 платформа 1cv8.cf БСП ССиМ

См. также

Сервисы интеграции без Шины и интеграции

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример использования «Сервисов интеграции» без подключения к Шине и без обменов.

13.03.2024    2522    dsdred    16    

57

Поинтегрируем: сервисы интеграции – новый стандарт или просто коннектор?

Обмен между базами 1C Администрирование СУБД Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

В платформе 8.3.17 появился замечательный механизм «Сервисы интеграции». Многие считают, что это просто коннектор 1С:Шины. Так ли это?

11.03.2024    5777    dsdred    53    

81

Как готовить и есть массивы

Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Все мы используем массивы в своем коде. Это один из первых объектов, который дают ученикам при прохождении обучения программированию. Но умеем ли мы ими пользоваться? В этой статье я хочу показать все методы массива, а также некоторые фишки в работе с массивами.

24.01.2024    5773    YA_418728146    25    

67

Планы обмена VS История данных

Обмен между базами 1C Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Вы все еще регистрируете изменения только на Планах обмена и Регистрах сведений?

11.12.2023    6903    dsdred    36    

113

1С-ная магия

Механизмы платформы 1С Бесплатно (free)

Язык программирования 1С содержит много нюансов и особенностей, которые могут приводить к неожиданным для разработчика результатам. Сталкиваясь с ними, программист начинает лучше понимать логику платформы, а значит, быстрее выявлять ошибки и видеть потенциальные узкие места своего кода там, где позже можно было бы ещё долго медитировать с отладчиком в поисках источника проблемы. Мы рассмотрим разные примеры поведения кода 1С. Разберём результаты выполнения и ответим на вопросы «Почему?», «Как же так?» и «Зачем нам это знать?». 

06.10.2023    18982    SeiOkami    46    

118

Дефрагментация и реиндексация после перехода на платформу 8.3.22

Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

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

14.09.2023    12647    human_new    27    

76

Валидация JSON через XDTO (включая массивы)

WEB-интеграция Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    9319    YA_418728146    6    

143

Внешние компоненты Native API на языке Rust - Просто!

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Внешние компоненты для 1С можно разработывать очень просто, пользуясь всеми преимуществами языка Rust - от безопасности и кроссплатформенности до удобного менеджера библиотек.

20.08.2023    6502    sebekerga    54    

95
Комментарии
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
73. Yashazz 4722 16.03.21 13:52 Сейчас в теме
Мда... Это, получается, большинство пользователей ИС считает такое нормальным? Больше сорока плюсов, и всего 8 минусов?
Ну давайте я каждый день буду вываливать какую-нибудь похожую хрень из своей текучки, и назову это тоже "блогом программиста", ага? И всем будет норм, так что ли?
74. rpgshnik 3645 16.03.21 14:22 Сейчас в теме
(73) тогда ты Ивана обгонишь) блин да расслабься, что у тебя так пукан рвёт безбожно))
80. dhurricane 16.03.21 16:46 Сейчас в теме
(73) Думаю, не стоит смотреть в сторону количества минусов. Предположу, что зачастую люди подобные посты просто игнорируют. К потоку статей подобного качества уже как-то привыкаешь. Да и не каждый из нас (я, например) может поставить свой минус ввиду отсутствия рейтинга. А вот плюс - любой пользователь ИС.

Но да, тем не менее количество плюсов впечатляет. :)
83. RustIG 1408 16.03.21 17:24 Сейчас в теме
75. Girent 16.03.21 14:22 Сейчас в теме
Крутая инфа в группе в тг, спасибо)
82. RustIG 1408 16.03.21 17:22 Сейчас в теме
(75) если бы не агитация на этом канале - проголосовать за паблик - то я бы остался при своих положит. эмоциях...
а как стало известно , так сразу разочаровался ...
значит секрета никакого нет - откуда такая популярность
Прикрепленные файлы:
buganov; 1c-intelligence; +2 1 Ответить
84. FatPanzer 16.03.21 18:05 Сейчас в теме
(82) Ну вот, наплюсовали автору 40+, теперь у него есть возможность прийти и поставить тебе минус ))) Поставить минус - счастье же! Особенно для того, у которого есть свой целый телеграм-канал!!!

"А потом будут говорить, что нас было четверо!" (С) Атос
86. GG_Dots 40 16.03.21 20:46 Сейчас в теме
(84) Это я поставил минус. Захотел и поставил. Причем здесь автор? Неплохо было бы тебе более не делать поспешных выводов.
Минус как и плюс - это всего лишь мнение отдельно взятого человека
88. FatPanzer 16.03.21 21:36 Сейчас в теме
(86) Поставь мне еще один минус, если сможешь. Вдруг полегчает? )))
Нашелся тут, нравственный указатель.
90. 1c-intelligence 12780 16.03.21 22:02 Сейчас в теме
(86)
Минус как и плюс - это всего лишь мнение отдельно взятого человека

не, мнение - это когда подумал. Минус, как и плюс - это уже воздействие, с какой-то целью.
Просто интересно всегда было, зачем ставить минусы за комментарии? Тут не же не хабр.
FatPanzer; +1 Ответить
91. FatPanzer 16.03.21 22:26 Сейчас в теме
(90)
зачем ставить минусы за комментарии?
Просто потому что нельзя узнать кто поставил минус, они анонимны. Можно за ним спрятаться, при этом удовлетворив свое детское "на тебе, получай!"... Инфантилизм, не более.
Вот если бы авторство минусов было бы открытым - вот тогда уже пришлось бы действительно думать, прежде чем нажимать. Отменить ведь уже нельзя - ни минус, ни плюс..
93. 1c-intelligence 12780 17.03.21 05:50 Сейчас в теме
(91) это я понимаю. Но хотел послушать человека, который "захотел и поставил". Мне для диссертации.
96. RustIG 1408 17.03.21 09:40 Сейчас в теме
(91) можно отменить - поставив противоположный
85. velemir 82 16.03.21 18:52 Сейчас в теме
То что эта статья в топе наводит на разные мысли. Некоторые из них грустные.
FatPanzer; +1 Ответить
92. builin 53 17.03.21 04:18 Сейчас в теме
Два дня не заходил, а тут жара такая.
Товарищи, расслабьтесь, не надо, пожалуйста, ставить плюсы, если вам не нравится пост и блог. А большинство экспертов 1С похоже живут в том мире, где нет людей, которые не знают что есть горячие клавиши вроде F12 и Ctrl+"-". Можно только порадоваться такому уюту.
Читал инфостарт без рейтинга много лет и дальше без него проживу ) стартмани за такие публикации не начисляются. У каждого свои линейки измерения рейтинга и достижений )
97. RustIG 1408 17.03.21 09:46 Сейчас в теме
(92) отметьте свой пост как лучший, чтобы сверху маячил.
вы смогли разволновать тихую гавань...такого давно не было... проблема не в вас, а в той системе оценки публикаций, которая на ИС сейчас...
я так понял, вы планируете еще написать - пишите, авось все будет хорошо
98. Hans 2 18.03.21 08:59 Сейчас в теме
"Экспертов" бомбануло от этого поста?
100. buganov 200 20.03.21 11:44 Сейчас в теме
99. nikaleks 5 19.03.21 08:47 Сейчас в теме
Всем привет!

Да уж, не устаю удивляться безграмотности, беспардонности и и малодушию людей. Ребята, человек поделился своими мыслями и опытом, сделайте то же самое для начала, а потом высказывайте "нет информации полезной" "куча" и бла бла бла...

Нужно быть добрее!

Лично от меня +
114. buganov 200 20.03.21 21:49 Сейчас в теме
(99)
сделайте то же самое для начала

Из разряда "А ты добейся, а потом [что-то там]"

Бесспорно, когда автор статьи подошел ответственно, провел эксперимент, разобрал по полкам интересную особенность 1С, формат данных, или новые методики. Да даже, если это разбор БСП, но достаточно уверенный, полный, а не то, что автор попытался отрыгнуть(сорри) после обеда. Абсолютно все его "записи", коих он смог даже насобирать аж 5 штук на целую статью(вспомнился анекдот про диплом), и при этом, он не раскрыл ни одной из них толком. Ни как работает, ни почему. Просто навалил, и ушел довольный к подписоте в телеграм.
@support Можно ли проверить пост на накрутку?

И это не малодушие людей, это просто отклик на поток бреда. Таким образом скоро с одноклассников будут картинки сюда вставлять.
Есть авторы, которые заслуживают сотни плюсов, тысячи. Они проделывают титанический труд. А когда приходит вот такой автор, и чему то учит сообщество, возникает вопрос, далеко ли альтернатива Инфостарту?

Я поставил минус. Меня лично задел дисклеймер и бездарность внутри. Надеюсь, я не сильно безграмотно привел аргументы и достаточно добился, чтобы комментировать сей "труд"?
В этой публикации я собрал в одном месте часть советов и лайфхаков
Где советы? Где лайфхаки? Это помесь ИТС и то, что известно всем, кто сталкивается с БСП и конфигурациями на них, считай всем =)
Yashazz; artbear; FatPanzer; +3 Ответить
115. Артано 762 22.03.21 13:27 Сейчас в теме
(114) Думаю, что человек не соразмерил формат канала ТГ, где можно постить понемногу короткие твиты из разряда "знаете ли вы". С другой строны инфа в статье полезная была бы, особенно для начинающих - почему бы и нет?
116. FatPanzer 22.03.21 15:15 Сейчас в теме
(114)
далеко ли альтернатива Инфостарту?
Думаю, многие уже ждут...
119. starik-2005 3036 24.03.21 15:59 Сейчас в теме
А я плюсанул. Статья на мой взгляд отличная. Да, такой вот я оригинальный...
120. Артано 762 26.03.21 07:32 Сейчас в теме
(119) Как минимум нас двое =)
Оставьте свое сообщение