Кнопка выбора периода

Довольно редко использую, потому забываю постоянно, вот сделал себе очередную шпаргалку, как делается кнопка выбора периода в 1с на управляемых формах. Итак, первым делом создайте реквизит формы, с типом «стандартный период»:

кнопка выбора периода

Далее, перетаскиваем этот реквизит на форму, и добавляю обычные реквизиты с типом Дата+Время:

Осталось всего ничего — добавить обработчик события «при изменении»:

На этом задача «кнопка выбора периода» будем считать завершена. Еще больше всяких шпаргалок по 1С, легко найдется здесь.

Шрифты при формировании pdf из табличного документа

В виду того, что организация плавно переходит на использование свободных от лицензий шрифтов (и соответственно не попадающих на санкции), то начал работу по переводу некоторых печатных форм в 1С на новые шрифты. Сегодня столкнулся с интересной проблемой, а именно: шрифты при формировании pdf из табличного документа выставляются не верно. Проблема актуальна только при формировании PDF на «сервере». На «клиенте» — всё корректно. Например если в поле табличного документа указать шрифт PT Astra Serif, то в документе pdf они станут ArialMT:

Шрифты при формировании pdf из табличного документа

Мало того, даже если при формировании документа прямо указать шрифт…то результат тот же:

Да, тут я попробовал даже использовать относительно новый функционал по сохранению PDF, именно использование формата PDF_A_3, который позволяет добавлять «вложения». Но толкового описания и примеров в сети я не нашел, а документация от 1С очень скудна. Возможно при помощи «вложений» можно прикрепить этот шрифт для использования. Но не факт.

Открыв сформировавшийся файл pdf блокнотом, можно увидеть что платформа 1С даже не пытается упомянуть нужные шрифты:

Хотя если сохранять тот-же самый табличный документ сначала в формат docx, а затем средствами Word сохранить в pdf, то всё отлично сохраняется, и PDF получается корректный:

Ну что я могу сказать? На лицо похоже ошибка в платформе. Будем ждать обновлений, а пока решил проблему формированием файла в формате html5:

Что в принципе в моём случае, проблему «не верные шрифты при формировании pdf» временно закрыло

Сколько дней в году

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

Основан на функциях 1С которые позволяют определить порядковый номер дня по переданной дате. Т.е. передаём в неё последний день текущего года, и получаем или 365 или 366, в зависимости от високосности года.

Есть другой вариант того-же решения:

,проверяем наличие 29 Февраля в этом году. Если возникает исключение, значит в этом году 365 дней, иначе — 366.

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

Сколько дней в году

1С: Поиск слова обрамлённого символами

В продолжение этого. Пользователи оказались немножко более изобретательными, чем предполагал программист, и начали в комментариях писать и что-то типа:

Соответственно описанная в предыдущей статье функция начала определять только «20 рублей». Т.е. алгоритм не предусматривал наличие нескольких вложений скобок внутри строки. Поправим это:

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

1С: поиск слова обрамлённого символами

Задача: поместить в переменную содержимое строки обрамленной скобками. Т.е. например Есть строка вида:

Нужно положить в переменную строчку содержащуюся внутри скобок. Решение:

1 2 3 41