Добавление нового пункта в "Настройки пользователя" для подстановки значений по умолчанию в Документы и справочники.

17.04.12

Задачи пользователя - Адаптация типовых решений

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

Скачать исходный код

Наименование Файл Версия Размер
ТекстМодуля
.txt 0,85Kb
43
.txt 0,85Kb 43 Скачать

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

Открываем форму настроек пользователя (меню Сервис/Настройки пользователя), в папке "Основные значения для подстановки в Документы и справочники" имеется пункт Основное подразделение организации, что и будет подставляться в документы и справочники текущего пользователя. Пункта "Основная статья движния денежных средств"  нет и его нам необходимо добавить.

Для легкости обновления конфигурации стараемся вносить минимум изменений в конфигурацию.

 

Добавляем тип значения характеристик СправочникСсылка.СтатьиДвиженияДенежныхСредств в план видов характеристик настройки пользователя.

Добавляем предопределенный элемент в план видов характеристик НастройкиПользователей с типом СправочникСсылка.СтатьиДвиженияДенежныхСредств.

В общем модуле с флажками внешнее соединение, вызов сервера, клиент (обычное приложение) и сервер

создаем подписку на событие ОбработкаЗаполнения документа Приходный кассовый ордер

В тело созданной процедуры вставляем свой код по заполнению реквизитов.

Процедура ЗаполнитьСтатьюДДСОбработкаЗаполнения(Источник, ДанныеЗаполнения, СтандартнаяОбработка) Экспорт

    Если
Источник.ВидОперации = Перечисления.ВидыОперацийПКО.ОплатаПокупателя   Тогда
       
Источник.РасшифровкаПлатежа[0].СтатьяДвиженияДенежныхСредств = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнаяСтатьяДвиженияДенежныхСредствПКО");
    КонецЕсли;

КонецПроцедуры

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

См. также

Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    4698    10    5    

18

Расширение для 1С:УНФ. Автоматическое снятие резервов в Заказах покупателей

Логистика, склад и ТМЦ Адаптация типовых решений Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    3128    4    0    

20

Каждому менеджеру нужен свой Excel

Адаптация типовых решений Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Каждый из нас сталкивается с ситуацией, когда какой-нибудь менеджер показывает свой Excel и рассказывает, как он что-то из 1С копирует в него, снабжает пояснениями, выделяет цветом и т.д. и т.п. Заканчивается все просьбой сделать вот чтобы также было в 1С. И оказывается такой человек (почти с гарантией) либо лучшим продажником, либо каким-то важным, за все отвечающим, - на ком все держится.

2 стартмани

22.04.2024    3093    dimanich70    6    

14

Создать на основании - своя кнопка (БСП). Проблема двух подменю Создать на основании

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    1773    dimanich70    8    

14

Доработка отчета "Связанные документы" (структура подчиненности) для вывода объектов из любого расширения

Адаптация типовых решений Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

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

1 стартмани

27.10.2023    2130    19    avmartynov    14    

44
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ashvik 17.04.12 18:15 Сейчас в теме
Добавление предопределенного элемента уже не предполагает легкости обновления конфигурации. Я бы добавлял новый элемент программно.
2. rmariao 18.04.12 07:30 Сейчас в теме
Да уж, у нас программист аж пыхтит каждый раз при обновлении после всех измненений
3. Рамзес 29 18.04.12 08:38 Сейчас в теме
Для легкости обновления конфигурации я бы добавлял новый элемент интерактивно в режиме Предприятие.
4. MRAK 723 18.04.12 09:40 Сейчас в теме
(3) тогда будет сложнее работать. не будет работать:
УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнаяСтатьяДвиженияДенежныхСредствПКО");

А при обновлении надо выбирать "Объединить" и проблем (обычно) не будет
5. angler225 125 18.04.12 10:17 Сейчас в теме
(4) Согласен с Вами, при объединении с добавлением типа проблем не будет. А вот предопределенный элемент я думаю проблем вообще вызывать не будет.
6. rasswet 82 18.04.12 11:28 Сейчас в теме
плюсанул. хорошее описание. полное и наглядное.
7. sstar90 18.04.12 12:04 Сейчас в теме
Спасибо за описание. Плюс
8. electronik 19.04.12 10:40 Сейчас в теме
Описание хорошее наглядное полное автору заслуженое 5+
9. silver-fox87 19.04.12 14:12 Сейчас в теме
Спасибо, программирую плохо - опыта нет, а так все просто кажется.
10. idemousi 19.04.12 14:35 Сейчас в теме
а вот если можно было бы автоматически отбор установить, было бы шикарно
11. script 128 19.04.12 15:00 Сейчас в теме
При обновлении и обмене куча проблем. Не удобно!

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

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

Вариант 1: В данном случае правильнее, на мой взгляд, было бы создать две константы "ОсновленоеПодрзделение" и "ОсновнаяСтатьяДДС" и хранить там значения. Далее создаем обработку типа "ОбработкаДополнительнойНастройкаКонстант" и все.
Ну а дальше все делаем как и предлагает автор публикации ОбщийМодуль - обработка заполнения и т.д.
Преимущества: Ни каких проблем при обновлении.

Вариант 2: Если все таки настройка нужна для каждого пользователя отдельно
Весь блок хранения доп. настроек нужно дублировать.
Т.е.
2.1.Копируем ПВХ "НастройкиПользователей" и переименовываем в "ДополнительныеНастройкиПользователей"
2.2.тоже самое делаем с регистром сведений "НастройкиПользователей"
2.3.Копируем ОбщийМодуль "УправлениеПользователями" и переименовываем в "ДополнительныеНастройкиПользователей"
2.3.1. Переисываем процедуру "УправлениеПользователями" что бы она обращалась к новому региструсведений.
2.3.2. Все остальные процедуры можно вообще удалить.
2.4. В справочник Пользователи Добавляем новую форму элемента
2.4.1. Назначаем новую форму основной.
2.4.2. На форму добавляем новую закладку "ДополнительныеНастройки"
2.4.2. На закладку копируем элемент формы в котором отображаются настройки перенастраиваем его на новый ПВХ и командную панель этого элемента тоже.
2.4.3. Копируем процедуры модуля формы отвечающие за просмотр и редактирование натроек и правим их для работы с новыми элеменами и объектами.

ВСЕ! Преимужества описывать я думаю не нужно.
По времени у меня такая процедура занимала 3 часа. Теперь, после того как такие блоки у меня разработаны для всех типовых конф, втраивание занимает 10 мин.
angelika0801; Pawlick; psamt1k; Wum; rhykob; scanner1980; +6 Ответить
12. wau8824ru 22 03.04.20 04:34 Сейчас в теме
А можно просто обернуть в попытку и использовать стандартные объекты.
Для этого
ОбщийМодуль.УправлениеПользователями
Функция ПолучитьЗначениеПоУмолчанию(Пользователь, Настройка) Экспорт

	Если Пользователь = глЗначениеПеременной("глТекущийПользователь") Тогда		
	//88( Администратор 03.04.2020 8:18:08
	Попытка
	//88) Администратор 03.04.2020 8:18:17
		НастройкаСсылка = ПланыВидовХарактеристик.НастройкиПользователей[Настройка];		
	//88( Администратор 03.04.2020 8:19:04	
	Исключение
		НастройкаСсылка = ПланыВидовХарактеристик.НастройкиПользователей.НайтиПоНаименованию(Настройка, Истина);
	КонецПопытки;
	//88) Администратор 03.04.2020 8:19:07
Показать

Функция ПолучитьЗначениеПоУмолчаниюПользователя(Пользователь, Настройка, СписокПолей = Неопределено)
	
//88( Администратор 03.04.2020 8:21:25
Попытка
//88) Администратор 03.04.2020 8:21:27
	НастройкаТипЗнч = ПланыВидовХарактеристик.НастройкиПользователей[Настройка].ТипЗначения;
//88( Администратор 03.04.2020 8:21:45
Исключение
	НастройкаТипЗнч = ПланыВидовХарактеристик.НастройкиПользователей.НайтиПоНаименованию(Настройка, Истина).ТипЗначения;
КонецПопытки;
//88) Администратор 03.04.2020 8:21:48
	НастройкаТипЗнчСправочник = Справочники.ТипВсеСсылки().СодержитТип(НастройкаТипЗнч.Типы()[0]);
	Если НастройкаТипЗнчСправочник Тогда
		МетаданныеТипаНастройки = Метаданные.НайтиПоТипу(НастройкаТипЗнч.Типы()[0]);
	КонецЕсли;
		
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("Пользователь", Пользователь);
//88( Администратор 03.04.2020 8:28:22
Попытка
//88) Администратор 03.04.2020 8:28:24
	Запрос.УстановитьПараметр("Настройка"   , ПланыВидовХарактеристик.НастройкиПользователей[Настройка]);	
//88( Администратор 03.04.2020 8:28:46
Исключение
	Запрос.УстановитьПараметр("Настройка"   , ПланыВидовХарактеристик.НастройкиПользователей.НайтиПоНаименованию(Настройка, Истина));	
КонецПопытки;
//88) Администратор 03.04.2020 8:28:49
Показать
Оставьте свое сообщение