Имя: Пароль:
1C
1С v8
Подставление значения реквизита в форму справочника
, ,
0 yalanton
 
28.08.17
10:34
Добрый день Подскажите примерно в каком направлении действовать. Есть   в 8.3 Бухгалтерия справочник "ДоговорыКонтрагентов" . Когда создается новый договор то автоматом подставляется вид договора "с покупателем"  т.к. такое стоит значение заполнение у этого реквизита (виддоговора) Виддоговора имеет тип перечисление. Задача сделать так чтоб если договор заводит пользователь например Юрист то вид договора подставлялся "с поставщиком" , а если другой пользователь то вид договора остается как и был "С покупателем" . Можно ли это сделать через пользовательскую часть ,или только через конфигурацию? если в конфигурации то в какой процедуре ставить присвоение реквизиту Виддоговора значения "споставщиком" в процедуре ПриСозданииНаСервере или в какой то другой ? Спасибо
1 yalanton
 
28.08.17
10:43
попробовал поставить в процедуру ПриСозданииНаСервере  
если пользователь=Юрист тогда
ВидДоговора=Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком;

но так не работает
2 yalanton
 
28.08.17
14:49
и никто не подсказал , что я не правильно сформулировал что-ли
3 Филиал-msk
 
28.08.17
15:21
Да не. Просто эти "домики деревяные набигают солдаты дворца и злодеи" уже порядком надоели, извини.
4 yalanton
 
28.08.17
15:54
(3)всмысле :) вопрос слишком простой ? ну что не знаю то и спрашиваю - я же не прошу за меня решить я примерно понимаю как сделать, но не до конца особенно  не знаю можно ли из пользовательской части такую задачу решить
5 spiller26
 
28.08.17
15:54
(0) В конфигураторе только. Во первых нужно проверять новый элемент или нет. Значение по умолчанию у этого реквизита стоит "СПокупателем" и при создании нового элемента он будет ставить "СПокупателем"
Если хочешь чтобы автоматом ставить, придется выдумывать. Есть 3 пути:
1 жестко прописываешь для пользователя (не айс, тапками закидают)
2 создание РС где прописываешь кому что ставить.
3 Пользователю добавить реквизит.
Далее при создании присваивать с предварительной проверкой элемента новый или нет.
6 Вафель
 
28.08.17
15:55
обработказаполнения в модуле, можно подписка
7 spiller26
 
28.08.17
15:57
(6) Это самый нормальный вариант будет, забыл про него, как раз обновлять релизы будет проще.
8 yalanton
 
28.08.17
15:59
(5) подходит жестко прописать для пользователя или если у пользователя есть такая то роль .  А при создании где присваивать  присозданиинасервере в этой процедуре ? и зачем проверять на новый элемент если это мне надо четко для кнопки "создать" в справ "договораконтрагентов"
9 spiller26
 
28.08.17
16:02
(8) Я бы не советовал, но пойдет.

Вот приверно где можно прописать.

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

В конце
Если Параметры.Ключ.Пустая() Тогда
//если такая то роль, то с поставщиком
КонецЕсли;
10 yalanton
 
28.08.17
16:02
подписка я понял  сейчас попробую ,а обработказаполнения в модуле это что такое это же кажется при вводе на основании или я ошибаюсь?
11 yalanton
 
28.08.17
16:05
Процедура ПриСозданииНаСервере  (у справочника Договораконтрагентов )
я в конце написал так

ВидДоговора=Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком;

не сработало, все рано присвоилось значение заполнение которое стоит у реквизита виддоговра в его св-х "спокупателем"
12 yalanton
 
28.08.17
16:14
о вроде стало что-то вырисовываться буду пробовать спасибо
13 dezss
 
28.08.17
16:18
(10) при интерактивном создании нового тоже работает.
14 spiller26
 
28.08.17
16:30
Гдето проверка стоит.

&НаКлиенте
Процедура ПриОткрытии(Отказ)

//в конце
Если Параметры.Ключ.Пустая() Тогда
    Объект.ВидДоговора = ПредопределенноеЗначение("Перечисление.ВидыДоговоровКонтрагентов.СПоставщиком");

КонецЕсли;

как то так.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший