|
Отключить автозаполнение реквизита документа для конкретной роли | ☑ | ||
---|---|---|---|---|
0
DenYuliya
29.08.14
✎
11:35
|
добрый день.
Подскажите пожалуйста, "куда копать" в такой ситуации? Есть документ "Заказ поставщику". У формы документа есть реквизит "Подразделение". При создание нового документа он заполняется автоматически значением, указанным в Настройках пользователя (Подразделение). Как сказать языком 1С "Если Подразделение = Склад тогда ДокументЗаказПоставщику.подразделение.НеЗаполнять" :)? Я не могу понять, как именно обратиться к этому "Заполнению". Что мне надо сделать (общий смысл) я понимаю. Вот есть у меня Общий модуль (дописанный), где ПриЗапуске подразделение получается в запросе. Пишу: Если Подразделение[0]=Справочники.Подразделения.НайтиПоНаименованию("Склад") Тогда "Не заполнять автоматически "Подразделение" в Документе..."" КонецЕсли; Вот как "достучаться" до того, что написано в кавычках? |
|||
1
Maxus43
29.08.14
✎
12:06
|
Документ автоматически заполняется "при открытии" формы.
Типа: Если ЭтоНовый() Тогда // проверить объект на то, что он еще не внесен в ИБ // Заполнить реквизиты значениями по умолчанию. ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ЭтотОбъект, "Покупка", ПараметрОбъектКопирования); КонецЕсли; вот после этого тебе надо сделать проверку. Если Подразделение = Справочники.Подразделения.НайтиПоНаименованию("Склад") Тогда Подразделение = Справочники.Подразделения.ПустаяСсылка(); КонецЕсли; |
|||
2
DenYuliya
29.08.14
✎
12:18
|
(1), вот я так и сделала, слово в слово:
Если ЭтотОбъект.Подразделение = Справочники.Подразделения.НайтиПоНаименованию("Склад") Тогда ЭтотОбъект.Подразделение = Справочники.Подразделения.ПустаяСсылка(); КонецЕсли; Но мне кажется неоптимальным то, что сначала подразделение заполняется, потом очищается. Сделать бы так, чтобы оно вообще не заполнялось. |
|||
3
Maxus43
29.08.14
✎
12:20
|
Заполняется там - ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ЭтотОбъект, ...
Чтобы не заполнялось - надо там и менять... Но эта штука универсальная для всех докментов. Ломать лучше один документ, или все? |
|||
4
Maxus43
29.08.14
✎
12:20
|
Записи не происходит всё равно, заполнение только в оперативке, так что про оптимальность тут как бы лишнее, при такой постановке задачи
|
|||
5
DenYuliya
29.08.14
✎
12:23
|
(3) Да конечно лучше один,даже то что лучше, но один только и надо.И как по мне, так в общие модули лучше не лезть лишний раз.
Но я когда так сделала, как сделала, мне начальник насчет неоптимальности выписал, вот и задумалась. |
|||
6
Maxus43
29.08.14
✎
12:49
|
(5) ну тогда лезь м общий модуль, и когда заполняется подразделение делай проверку на Тип документа и подразделения, которое будет проставляться...
|
|||
7
Maxus43
29.08.14
✎
12:50
|
и при чем тут роль в заголовке темы? не вижу нигде про роли ничего
|
|||
8
alexei366
29.08.14
✎
13:11
|
Сумашедший дом)))) высказали ей за оптимальность))))
Тогда конечно перепиливай стандартный метод, а ещё круче скопируй его переделай как хош и вызывать будешь так: ////////////////////////////////// ЗаполнениеДокументов.ЗаполнитьШапкуДокумента_МОЁ(ЭтотОбъект, "Покупка", ПараметрОбъектКопирования); ////////////////////////////////// А в этой процедуре так сказать для КОНКРЕТНОЙ оптимальности надо будет сделать так!!! //////////////////////////////////// Если ЭтотОбъект.Подразделение = Справочники.Подразделения.ПолучитьСсылку(Новый УникальныйИдентификатор("6a09f20a-8de6-11e1-b3e1-001617ec3f2a") Тогда ЭтотОбъект.Подразделение = Справочники.Подразделения.ПустаяСсылка(); КонецЕсли; /////////////////////////// |
|||
9
DenYuliya
01.09.14
✎
13:07
|
(7) , извиняюсь, если не совсем корректно.
Я имела в виду пользователя с ролью Сотрудник склада, у которого подразделение Склад (и связанные с этим права) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |