Имя: Пароль:
1C
1С v8
Подразделение по умолчанию в УНФ 1.6.7.63
0 Melefaro2010
 
06.02.17
16:42
Добрый день.
Никак не могу понять, как заполняется реквизит подразделение в УНФ. Подразделение указывается для пользователя, однако подставляет всё то же основное подразделение.
Код, отвечающий за подстановку в общем модуле ЗаполнениеОбъектовУНФ:
Если ОтсутствуетНезаполненныйРеквизит("Подразделение", ДокументОбъект) Тогда Возврат;
КонецЕсли;
    
ПодразделениеПоУмолчанию = УправлениеНебольшойФирмойПовтИсп.ПолучитьЗначениеПоУмолчаниюПользователя(Пользователи.ТекущийПользователь(),
    "ОсновноеПодразделение");

То есть, смотрим, есть ли реквизит подразделение. Если есть - то заполняем, вроде всё классно. Но есть НО - в конфигурации в каких-то документах назван "Подразделение" (например, АктВыполненныхРабот), в каких-то "Структурная единица" (например, документ ЗаказПоставщику).

Какой логикой руководствовались разработчики, когда быбирали имя реквизита: СтруктурнаяЕдиница или Подразделения?
И как нормально настроить подстановку подразделения по умолчанию во всех документах?
1 AlvlSpb
 
06.02.17
17:53
Не путайте ОсновноеПодразделение в приведенном коде и Основное подразделение в настройках пользователя. В первом случае - это предопределенный элемент справочника Структурные Единицы, во втором - это подразделение для подстановки во ВСЕ документы созданные данным пользователем. Смело ставьте в настройках пользователя нужное подразделение (абсолютно неважно Основное оно (предопределенное) или созданное вами), все будет работать как надо. И да. Какая разница как названо поле в форме, главное какой тип данных туда выводится. Так что логика тут почти не при чем )))
2 Melefaro2010
 
06.02.17
18:05
У пользователя стоит подразделение, и оно не подтягивается в половине случаях, из-за этого в код и полез.

В приведенном коде нет ссылки на предопределеный элемент, функция

ПодразделениеПоУмолчанию = УправлениеНебольшойФирмойПовтИсп.ПолучитьЗначениеПоУмолчаниюПользователя(Пользователи.ТекущийПользователь(),
    "ОсновноеПодразделение")

вытягивает подразделение из справочника "Сотрудники", но не всегда  этот участок коды выполняется, из-за условия перед ним.
3 AlvlSpb
 
06.02.17
18:24
Да Извините. Лоханулся. ПолучитьЗначениеПоУмолчаниюПользователя Это как раз найти подразделение из настроек пользователя, слишком быстро пробежал глазами ))).
   Другого способа кроме настроек пользователя скорей всего нет. А в каких доках не подтягивается?
4 Melefaro2010
 
06.02.17
19:25
Заказ поставщику, заказ покупателя, дополнительные расходы, задание на работу. Это что сразу в глаза бросилось.
5 AlvlSpb
 
06.02.17
19:49
Вот теперь понял. Вы говорите о табличных частях документов, а не о шапке. В шапке документа все подставляется как надо. В ТЧ: обратите внимание на свойства поля Структурная единица. Параметры вывода - это Отбор. Т.е. по сути список значений и естественно, выводится первый элемент сортировки (по алфавиту). Если хотите выводить нужное значение - пишите код, другого видимо не дано