подставить параметры в строку 1с бсп

Заметки из Зазеркалья

Реализовано в версии 8.3.6.1977.

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

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

Функция форматирования СтрШаблон()

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

— это строка, в которую нужно подставить представления параметров.

Например, результатом выполнения такого оператора:

подставить параметры в строку 1с бсп. Смотреть фото подставить параметры в строку 1с бсп. Смотреть картинку подставить параметры в строку 1с бсп. Картинка про подставить параметры в строку 1с бсп. Фото подставить параметры в строку 1с бсп

Ошибка в данных в строке 2 (требуется тип Дата)

Функция работы со строками СтрСравнить()

Эта функция сравнивает две строки без учёта регистра. Например, так:

подставить параметры в строку 1с бсп. Смотреть фото подставить параметры в строку 1с бсп. Смотреть картинку подставить параметры в строку 1с бсп. Картинка про подставить параметры в строку 1с бсп. Фото подставить параметры в строку 1с бсп

Это же действие вы могли выполнить и раньше с помощью объекта СравнениеЗначений:

подставить параметры в строку 1с бсп. Смотреть фото подставить параметры в строку 1с бсп. Смотреть картинку подставить параметры в строку 1с бсп. Картинка про подставить параметры в строку 1с бсп. Фото подставить параметры в строку 1с бсп

Однако использование новой функции выглядит более простым. А кроме этого функция, в отличие от объекта СравнениеЗначений, работает и в тонком клиенте, и в веб-клиенте.

Функции работы со строками СтрНачинаетсяС(), СтрЗаканчиваетсяНа()

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

Например, их удобно использовать в операторе Если:

подставить параметры в строку 1с бсп. Смотреть фото подставить параметры в строку 1с бсп. Смотреть картинку подставить параметры в строку 1с бсп. Картинка про подставить параметры в строку 1с бсп. Фото подставить параметры в строку 1с бсп

Функции работы со строками СтрРазделить(), СтрСоединить()

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

подставить параметры в строку 1с бсп. Смотреть фото подставить параметры в строку 1с бсп. Смотреть картинку подставить параметры в строку 1с бсп. Картинка про подставить параметры в строку 1с бсп. Фото подставить параметры в строку 1с бсп

Функция работы со строками СтрНайти()

Вместо старой функции Найти() мы реализовали новую функцию, которая имеет дополнительные возможности:

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

Ниже приведён пример, использующий новые возможности поиска. Поиск в обратном направлении удобен тогда, когда вам нужен последний фрагмент формализованной строки, например, полное имя файла в URL. А поиск с указанной позиции помогает в тех случаях, когда нужно искать в известном фрагменте, а не во всей строке.

Источник

Функция СтрШаблон()

Формирует строку по заданному шаблону

Синтаксис

Функция СтрШаблон() имеет следующий синтаксис:

А также альтернативный англоязычный синтаксис:

Параметры

Описание параметров функции СтрШаблон() :

Имя параметраТипОписание
ШаблонСтрокаСодержит шаблон конечной строки. Шаблон может состоять из обычного текста и параметров, которые начинаются с подстановочного знака % (процента)
Значение1. Значение10СтрокаПодстановочные значения. Максимальное количество параметров = 10
Жирным шрифтом выделены обязательные параметры

Возвращаемое значение

Строка
Строка шаблона с подставленными параметрами.

Описание

Чтобы указать в шаблоне символ процента, необходимо указать его дважды: %%. При этом, если за ним стоит цифра, то она уже не будет воспринята, как параметр.
Чтобы в шаблоне указать сразу после параметра цифру, следует номер параметра заключить в круглые скобки. Например: %(1)1 сорт

Доступность

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).

Пример использования

Пример кода с использованием функции СтрШаблон() :

Источник

Полезные функции БСП (Часть 2)

Список полезных функций из состава Библиотеки стандартных подсистем 3.1
Продолжение статьи нашего друга spec8s. (1 Часть)

Специальные предложения

подставить параметры в строку 1с бсп. Смотреть фото подставить параметры в строку 1с бсп. Смотреть картинку подставить параметры в строку 1с бсп. Картинка про подставить параметры в строку 1с бсп. Фото подставить параметры в строку 1с бсп

подставить параметры в строку 1с бсп. Смотреть фото подставить параметры в строку 1с бсп. Смотреть картинку подставить параметры в строку 1с бсп. Картинка про подставить параметры в строку 1с бсп. Фото подставить параметры в строку 1с бсп

подставить параметры в строку 1с бсп. Смотреть фото подставить параметры в строку 1с бсп. Смотреть картинку подставить параметры в строку 1с бсп. Картинка про подставить параметры в строку 1с бсп. Фото подставить параметры в строку 1с бсп

подставить параметры в строку 1с бсп. Смотреть фото подставить параметры в строку 1с бсп. Смотреть картинку подставить параметры в строку 1с бсп. Картинка про подставить параметры в строку 1с бсп. Фото подставить параметры в строку 1с бсп

подставить параметры в строку 1с бсп. Смотреть фото подставить параметры в строку 1с бсп. Смотреть картинку подставить параметры в строку 1с бсп. Картинка про подставить параметры в строку 1с бсп. Фото подставить параметры в строку 1с бсп

подставить параметры в строку 1с бсп. Смотреть фото подставить параметры в строку 1с бсп. Смотреть картинку подставить параметры в строку 1с бсп. Картинка про подставить параметры в строку 1с бсп. Фото подставить параметры в строку 1с бсп

подставить параметры в строку 1с бсп. Смотреть фото подставить параметры в строку 1с бсп. Смотреть картинку подставить параметры в строку 1с бсп. Картинка про подставить параметры в строку 1с бсп. Фото подставить параметры в строку 1с бсп

подставить параметры в строку 1с бсп. Смотреть фото подставить параметры в строку 1с бсп. Смотреть картинку подставить параметры в строку 1с бсп. Картинка про подставить параметры в строку 1с бсп. Фото подставить параметры в строку 1с бсп

(13) От перестановки слагаемых сумма не меняется)

Кстати для получения текущего пользователя на Клиенте:

Эту ТаблицаЗначений надо заранее создать и столбиками заполнить или как вообще.

Возвращает значение дополнительного свойства объекта:
УправлениеСвойствами.ЗначениеСвойства

Мне кажется часто нужен и достоин упоминания.

Обновление 14.01.21 12:35

См. также

Библиотека стандартных подсистем (Механизм БСП) Промо

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

Источник

Полезные функции БСП

Related Posts

29 Comments

Во всех типовых работает без проблем.

Всё работает.. СП пишет:

Глобальный контекст (Global context)

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

Сервер, толстый клиент, внешнее соединение.

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

Проще, но хуже. Всё дело в одном слове — стандартизация. В конфигурациях с использованием БСП рекомендуется использовать процедуры из модуля ПользователиКлиентСервер и никак иначе.

В свете вышесказанного, а как можно с ней поразбираться? Т.е. есть какая-либо справочная информация по ней?

(4) davdykin, вообще во всех модулях из БСП есть программный интерфейс(важные функции для работы) и они детально описаны, заходите — читаете 🙂 в основном самые частые функции в модулях ОбщегоНазначения… таких модулей как минимум несколько. Ну и на ИТС есть документация по БСП

(2) Вы хотите сказать, что у функция ПользователиИнформационнойБазы.ТекущийПользователь() возвращает элемент справочника Пользователи?

Мне кажется, что Вы ошибаетесь, и код действительно нерабочий.

Описание пользователя, аутентифицированного в текущем сеансе. Если список пользователей информационной базы пустой, то в качестве текущего пользователя будет возвращен пользователь с пустым именем и идентификатором объекта, полученного методом НайтиПоИмени, если в параметре указано пустое имя.

Точно.. Посмотрела повнимательней. Именно так не работает. Извините.

(7) Liily, нерабочий, тут нужно внимательнее смотреть на тип получаемого значения.

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

Библиотека нужна, но лучше бы её писала сама фирма 1с

спасибо за хорошее оформление и наличие примеров.

подставить параметры в строку 1с бсп. Смотреть фото подставить параметры в строку 1с бсп. Смотреть картинку подставить параметры в строку 1с бсп. Картинка про подставить параметры в строку 1с бсп. Фото подставить параметры в строку 1с бсп

Плюсую. Для себя по мере надобности тоже выдергиваю обращения к БСП и общим модулям, в виде шаблонов, чтобы потом не искать…

вроде бы и пишет сама 1С называется Библиотека Стандартный Подсистем, или я чего то не знаю

Я имею ввиду стандартные конфигурации + встроенные функции системы

Также программисту-разработчику полезно знать и заглядывать при доработке типовых конфигураций в первую очередь в общие модули (ОбщегоНазначения, ОбщегоНазначенияКлиентСервер, ОбработкаТабличныхЧастей, где прячутся очень нужные, универсальные функции и обычно без привязки к структуре метаданных. Если за 2 минуты ничего не приглянулось, приходится писать самому 🙁 Вот только в модуле ОбщегоНазначения на примере Розницы 1.0 столько же полезного:

— Функция ЭтоСсылка(Тип) Экспорт

// Проверить, что значение имеет ссылочный тип данных.

// Значение — ссылка на объект, — элемент справочника, документ, …

// Булево — Истина, если тип значения ссылочный.

2. Функция ЗначениеСсылочногоТипа(Значение) Экспорт

3. // Проверяет физическое наличие записи в информационной базе данных о переданном значении ссылки

// ЛюбаяСсылка — значение любой ссылки информационной базы данных

// Истина — ссылка физически существует;

// Ложь — ссылка физически не существует

Функция СсылкаСуществует(ЛюбаяСсылка) Экспорт

Функция ЕстьНеЦифры(Знач СтрокаПроверки) Экспорт

Функция ПолучитьВладельцаХарактеристики(Номенклатура) Экспорт

Функция ПолучитьЗначениеПеременной(ИмяПараметра, Кэш = Неопределено, КэшИзменен = Ложь) Экспорт — Вот эта фунция при использвании в обработках проведения документов и перелопачиванию справочников позволяет в разы убыстрить работу, т.к. переменные читаются из базы только один раз и остаются в ОЗУ.

Процедура ЗаписатьНаборЗаписейНаСервере(ИмяРегистра, Регистратор, ТаблицаДвижений = Неопределено) Экспорт

Продолжать можно бесконечно. Самое веселое, что не найдешь функцию, напишешь, а потом вот она под носом была 🙂

Не проверял, но скорее всего БСП-шная функция засунута в повторное использование. Поэтому типовую использовать правильнее

меня всегда дико радовала функция Просклонять в общем модуле ОбщегоНазначения. как она работает — загадка, но для различных отчетов вещь незаменимая

1. — Костыль, фирменный — от 1С.

3. — Есть реквизит в метаданных, серьёзно? За этим — в отдельный модуль ходить?

6. Оставляем только цифры от номера (без лидирующих нулей):

Это ещё — не самый оптимальный вариант.

PS.В целом же, модуль содержит много полезных и нужных функций.

С 8.3.6 реализовано функцией платформы «СтрШаблон»

Гораздо удобнее пользовать именно ее, т.к. вызов гораздо короче и код читабельнее выходит.

А БСПшную скорее всего в очередной версии библиотеки задиприкейтят.

Идея хорошая, сам год назад пытался сделать вики в интернете по БСП, но не взлетело.

Тут надо всем сообществом браться и делать что-то типа синтаксис помощника хотьбы и chm.

Подозреваю у самих 1С он есть — а так надо из текстов модулей парсить.

К тому же периодически 1С перетасовывает карты. И функции которые прекрасно работали канут в лету.

Жизнь — странная штука. Когда у тебя на руках все козыри, она делает ход конем.

Понятно, почему не взлетело. Ведь идея так себе — скорее для новеньких/ленивых.

Опытный разработчик обычно всегда знакомится с докой и API новых для него подсистем, чтобы не изобретать велосипедов и писать хороший код.

Если новую конфу в руки берешь — первым делом общие модуля листаешь.

Сами 1С частенько не знают что у них в соседних модулях есть.

Хочется примера? набери в глобальном поиске Новый ФТПСоединение

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

Намедни на aliexpess читал апи. Оченнно даже приличное апи.

Источник

БСП. Подключаемые команды. Команды заполнения

Как понятно из названия статьи, подсистема “Подключаемые команды” является частью библиотеки стандартных подсистем (далее БСП).
В каждом прикладном решении есть объекты входящие в эту подсистему. Следовательно, для этих объектов можно подключать дополнительные команды.
И именно слово “подключать” подойдет здесь лучше всего. Сейчас коротко объясню почему:

Ближе к делу.

В качестве примера я использовал заполнение документа “Премия» типового прикладного решения “1С:Зарплата и управление персоналом 3”.
Допустим, нам нужно реализовать такой алгоритм расчета премии, который сложно выполнить с помощью типового расчета.
Для этой цели отлично подойдет подключаемая команда заполнения.

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

Итак, приступим …
В первую очередь в модуле объекта нужно заполнить функцию СведенияОВнешнейОбработке.

В параметрах регистрации укажем “ЗаполнениеОбъекта”. Это в дальнейшем повлияет на расположение кнопки на форме объекта назначения. (все варианты см. ИТС).

Определим объекты, к которым мы подключаем нашу обработку. В нашем случае это один документ “Премия”

Заполним остальные поля параметров регистрации

Добавим команду открытия обработки, которая в дальнейшем появится в документе «Премия». «Вид использования» выбираем «ОткрытиеФормы».

Описание других видов использования:

В нашем примере применяется взаимодействие с пользователем, поэтому выбираем вариант «ОткрытиеФормы».

Теперь наша обработка технически готова к добавлению в состав дополнительных отчетов и обработок типового прикладного решения!

Осталось добавить механизм расчета премии и сохранения результатов расчета.

Немного подробнее о механизме открытия формы обработки…
При добавлении команды в таблицу команд мы указали вид команды «ОткрытиеФормы». Это значит, что при выполнении команды «Рассчитать премию» будет открыта основная форма нашей обработки.
В этой форме перечислены ключевые параметры, в которые БСП будет записывать данные необходимые для выполнения обработки.

Для вида использования «ОткрытиеФормы» существуют следующие параметры:

подставить параметры в строку 1с бсп. Смотреть фото подставить параметры в строку 1с бсп. Смотреть картинку подставить параметры в строку 1с бсп. Картинка про подставить параметры в строку 1с бсп. Фото подставить параметры в строку 1с бсп

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

Переходим к расчету премии…
Для получения актуальных данных документа «Премия» будем использовать конструкцию «ВладелецФормы.Объект» в процедуре «ПриОткрытии».

Процедура «ЗаполнитьРеквизитыФормыНаСервере» считывает актуальные значения реквизитов объекта владельца и через модуль объекта записывает их в реквизиты обработки.

На форме добавлены две команды «РассчитатьПремию» и «ПеренестиВДокумент».

По команде «РассчитатьПремию» вызывается процедура модуля объекта с расчетом.
Здесь записан самый примитивный расчет, ибо цель статьи показать работу подключаемой обработки, а не разбирать ньюансы расчета сумм премии.

По команде «ПеренестиВДокумент» вызывается процедура «ПеренестиВДокументОтвет»:

После завершения цикла имеет смысл принудительно установить флаг модифицированности формы объекта-владельца, а также принудительно закрыть форму обработки.

Теперь обработку можно добавить в список дополнительных отчетов и обработок прикладного решения и проверить как она функционирует.

В разных типовых прикладных решениях кнопка заполнения на форме может отображаться в разных местах. Для «1С:Зарплата и управление персоналом 3» кнопка появится здесь:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *