gifts2017

УТ 11.1 Простые примеры: склад, касса значения по умолчанию для пользователей

Опубликовал Юрий Зайцев (Yury1001) в раздел Программирование - Практика программирования

Как есть и как изменить.

Пролог (в блоге)

Лирическое вступление (или лайк в сторону 1С:)

Как мы все знаем, в последней версии торговли (на момент написания 11.1.6.20) нет, и не предвидится, значений по умолчанию для подстановки в документы. Зато есть красивый запрос определения часто встречающегося значения из пяти последних подобных объектов, который стоит изучить просто как художественную литературу, как начинающим так и не очень. Запрос находится в общем модуле ОбщегоНазначенияУТ процедура ЗаполнитьЗначенияСвойствАвтозаполнения и, так как формируется он динамически, я рекомендую остановиться отладкой на строчке Запрос.Текст = ТекстЗапросаСвойствАвтозаполнения(ОбъектСсылка, СтруктураСвойствАвтозаполнения); шагнуть её и посмотреть значение свойства Запрос.Текст, (см. рис. 1).

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

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

Итак, задача:

Заполнять склад в накладной значением, заданным для пользователя, по умолчанию.

Решение:

Добавляем в справочник Пользователи реквизит Склад тип справочник ссылка Склады, размещаем его на форме, после чего находим в модуле объекта РеализацияТоваровУслуг процедуру ОбработкаЗаполнения и после вызова метода ЗаполнитьПоЗначениямАвтозаполнения с параметром Склад, добавляем строчку (см. рис . 2):

Склад = Автор.Склад;

Всё. Сохраняем, запускаем, заходим Администрирование, Настройки пользователей и прав, Пользователи, открываем нужного, устанавливаем значение реквизита Склад.

Заполнять значения можно и в других документах, при этом стОит отметить, что в других документах ссылка на пользователя может называться по-другому, например, в приходном кассовом ордере, это реквизит Кассир.

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

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

Работает так же и для более ранних конфигураций 11.1

См. также

Подписаться Добавить вознаграждение

Комментарии

1. OBEH (OBEH) 18.06.14 15:50
Я думаю, разработчикам можно было бы вместо "интеллектуального" заполнения предложить два варианта.
Вернее, поставить константу, типа, "интеллектуальное заполнение" или "по умолчанию" и, в зависимости от его значения, выполнять код по умолчанию или, типа, "Склад = Автор.Склад;". Думаю, 99 процентов пользователей отказались бы от интеллектуального заполнения, принятого в системе.
2. Юрий Зайцев (Yury1001) 18.06.14 16:03
(1) OBEH, подозреваю, что есть некоторая идеология, которой 1С неукоснительно следует)
Соглашусь, можно бы сделать, если значение по умолчанию для пользователя задано - использовать его, иначе применять "волшебные алгоритмы".
3. rborovikov (rborovikov) 01.04.15 14:51
Круто, конечно, спасибо за описание, клиент как раз спросил про значения по-умолчанию. Используем УТ для Казахстана 3.0 - глобальный посик по конфигурации показывает, что процедура "ЗаполнитьЗначенияСвойствАвтозаполнения" встречается 1 раз... при объявлении! Или я чего-то не понимаю, или одно из двух...
4. Юрий Зайцев (Yury1001) 03.04.15 10:29
(3) rborovikov, за прошедшее время много чего поменялось.
Теперь каждый справочник имеет функцию в модуле менеджера Получить[Значение]ПоУмолчанию, а если определить это значение не удалось вызываются методы статистической подсистемы (общие модули ЗаполнениеСвойствПоСтатистике...)
5. Сергей Племянников (Serge_ASB) 20.07.16 16:11
А если, как раньше, в ПВХ добавить настройки пользователей и вносить туда кассы, склады, организации и т.п.?
В общем-то, придется создавать соответствующие формы, а для регистра (если просто добавлять настройки) все изменения будут "косметическими".
Например, внести доп. реквизиты или Ресурсы в регистр "ИдентификационныеДанныеПользователей"... правда, он - не периодический. А было б хорошо отследить изменения по времени... возможно.
6. BAZIL BAZIL (wbazil) 01.09.16 16:15
можно не добавлять реквизит, а добавить доп. сведения в справочник пользователя
смысл от этого не меняется конечно, но не надо всех из базы выгонять что бы добавить новый
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа