Forwarded from Александр Кунташов — про 1С и не только
Инфостарт вчера объявил номинантов премии 🏆 Infostart Awards, вручение которой пройдет онлайн уже завтра. Также на мероприятии будет разыграна настолка для 1Сников Инфостарт.Домино, которая произвела фурор на осеннем эвенте. А после вручения премий состоится игра ЧтоЕслиТогда: Dream Team знатоков против участников сообщества, приславших свои каверзные вопросы. Проходит игра всегда очень весело, присоединяйтесь в качестве зрителей и болельщиков!
Но вернемся к премии.
В моей «родной» секции «Инструментарий разработчика. Приемы и методы разработки» в шортлист по результатам голосования экспертов включили четырех из множества достойных кандидатов:
💪 Олега Тымко, которого в сообществе 1С знают как интереснейшего докладчика Infostart Event'а и митапов, активного контрибьютера и автора различных проектов сообщества OneScript. Если присмотреться к аккаунту Олега на гитхабе, то кроме всего прочего можно увидеть в списке проектов проект JOneS — порт движка OneScript на Java, который выглядит интересно и перспективно.
🎓 Дмитрия Петрова — он отличился популярной серией статей по использованию БСП, в которых разбирает различные механизмы библиотеки в примерах и с картинками.
😎 Виталия Черненко мы знаем по публикациям про особенности механизмов технологической платформы 1С. Одна из самых запоминающихся и нашумевших — про секретный незадокументированный оператор в 1С. А еще Виталий ведет в телеграме популярный канал @JuniorOneS.
🛠 Сергея Яныгина, автора нескольких проектов, одним из которых я лично пользуюсь уже больше года фактически каждый день. Это OneS Cluster Admin — альтернативная консоль администрирования кластера серверов 1С, которая позволяет в одном окне управлять серверами 1С разных версий платформы (без необходимости перерегистрировать radmin.dll), не требует прав администратора ОС, кросплатформенная и прочее, прочее. Крутой инструмент, который знаю не понаслышке, и поэтому с удовольствием рекомендую!
👉 Участвовать в онлайн-трансляции Infostart Awards 2022 👈
Но вернемся к премии.
В моей «родной» секции «Инструментарий разработчика. Приемы и методы разработки» в шортлист по результатам голосования экспертов включили четырех из множества достойных кандидатов:
💪 Олега Тымко, которого в сообществе 1С знают как интереснейшего докладчика Infostart Event'а и митапов, активного контрибьютера и автора различных проектов сообщества OneScript. Если присмотреться к аккаунту Олега на гитхабе, то кроме всего прочего можно увидеть в списке проектов проект JOneS — порт движка OneScript на Java, который выглядит интересно и перспективно.
🎓 Дмитрия Петрова — он отличился популярной серией статей по использованию БСП, в которых разбирает различные механизмы библиотеки в примерах и с картинками.
😎 Виталия Черненко мы знаем по публикациям про особенности механизмов технологической платформы 1С. Одна из самых запоминающихся и нашумевших — про секретный незадокументированный оператор в 1С. А еще Виталий ведет в телеграме популярный канал @JuniorOneS.
🛠 Сергея Яныгина, автора нескольких проектов, одним из которых я лично пользуюсь уже больше года фактически каждый день. Это OneS Cluster Admin — альтернативная консоль администрирования кластера серверов 1С, которая позволяет в одном окне управлять серверами 1С разных версий платформы (без необходимости перерегистрировать radmin.dll), не требует прав администратора ОС, кросплатформенная и прочее, прочее. Крутой инструмент, который знаю не понаслышке, и поэтому с удовольствием рекомендую!
👉 Участвовать в онлайн-трансляции Infostart Awards 2022 👈
👍10🔥4👏1
Жёлтый чайник 1С (Черненко Виталий)
Photo
Сколько будет выведено, если всего пользователей системы взаимодействия 1000?
Anonymous Quiz
17%
0
11%
250
46%
999
26%
1000
👍11😁7🔥2
Наконец-то решил поковырять Систему Взаимодействия 1С.
Но так и не нашёл тематического чата в телеграмм.
Поэтому решил создать свой =)
Вступайте, если у вас есть вопросы или же желание на них отвечать 🥳
@CollaborationSystemOneS
Но так и не нашёл тематического чата в телеграмм.
Поэтому решил создать свой =)
Вступайте, если у вас есть вопросы или же желание на них отвечать 🥳
@CollaborationSystemOneS
🔥7👍4👏3
В тестовой 8.3.23 появилась community-лицензия для разработчиков 🥳
Есть ограничения.Необходимо проконсультироваться с врачом.
Есть ограничения.
👍28🔥18😱3
😱14👍7🔥7
Жёлтый чайник 1С (Черненко Виталий)
Сред("12345", 3, -9);
СколькоВыбрать = Неопределено;
А = Сред("12345", 3, СколькоВыбрать);
А = Сред("12345", 3, СколькоВыбрать);
Anonymous Quiz
11%
""
2%
"12"
3%
"2345"
45%
"345"
40%
Ошибка
👍9🤔5
Регулярные выражения в платформе 8.3.23.📣
Вышла тестовая версия платформы 8.3.23. В полноценном релизе может всё измениться. Но пока, что на данный момент имеем:
Новые методы платформы:
📍
ℹ️ Используются регулярные выражения стандарта ICU
🤔 Метод
Лучше бы сразу сделали что-то типа
🕑 Замеры скорости показывают, что 1С выполняет поиск быстрее классической
Ну и в ряде случаев может выполняться медленее. Например, если продублировать строку "
🧑💻 Конечно, нужно больше тестов. И если вы хотите поучаствовать, то можете использовать разработанный мною инструмент для этих целей: ссылка на гитхаб.
👥 Если есть какие-то замечания по инструменту, то добавляйте ишуиз. Если же есть замечания по самим регулярным выражениям в 1С, то можете добавлять комментарий на этой страничке. Будет интересно увидеть результаты 🥳
😄 P.S.: Оптимистичное (и классическое) начало главы про регулярные выражения из документации на ИТС:
У вас есть проблема.
Вы решили использовать регулярные
Выражения, чтобы её решить.
Теперь у вас две проблемы.
—————————————————————
@JuniorOneS
Вышла тестовая версия платформы 8.3.23. В полноценном релизе может всё измениться. Но пока, что на данный момент имеем:
Новые методы платформы:
📍
СтрНайтиПоРегулярномуВыражению(<Строка>, <РегулярноеВыражение>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>, <ИгнорироватьРегистр>, <МногострочныйПоиск>)
📍СтрНайтиВсеПоРегулярномуВыражению(<Строка>, <РегулярноеВыражение>, <ИгнорироватьРегистр>, <МногострочныйПоиск>)
📍СтрПодобнаПоРегулярномуВыражению(<Строка>, <РегулярноеВыражение>, <ИгнорироватьРегистр>, <МногострочныйПоиск>)
📍СтрЗаменитьПоРегулярномуВыражению(<Строка>, <РегулярноеВыражение>, <ПодстрокаЗамены>, <ИгнорироватьРегистр>, <МногострочныйПоиск>)
👍 Понятное описание в документации и есть примерыℹ️ Используются регулярные выражения стандарта ICU
🤔 Метод
СтрПодобнаПоРегулярномуВыражению() проверяет на соответствие шаблону ВСЮ строку. Как-то я больше привык, когда метод проверяет наличие в строке любого кусочка, соответствующего шаблону. Но, в принципе, для этого есть СтрНайтиПоРегулярномуВыражению()
👎 Зачем-то наделали в методах кучу параметров. В СтрНайтиПоРегулярномуВыражению() их аж семь. И из них 5 необязательных. А если понадобится что-то добавить? Параметры для регулярок бывают разные. Я понимаю, когда старый легаси не исправляют, но тут... хочется напомнить про стандарты разработки 1С =) Лучше бы сразу сделали что-то типа
ПараметрыПоиска = Новый ПараметрыПоискаПоРегулярномуВыражению();❌ Иногда при некорректном выражении падает сеанс. Пример видно на скрине. Надеюсь, что до релиза поправят)
🕑 Замеры скорости показывают, что 1С выполняет поиск быстрее классической
VBScript.RegExp. Иногда значительно быстрее. Иногда в десятки раз!Ну и в ряде случаев может выполняться медленее. Например, если продублировать строку "
Моя почта: sample@example.com" несколько тысяч раз и применить на ней шаблон "(\w+@\w+\.\w+)", то чем длинее текст, тем 1С больше отстает от компоненты. В несколько раз.🧑💻 Конечно, нужно больше тестов. И если вы хотите поучаствовать, то можете использовать разработанный мною инструмент для этих целей: ссылка на гитхаб.
👥 Если есть какие-то замечания по инструменту, то добавляйте ишуиз. Если же есть замечания по самим регулярным выражениям в 1С, то можете добавлять комментарий на этой страничке. Будет интересно увидеть результаты 🥳
😄 P.S.: Оптимистичное (и классическое) начало главы про регулярные выражения из документации на ИТС:
У вас есть проблема.
Вы решили использовать регулярные
Выражения, чтобы её решить.
Теперь у вас две проблемы.
—————————————————————
@JuniorOneS
👍18🔥5❤4👏1😁1🤔1😱1
Жёлтый чайник 1С (Черненко Виталий)
Photo
У вас есть справочник "Справочник". В нём 5 элементов. Какое сообщение будет выведено?
Anonymous Quiz
4%
0
14%
1
3%
2
4%
3
15%
4
5%
5
54%
Ошибка
😱25🔥4😁4👍2👎1🤔1
Жёлтый чайник 1С (Черненко Виталий)
Управление платформенными обработками (расширение для типовых) Выложил новую версию расширения по подмене "встроенных" в платформу обработок. • Добавлены новые обработки из платформы 8.3.20 (9 шт) • В новой версии платформы изменили внутренние имена обработок.…
Управление платформенными обработками. [UPDATE 8.3.23]
Продолжаем ковырять бета 8.3.23 😁
Выложил новую версию расширения по подмене "встроенных" в платформу обработок.
📍Добавлены новые обработки из платформы:
••• Управление распознаванием речи
••• Управление табличными пространствами базы данных
••• Управление хранилищем двоичных данных
📍 Уменьшена зависимость от БСП. Осталось только наличие справочника Пользователи и для работы в разрезе пользователей типовой метод Пользователи.ТекущийПользователь()
📍Исправлен ряд внутренних ошибок
Подробнее на Инфостарт
+ проект выложен в открытый доступ на GitHub. Оттуда можно скачать релизы, зарегистрировать ошибку или добавить предложения.
Ссылка на репозиторий
@JuniorOneS
Продолжаем ковырять бета 8.3.23 😁
Выложил новую версию расширения по подмене "встроенных" в платформу обработок.
📍Добавлены новые обработки из платформы:
••• Управление распознаванием речи
••• Управление табличными пространствами базы данных
••• Управление хранилищем двоичных данных
📍 Уменьшена зависимость от БСП. Осталось только наличие справочника Пользователи и для работы в разрезе пользователей типовой метод Пользователи.ТекущийПользователь()
📍Исправлен ряд внутренних ошибок
Подробнее на Инфостарт
+ проект выложен в открытый доступ на GitHub. Оттуда можно скачать релизы, зарегистрировать ошибку или добавить предложения.
Ссылка на репозиторий
Всегда можно порадовать автора плюсиками на инфостарт и звездочками на гитхаб 😁—————————
@JuniorOneS
👍15🔥8
Скрытый тип "ОсновнойЭлементФормы"
В 1С есть много всякого скрытого и недокументированного.
Небольшой примерчик - тип "ОсновнойЭлементФормы".
В управляемой форме есть свойство "ТекущийЭлемент". По синтаксис-помощнику оно имеет составной тип из разного вида элементов (скрин1).
Но на самом деле, иногда там может оказаться нечто особенное. "ОсновнойЭлементФормы".
Его нет в справке. Гугл находит только несколько жалоб программистов на его появление. И вот это обсуждение на партнерском форуме (скрин2)
Выглядит он странно. Похож толи на саму форму, толи на какую-то группу, но при этом не имеет некоторых свойств. Например, "Имя" и "Элементы" (скрин3). Из-за чего какой-то код, который на это не рассчитан, может упасть в ошибку.
Если попытаться проверить его тип, то возвращается "Макет формы" (скрин4).
Самый простой способ его получить - создать обработку с формой, на которой не будет элементов. У такой формы текущий элемент будет обсуждаемого типа. Но иногда он возникает из-за игр с ограничением доступности элементов. Когда платформа считает, что "текущим" нельзя назначить ни один элемент. Тогда в свойство попадает наш полтергейст. Потому что пустым свойство быть не может)
@JuniorOneS
В 1С есть много всякого скрытого и недокументированного.
Небольшой примерчик - тип "ОсновнойЭлементФормы".
В управляемой форме есть свойство "ТекущийЭлемент". По синтаксис-помощнику оно имеет составной тип из разного вида элементов (скрин1).
Но на самом деле, иногда там может оказаться нечто особенное. "ОсновнойЭлементФормы".
Его нет в справке. Гугл находит только несколько жалоб программистов на его появление. И вот это обсуждение на партнерском форуме (скрин2)
Выглядит он странно. Похож толи на саму форму, толи на какую-то группу, но при этом не имеет некоторых свойств. Например, "Имя" и "Элементы" (скрин3). Из-за чего какой-то код, который на это не рассчитан, может упасть в ошибку.
Если попытаться проверить его тип, то возвращается "Макет формы" (скрин4).
Самый простой способ его получить - создать обработку с формой, на которой не будет элементов. У такой формы текущий элемент будет обсуждаемого типа. Но иногда он возникает из-за игр с ограничением доступности элементов. Когда платформа считает, что "текущим" нельзя назначить ни один элемент. Тогда в свойство попадает наш полтергейст. Потому что пустым свойство быть не может)
@JuniorOneS
🔥19👍6🤔6
Открытие системных форм платформы
В продолжении темы недокументированных возможностей и обработок.
Во вчерашнем инструменте используется подмена "встроенных" в платформу внешних обработок.
Активные пользователи, Журнал регистрации, Конструктор запросов и так далее.
Всё это внутри платформы лежит именно как внешние обработки 1С. И по специальному адресу подключаются в момент их вызова (внутри "Все функции").
Подробнее можно почитать здесь.
Но помимо таких "встроенных" внешних обработок, есть ещё и "встроенные" формы. Это, например, сама форма "Все функции". И форма редактирования списка значений. И панель избранного. И т.д. и т.п.
Таких форм много и они написаны на 1С. Т.е. интерфейс 1С использует формы, которые сделаны на 1С. Такая вот небольшая рекурсия 🔄
Где такие формы лежат и как их "достать" описано здесь.
Есть даже возможность их подменять, но об этом тссс...!
Но мы не будем ковыряться во внутренностях платформы. А лишь воспользуемся тем, что доступно любому разработчику из самого кода 1С. Например, открытие ряда таких форм =)
Для этого используется специальный системный адрес формы и необходимые для её работы параметры (если они нужны).
➖ Например, вот так можно открыть форму "Все функции":
А заодно и выложил его на гитхаб. Код старый, много чего хочется переделать, но, как говорится, "главное, что работает".
Что позволяет делать обработка:
📍 Отлавливает открытые формы
📍 Открывать новые формы с указанием параметров
📍 Редактировать свойства формы и её элементов
📍 Просматривать и изменять значения реквизитов. Умеет работать в т.ч. с Компоновщиками и Деревьями\Таблицами
📍 По одной кнопке включать доступность на редактирование всей формы и её элементов
📍 Просматривать и редактировать настройки по данной форме в хранилище
📍 Для всего остального есть возможность выполнить произвольный код над "пойманной" формой
Обработка выручала меня множество раз. Когда нужно в рамках теста срочно что-то поменять в форме или посмотреть её содержимое, а в отладку лезть не хочется, долго или даже нет возможности. Ну и помогало определять имена "встроенных" в платформу обработок и форм. Например, чтобы понять, какое системное имя имеет форма "Все функции", нужно включить в моей обработке обновление данных с задержкой через N секунд и открыть "Функции для технического специалиста". Тогда Менеджер открытых форм поймает открытую форму "Все функции" и покажет её в панели.
Переходите на страницу Инфостарт и проект Гитхаб.
На Гитхабе можно скачать бесплатно, добавить предложение или зарегать ошибку.
Ну и поставить звёздочку, конечно 😁
@JuniorOneS
В продолжении темы недокументированных возможностей и обработок.
Во вчерашнем инструменте используется подмена "встроенных" в платформу внешних обработок.
Активные пользователи, Журнал регистрации, Конструктор запросов и так далее.
Всё это внутри платформы лежит именно как внешние обработки 1С. И по специальному адресу подключаются в момент их вызова (внутри "Все функции").
Подробнее можно почитать здесь.
Но помимо таких "встроенных" внешних обработок, есть ещё и "встроенные" формы. Это, например, сама форма "Все функции". И форма редактирования списка значений. И панель избранного. И т.д. и т.п.
Таких форм много и они написаны на 1С. Т.е. интерфейс 1С использует формы, которые сделаны на 1С. Такая вот небольшая рекурсия 🔄
Где такие формы лежат и как их "достать" описано здесь.
Для этого используется специальный системный адрес формы и необходимые для её работы параметры (если они нужны).
➖ Например, вот так можно открыть форму "Все функции":
ОткрытьФорму("sysForm:AllFunctionsForm");
➖ А вот так панельку избранного: ОткрытьФорму("sysForm:FavoritesDlg", Новый Структура("alias", 1));
Чтобы можно было поиграться, я добавил возможность открытия системных форм в свой древний инструмент Менеджер открытых форм. А заодно и выложил его на гитхаб. Код старый, много чего хочется переделать, но, как говорится, "главное, что работает".
Что позволяет делать обработка:
📍 Отлавливает открытые формы
📍 Открывать новые формы с указанием параметров
📍 Редактировать свойства формы и её элементов
📍 Просматривать и изменять значения реквизитов. Умеет работать в т.ч. с Компоновщиками и Деревьями\Таблицами
📍 По одной кнопке включать доступность на редактирование всей формы и её элементов
📍 Просматривать и редактировать настройки по данной форме в хранилище
📍 Для всего остального есть возможность выполнить произвольный код над "пойманной" формой
Обработка выручала меня множество раз. Когда нужно в рамках теста срочно что-то поменять в форме или посмотреть её содержимое, а в отладку лезть не хочется, долго или даже нет возможности. Ну и помогало определять имена "встроенных" в платформу обработок и форм. Например, чтобы понять, какое системное имя имеет форма "Все функции", нужно включить в моей обработке обновление данных с задержкой через N секунд и открыть "Функции для технического специалиста". Тогда Менеджер открытых форм поймает открытую форму "Все функции" и покажет её в панели.
Переходите на страницу Инфостарт и проект Гитхаб.
На Гитхабе можно скачать бесплатно, добавить предложение или зарегать ошибку.
Ну и поставить звёздочку, конечно 😁
@JuniorOneS
👍25🔥6👏2😱1
Жёлтый чайник 1С (Черненко Виталий)
Photo
🔥12🍾7👍6❤4🤔3😁1
Этот год был непростым ©
А ещё бессмысленно беспощадным.
И пока одни люди своими приказами и сапогами втаптывают в грязь чужие жизни и надежды на будущее, другим людям предстоит готовиться к тому, чтобы всё это разгребать. И когда всё закончится, понадобятся руки и знания каждого, чтобы восстанавливать всё то, что разрушено.
Поэтому я желаю всем нам не только мирного неба над головой, но и сил и терпения, чтобы развиваться и становиться лучше не только как люди, но и как профессионалы своего дела.
Всех с наступающим 2023!
Занимайтесь IT, а не <цензура>.
А ещё бессмысленно беспощадным.
И пока одни люди своими приказами и сапогами втаптывают в грязь чужие жизни и надежды на будущее, другим людям предстоит готовиться к тому, чтобы всё это разгребать. И когда всё закончится, понадобятся руки и знания каждого, чтобы восстанавливать всё то, что разрушено.
Поэтому я желаю всем нам не только мирного неба над головой, но и сил и терпения, чтобы развиваться и становиться лучше не только как люди, но и как профессионалы своего дела.
Всех с наступающим 2023!
Занимайтесь IT, а не <цензура>.
🕊75👍21❤16👎6🔥3