Получи случайную криптовалюту за регистрацию!

Жёлтая тетрадь 📒 Блог о разработке в 1С 👨‍💻

Логотип телеграм канала @yellow_pad — Жёлтая тетрадь 📒 Блог о разработке в 1С 👨‍💻 Ж
Логотип телеграм канала @yellow_pad — Жёлтая тетрадь 📒 Блог о разработке в 1С 👨‍💻
Адрес канала: @yellow_pad
Категории: Технологии
Язык: Русский
Количество подписчиков: 989
Описание канала:

В основном небольшие и почти регулярные заметки из будней программиста 1С
Мои инсайты, что-то новое каждый день
@builin

Рейтинги и Отзывы

3.00

3 отзыва

Оценить канал yellow_pad и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

1

3 звезд

1

2 звезд

1

1 звезд

0


Последние сообщения 3

2021-06-25 08:01:18 БСП: БуферОбмена - кеширование любых данных без передачи адреса хранилища

В БСП реализован универсальный механизм - БуферОбмена, и он никак не связан с буфером обмена ОС. Он принимает любые данные, сохраняет их во временное хранилище, а адрес временного хранилища записывает в параметр сеанса БуферОбмена.

Механизмом можно пользоваться для передачи данных в коде без возможности передать напрямую адрес временного хранилища. В типовых конфигурациях используется для передачи строк табличных частей и вложенных файлов.

ОбщегоНазначения.СкопироватьВБуферОбмена(Данные);
БуферОбмена = ОбщегоНазначения.СтрокиИзБуфераОбмена();
Данные = БуферОбмена.Данные;

Пример использования механизма - отслеживание изменений полей регистра сведений ПередЗаписью: paste1с и fastcode.
268 viewsЕвгений Буйлин блог: @yellow_pad, 05:01
Открыть/Комментировать
2021-06-24 08:01:28 Проверить изменение поля регистра сведений ПередЗаписью

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

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

@yellow_pad | #1С #ПередЗаписью #РегистрСведений
238 viewsЕвгений Буйлин блог: @yellow_pad, 05:01
Открыть/Комментировать
2021-06-23 08:59:59
Спасибо вам за ваше время и внимание

Спасибо за то, что читаете, обсуждаете, комментируете и делитесь ссылками с коллегами.

@yellow_pad | #1С #МиниЮбилей
178 viewsЕвгений Буйлин блог: @yellow_pad, 05:59
Открыть/Комментировать
2021-06-21 08:01:15
Переименование имен в коде (рефакторинг)

Еще один полезный инструмент, если приходится приводить в порядок код, который вы дорабатываете. Иногда приходится менять имена переменных и методов на понятные, соответствующие стандартам и своему содержанию.

Встретили в коде странное имя - переименовали - проще разбирать следующий код.

Контекстное меню - Рефакторинг - Переименовать (Ctrl + Alt + R).

Примечание: в закомментированном коде переименование не производит, будьте внимательны

@yellow_pad | #1С #Рефакторинг #Переименовать
299 viewsЕвгений Буйлин блог: @yellow_pad, 05:01
Открыть/Комментировать
2021-06-18 08:01:21
Знач Структура (викторина)

Какие сообщения будут выведены при вызове команды КомандаТест?

@yellow_pad | #1С #Викторина #Задача #Структура #Знач
402 viewsЕвгений Буйлин блог: @yellow_pad, 05:01
Открыть/Комментировать
2021-06-16 08:01:20 Синхронизация даты и времени при интеграциях

Если обмены привязаны ко времени, а мы не учли при разработке разницу в часовых поясах, может происходить смещение и часть данных может быть "утеряна". Например, мы хотим получить все изменения за "сегодня". Но находимся мы в Хабаровске, и при запросе за [00:00:00-23:59:59] получим данные только с 7:00 местного времени (если сервер работает по МСК).

Самый простой вариант решения проблемы - все даты значений и отборов привести к единому часовому поясу. Платформа начиная с версии 8.2 поддерживает методы преобразования с учетом системного часового пояса. Пример перевода в универсальное время и обратно (UTC), работает и на клиенте и на сервере:

ДатаВремяСервера = УниверсальноеВремя(ТекущаяДатаСеанса());
ДатаВремяМестное = МестноеВремя(ДатаВремяСервера);

@yellow_pad | #1С #УниверсальноеВремя #Интеграция #ДатаВремя
453 viewsЕвгений Буйлин блог: @yellow_pad, 05:01
Открыть/Комментировать
2021-06-02 08:00:00 Универсальный лог... на скорую руку

Задача:
после установки доработок в рабочей базе в регистре сведений появляются множественные записи. На копии не воспроизводится, продуктив отладкой останавливать нельзя. Как узнать что делает записи, откуда происходит вызов и какой код при этом выполняется?

Решение: универсальное расширение с одним методом, вызываемым ПриЗаписи набора записей регистра. Метод генерирует ошибку, описание ошибки возвращает полный стек вызовов, а встроенная XML-сериализация возвращает настройки отбора и записываемый набор записей. Фиксируем лог в журнал регистрации. Полученные записи можно отобрать по комментарию или сохранить в Excel, настроить отборы и проанализировать.

Пример кода: paste1C

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

@yellow_pad | #1С #ПопыткаИсключение #ЖурналРегистрации
249 viewsЕвгений Буйлин блог: @yellow_pad, 05:00
Открыть/Комментировать
2021-05-26 08:00:00 Безопасный режим работы

В безопасном режиме работы:
● Привилегированный режим отменяется, переход в привилегированный режим игнорируется.
● Запрещены операции использования внешних средств: механизмы COM, загрузка внешних компонентов, доступ к файловой системе, доступ к Интернету.

Следовательно, внешние обработки и печатные формы не нужно делать небезопасными, если не нужны полноправное получение данных или работа с внешними средствами (загрузки, выгрузки и т.п.). Также нужно убедиться, что вы из обработки не вызываете методы БСП или типовой конфигурации, которые устанавливают привилегированный режим.

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

Подробнее: руководство разработчика

@yellow_pad | #1С #ВнениеОбработки #ДополнительныеОбработки #ПривилегированныйРежим
196 viewsЕвгений Буйлин блог: @yellow_pad, 05:00
Открыть/Комментировать
2021-05-24 10:01:29 Шаблон внешней печатной формы

Довольно часто приходится создавать новые подключаемые ПФ для подсистемы БСП "Печать". И каждый раз вспоминаешь: Где же последний раз её делал? А корректно ли заполнена экспортная функция описания обработки?

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

» » СКАЧАТЬ ШАБЛОН ВПФ » »

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

Качайте, пользуйтесь!

Если будут пожелания по доработке - пишите в чат или в личку, обновлю по этой же ссылке

#полезныересурсы #бсп
196 viewsЕвгений Буйлин блог: @yellow_pad, 07:01
Открыть/Комментировать