TGViewer
Channel Public Channel
Жёлтый чайник 1С (Черненко Виталий)

Жёлтый чайник 1С (Черненко Виталий)

@juniorones

Только настоящий джедай сможет сдержать гнев и познать Силу Желтого программирования.

Make IT, not war

По всем вопросам: @SeiOkami

https://github.com/SeiOkami
https://seiokami.github.io/
https://infostart.ru/profile/309462/
Subscribers
5.3K
Photos
200
Videos
3
Links
214

Showing posts older than #135 · Back to latest

Older Posts 20 shown
Post #134 2.32K
Рефакторинг, АСТАНАВИСЬ!

Наглядный пример, почему нужно осторожно пользоваться функционалом конфигуратора "рефакторинг"

Ctrl+Z не помог, всё зависло, пришлось перезаходить без сохранения.
Post #132 3.69K
Простые методы в вашу коллекцию =)
Выкладываю порцию небольших методов на FastCode. Можете добавить в свою коллекцию. И поставить лайк 👍
@JuniorOneS

Добавить отбор построителя
Добавляет в построитель отбор по переданным параметрам

Пустое значение типа
Возвращает пустое значение переданного типа

Таблица Значений Без Null
Функция возвращает копию переданной таблицы значений, но исключая из всех колонок тип Null
Бывает полезна для обработки выгрузки запроса, в котором у каждой колонки есть тип Null

Таблица значений по полному имени метаданных
Возвращает описание таблицы значений по полному имени таблицы базы данных. Например "Справочник.Валюты"

Свернуть табличную часть
Сворачивает табличную часть по всем колонкам.
Числовые колонки при этом суммируются

Добавить или обновить колонку
Добавляет колонку в таблицу значений
Если колонка уже есть, то обновляет свойства Заголовок и Ширина
Возвращает добавленную или найденную колонку

Этот тип является менеджером записи регистра сведений
Является ли переданный тип менеджером записи регистра сведений

Записать() на форме объекта
Записывает объект формы. Возвращает признак успеха.
Нужен для обхода недокументированного поведения платформы.
В СП описано, что метод формы Записать() возвращает признак успеха.
Однако, если в ПередЗаписью() произойдёт Отказ, тогда метод падает в ошибку, которая фиксируется в ЖР.

Инициализировать Форму Выбора
Позволяет использовать одну форму в качестве формы списка и формы выбора. Использует БСП

"Использовать в качестве значения поле" программно
В тех случаях, когда на таблице формы с отборами СКД необходимо по умолчанию в новых элементах включать галочку "Использовать в качестве значения поле"
  • ❤ 1
  • 👍 1
Post #131 10.2K
Шпаргалка по горячим клавишам для разработчика.
—————————————-
@JuniorOneS | #Шпаргалка
Post #129 1.97K

Forwarded from Предложения для 1С

Всем привет! 🙋🏻‍♀️🙋🏻‍♂️

Начинаем собирать предложения по развитию платформы 1С.

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

Далее всё будет пересылаться в соответствующую группу 1С. Всегда можно будет узнать список переданных 1С предложений и статусы по ним.

Важно! На предложения по развитию самого конфигуратора автоматически отвечают "пользуйтесь EDT". Так что обсуждать их нет смысла. Нужны предложения по платформе как таковой.

@UnionOneS
Post #127 2.96K
​​Иногда так нужно проанализировать время и результат сложного запроса прямо в отладке!

Предлагаю свою версию решения этой задачки 👌
Несложная функция, которая клонирует переданный запрос и выполняет его пакеты с получением результата и замером времени.
Учитывает все переданные параметры и временные таблицы в МВТ.

И при этом не задевает переданный запрос! И он выполнится так же, словно вы ничего не совершали.
Удобно, когда в запросе есть менеджер временных таблиц, который "сломает" повторное выполнение.

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

Выкладываю функцию в FastCode. Она будет обновляться с учетом ваших пожеланий.
С вас лишь скромный лайк на сайте. Он ничего не дает, но все равно приятно 😁

Ссылка на функцию
——————————————————
@JuniorOneS
Post #126 2.78K
​​Неочевидные нюансы записи управляемой формы

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

В статье пойдёт речь о записи управляемой формы.
Статья будет дополняться, поэтому, если вы знаете ещё какой-то "нюанс", то пишите в комментариях к ней. А пока переходите к просмотру и не забудьте поставить лайк плюс в Инфостарт 👍

Ссылка на статью
@JuniorOneS
Post #125 2.94K

Forwarded from Зазеркалье 1С

Опрос про использование оптимизированного механизма реструктуризации

Коллеги, если вы используете СУБД MS SQL Server или PostgreSQL – просьба пройти опрос про использование оптимизированного механизма реструктуризации по ссылке

https://ru.surveymonkey.com/r/WVRSP9B
Surveymonkey Использование нового механизма реструктуризации Take this survey powered by surveymonkey.com. Create your own surveys for free.
Post #124 2.72K
Коллеги, компания 1С запустила опрос с одним вопросом. Удовлетворяет ли вас реструктуризация базы.
По возможности ответьте. В 1С должны знать правду 😅
Post #123 2.79K
Post #121 3.68K
Вывести все доступные поля СКД

Иногда нужно программно добавить все возможные поля в ВыбранныеПоля настроек СКД.
Для таких случаев можно использовать коллекцию из ВыбранныеПоляКомпоновки.ДоступныеПоляВыбора
Это иерархический набор со всеми доступными полями, которые можно вывести на текущем уровне группировки.

Выложил метод, который позволит заполнить коллекцию выбранных полей из коллекции доступных.
Ссылка на Fastcode

"лайки" не возбраняются 👍

#Код| #СКД | @JuniorOneS
—————————————
fastcode.im Вывести все доступные поля СКД - FastCode 1С Вывести все доступные поля СКД Выводит в коллекцию выбранных полей СКД все доступные поля
Post #120 3.39K
​​История формирования отчетов

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

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

Переходите, скачивайте, ставьте "плюсики" и оставляйте комментарии 👍

Ссылка на публикацию

#Расширение | #Отчеты | @JuniorOneS
Post #119 2.89K
ВЫБРАТЬ ПЕРВЫЕ для СКД

Иногда так не хватает в СКД возможности указывать количество выбираемых записей через параметр...
Но если сильно хочется, то можно.
Данный метод подставляет в последнюю выборку переданного НаборДанныхЗапрос секцию ПЕРВЫЕ X.
Процедура компактная и несложная. Выложил на fastcode

P.S.: "лайки" не возбраняются 👍

#Код| #СКД | @JuniorOneS
—————————————
fastcode.im ВЫБРАТЬ ПЕРВЫЕ для СКД - FastCode 1С Процедура подставляет в последний пакет набора данных запроса конструкцию ВЫБРАТЬ ПЕРВЫЕ N
  • 👍 1
Post #118 3.47K
Флаг "Использовать ПОЧТИ всегда", или Нюанс динамических списков

Небольшая пятничная (хоть и опубликована в четверг) история по программной работе со строкой динамического списка.
Установленная галочка Использовать всегда у колонки ДС не означает, что свойство действительно всегда будет в ТекущиеДанные.
Про это часто забывают и даже в типовых 😢

Переходите, читайте и не забывайте ставить плюсы 👍
Читать далее...
___________________________
#УФ | #ДС | @JuniorOneS
infostart.ru Флаг "Использовать ПОЧТИ всегда", или Нюанс динамических списков Небольшая пятничная история по программной работе со строкой динамического списка.
Post #111 3.75K
Жёлтый чайник 1С (Черненко Виталий) Решил выбожить статью на Инфостарт. Посмотрим, как она зайдёт. Канал будет рад вашей поддержке. Для этого достаточно перейти и поставить звёздочку на статье, если она вам понравилась ⭐️ Ссылка на статью
Не баг, а фича.

Пришёл ответ от поддержки 1С по поводу обхода ограничений в СКД.

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

Посему ожидать какой-то доработки "штатной" логики ограничений СКД не стоит.
Если хотим обезопасить свои отчеты, то продолжаем самостоятельно выполнять пункты из выводов статьи =)

• Используйте КомпоновщикНастроек.Восстановить()
• Снимайте галку "Автозаполнение"
• При обновлении отчётов, обрабатывайте пользовательские варианты
• Ограничивайте не только отбор подчиненных, но и выбор

Соответственно, подобным образом поступаем и с ограничениями в динамических списках (ссылка на статью).
Напомню, что для них метод КомпоновщикНастроек.Восстановить() не сработает, а значит нужно писать свой метод.

Или же взять приведённый в статье. Выложил процедуру на FastCode 1С

#СКД | @JuniorOneS
Post #108 3.58K
ПодключаемыеКоманды в БСП

Если у вас есть свой справочник\документ и вы хотите его подключить к подсистеме ПодключаемыеКоманды в БСП, то выполняйте всё по инструкции: https://its.1c.ru/db/bsp244doc/content/53/hdoc

И стоит обратить внимание на одну скромную строчку:

Опционально. Добавить реквизит формы ПараметрыПодключаемыхКоманд произвольного типа. Это позволит не создавать реквизит формы динамически, что ускорит время открытия формы.

Если открывать типовые формы, то можно заметить, что реквизит в них чаще всего добавлен. Специально, чтобы БСП не вызывала при каждом создании формы метод ИзменитьРеквизиты().

Подобные пункты есть и для других подсистем БСП.
Post #107 3K
Коротко о том, как СКД выбирает пакет запроса, результат которого выведет:

— Привет, СКД.
— Привет, Жёлтый Чайник!
— А какой пакет запроса ты выводишь?
— Тот, который в самом конце запроса.
— Ну хорошо, а если последним является помещение во временную таблицу, а не выборка?
— Тогда ищу пакет запроса с выборкой. А все временные таблицы после него игнорирую.
— А если выборок в запросе несколько?
— Тогда беру последний из них, а остальные игнорирую.
— Ну хорошо, а если в запросе вообще нет выборок? Только помещения во временные таблицы.
— <ERROR: Поле не найдено>

Подробнее в небольшом видео с примером нюанса поведения СКД, об который можно из-за невнимательности спотыкаться.

https://youtu.be/tI_VwrmOG5o
YouTube Как СКД выбирает для себе последний пакет Коротко о том, как СКД выбирает пакет запроса, результат которого выведет: — Привет, СКД. — Привет, Жёлтый Чайник! — А какой пакет запроса ты выводишь? — Тот, который в самом конце запроса. — Ну хорошо, а если последним является помещение во временную таблицу…
Post #105 2.72K
Получение всех родителей элемента

Как говорит ИТС:

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

Источник

Написал универсальный метод, который позволяет получить массив со всеми родителями элемента, используя рекомендации 1С.
Скорость выполнения достигает х2 по сравнению с обычным запросом с итогами по иерархии👍
Естественно, всё зависит от конкретной ситуации, но будем полагаться на то, что рекомендации 1С написаны верно 👌

Функция на FastCode

#Запросы | #Стандарты | #Код | @JuniorOneS
Post #101 3.72K
Жёлтый чайник 1С (Черненко Виталий) Всем привет! 🖐🙋 Как известно, в 1С можно установить свойства ТолькоПросмотр, Доступность и Видимость не только на элементы формы, но и на группы этих элементов. Но стоит ли так делать? Оказывается, пользователь может обойти запреты, которые установлены на…
Наследование свойств элементов, или Как пользователь может сломать вашу форму

Выложил статью по этому видео
Переходите, читайте и не забывайте ставить плюсы =)

Ссылка на статью
infostart.ru Наследование свойств элементов, или Как пользователь может сломать вашу форму В 1С можно установить свойства ТолькоПросмотр, Доступность и Видимость не только на элементы формы, но и на группы элементов. Но стоит ли так делать? Оказывается, пользователь может обойти запреты, которые установлены на папку. Об этом подробнее в видео.
  • 👍 1
Older posts →
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 →