Related Posts
- Получение логина и пароля техподдержки 1С из базы
- Класс для вывода отчета в Excel
- Счет-фактура для УПП
- Библиотека классов для создания внешней компоненты 1С на C#
- Акт об оказании услуг (со скидками) — внешняя печатная форма для Управление торговлей 11.1.10.86
- Прайс-лист с артикулом в отдельной колонке
Вместо этого
ФизЛицо = Пользователи.ТекущийПользователь().ФизическоеЛицо;
Пользователь = Пользователи.ТекущийПользователь();
не проще будет?
Пользователь = ПараметрыСеанса.ТекущийПользователь;
ФизическоеЛицо = ПараметрыСеанса.ТекущийПользователь.ФизическоеЛицо;
Во всех типовых работает без проблем.
Всё работает.. СП пишет:
Глобальный контекст (Global context)
ПользователиИнформационнойБазы (InfoBaseUsers)
Использование:
Только чтение.
Описание:
Тип: МенеджерПользователейИнформационнойБазы.
Используется для управления списком пользователей информационной базы.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Функции полезные. Имеет смысл вообще поразбираться в БСП и использовать уже написанные функции, чтобы не изобретать велосипед.
(1) OtTech,
Проще, но хуже. Всё дело в одном слове — стандартизация. В конфигурациях с использованием БСП рекомендуется использовать процедуры из модуля ПользователиКлиентСервер и никак иначе.
В свете вышесказанного, а как можно с ней поразбираться? Т.е. есть какая-либо справочная информация по ней?
(4) davdykin, вообще во всех модулях из БСП есть программный интерфейс(важные функции для работы) и они детально описаны, заходите — читаете 🙂 в основном самые частые функции в модулях ОбщегоНазначения… таких модулей как минимум несколько. Ну и на ИТС есть документация по БСП
(2) Вы хотите сказать, что у функция ПользователиИнформационнойБазы.ТекущийПользователь() возвращает элемент справочника Пользователи?
Мне кажется, что Вы ошибаетесь, и код действительно нерабочий.
МенеджерПользователейИнформационнойБазы (InfoBaseUsersManager)
ТекущийПользователь (CurrentUser)
Синтаксис:
ТекущийПользователь()
Возвращаемое значение:
Тип: ПользовательИнформационнойБазы.
Описание пользователя, аутентифицированного в текущем сеансе. Если список пользователей информационной базы пустой, то в качестве текущего пользователя будет возвращен пользователь с пустым именем и идентификатором объекта, полученного методом НайтиПоИмени, если в параметре указано пустое имя.
(6)
Точно.. Посмотрела повнимательней. Именно так не работает. Извините.
(7) Liily, нерабочий, тут нужно внимательнее смотреть на тип получаемого значения.
(1) OtTech,
Сегодня это параметр сеанса ТекущийПользователь, завтра — предопределенный элемент справочника, послезавтра — запись регистра сведений (все приведенные данные являются выдумкой автора и совпадения случайны) ) На текущий момент, может быть и проще, в будущем — хуже.
Библиотека нужна, но лучше бы её писала сама фирма 1с
спасибо за хорошее оформление и наличие примеров.
Плюсую. Для себя по мере надобности тоже выдергиваю обращения к БСП и общим модулям, в виде шаблонов, чтобы потом не искать…
(10) chmv,
вроде бы и пишет сама 1С называется Библиотека Стандартный Подсистем, или я чего то не знаю
Я имею ввиду стандартные конфигурации + встроенные функции системы
Также программисту-разработчику полезно знать и заглядывать при доработке типовых конфигураций в первую очередь в общие модули (ОбщегоНазначения, ОбщегоНазначенияКлиентСервер, ОбработкаТабличныхЧастей, где прячутся очень нужные, универсальные функции и обычно без привязки к структуре метаданных. Если за 2 минуты ничего не приглянулось, приходится писать самому 🙁 Вот только в модуле ОбщегоНазначения на примере Розницы 1.0 столько же полезного:
— Функция ЭтоСсылка(Тип) Экспорт
// Проверить, что значение имеет ссылочный тип данных.
//
// Параметры:
// Значение — ссылка на объект, — элемент справочника, документ, …
//
// Возвращаемое значение:
// Булево — Истина, если тип значения ссылочный.
//
2. Функция ЗначениеСсылочногоТипа(Значение) Экспорт
3. // Проверяет физическое наличие записи в информационной базе данных о переданном значении ссылки
//
// Параметры:
// ЛюбаяСсылка — значение любой ссылки информационной базы данных
//
// Возвращаемое значение:
// Истина — ссылка физически существует;
// Ложь — ссылка физически не существует
//
Функция СсылкаСуществует(ЛюбаяСсылка) Экспорт
Функция ЕстьНеЦифры(Знач СтрокаПроверки) Экспорт
Функция ПолучитьВладельцаХарактеристики(Номенклатура) Экспорт
Функция ПолучитьЗначениеПеременной(ИмяПараметра, Кэш = Неопределено, КэшИзменен = Ложь) Экспорт — Вот эта фунция при использвании в обработках проведения документов и перелопачиванию справочников позволяет в разы убыстрить работу, т.к. переменные читаются из базы только один раз и остаются в ОЗУ.
Процедура ЗаписатьНаборЗаписейНаСервере(ИмяРегистра, Регистратор, ТаблицаДвижений = Неопределено) Экспорт
Продолжать можно бесконечно. Самое веселое, что не найдешь функцию, напишешь, а потом вот она под носом была 🙂
(1) OtTech,
ФизЛицо = Пользователи.ТекущийПользователь().ФизическоеЛицо;
Пользователь = Пользователи.ТекущийПользователь();
не проще будет?
Пользователь = ПараметрыСеанса.ТекущийПользователь;
ФизическоеЛицо = ПараметрыСеанса.ТекущийПользователь.ФизическоеЛицо;
Не проверял, но скорее всего БСП-шная функция засунута в повторное использование. Поэтому типовую использовать правильнее
меня всегда дико радовала функция Просклонять в общем модуле ОбщегоНазначения. как она работает — загадка, но для различных отчетов вещь незаменимая
(4) davdykin, вы удивитесь, но…http://its.1c.ru/db/bspdoc
1. — Костыль, фирменный — от 1С.
3. — Есть реквизит в метаданных, серьёзно? За этим — в отдельный модуль ходить?
6. Оставляем только цифры от номера (без лидирующих нулей):
Это ещё — не самый оптимальный вариант.
PS.В целом же, модуль содержит много полезных и нужных функций.
С 8.3.6 реализовано функцией платформы «СтрШаблон»
Гораздо удобнее пользовать именно ее, т.к. вызов гораздо короче и код читабельнее выходит.
А БСПшную скорее всего в очередной версии библиотеки задиприкейтят.
Идея хорошая, сам год назад пытался сделать вики в интернете по БСП, но не взлетело.
Тут надо всем сообществом браться и делать что-то типа синтаксис помощника хотьбы и chm.
Подозреваю у самих 1С он есть — а так надо из текстов модулей парсить.
К тому же периодически 1С перетасовывает карты. И функции которые прекрасно работали канут в лету.
Жизнь — странная штука. Когда у тебя на руках все козыри, она делает ход конем.
Понятно, почему не взлетело. Ведь идея так себе — скорее для новеньких/ленивых.
Опытный разработчик обычно всегда знакомится с докой и API новых для него подсистем, чтобы не изобретать велосипедов и писать хороший код.
Если новую конфу в руки берешь — первым делом общие модуля листаешь.
(22) herfis,
А не упаришься общие модуля читать ?
Сами 1С частенько не знают что у них в соседних модулях есть.
Хочется примера? набери в глобальном поиске Новый ФТПСоединение
В том то и дело, что у всех мало мальски приличных систем апи документирован.
Намедни на aliexpess читал апи. Оченнно даже приличное апи.
В гуглопереводе с китайского )
неистово плюсую
большое спасибо за ооочень хорошую статью..
(26)https://its.1c.ru/db/bsp244doc
Как говорится не знание закона не освобождает от ответственности! Все в 1С есть и очень даже хорошо описано. В т.ч. с примерами
за 3 года что-то могло измениться