Имя: Пароль:
1C
1С v8
РЛС проверка наличия реквизита.
0 RTFM_D
 
25.03.13
17:12
Есть шаблон он завязан на нескольких документах, но в разных видах документах этот реквизит называется по разному в одних он:
- ОтражатьВБухгалтерскомУчете
в других
- ОтражатьВРеглУчете
можно ли как то в запросе проверить какой реквизит на нужен?
Как пример
ТекущаяТаблица ГДЕ ТекущаяТаблица.Ссылка.ОтражатьВБухгалтерскомУчете = ИСТИНА
при применении к документам у которых реквизит называется ОтражатьВРеглУчете есно ошибка.
1 Domanoff26
 
25.03.13
17:17
а что мешает два шаблона сделать?
2 Maxus43
 
25.03.13
17:17
разные шаблоны только
3 RTFM_D
 
25.03.13
17:19
(1) ничего не мешает, просто геморройно, так был бы один шаблон и все. А так придется дополнительно прописывать в каждой роли для каждого документа свой шаблон ...
4 RTFM_D
 
25.03.13
17:20
Я думал можно через Выбор Когда Тогда Иначе как то проверить ...
5 Maxus43
 
25.03.13
17:20
(3) именно поэтому в типовых все реквизиты назваются одинаково. Универсальность
6 RTFM_D
 
25.03.13
17:21
(5) Это УПП ...
7 Maxus43
 
25.03.13
17:21
(4) тоже можно, только гемора не меньше думаю...
Выбор Когда ТекущаяТаблица.Ссылка ССЫЛКА Документ.РТУ Тогда ТекущаяТаблица.Ссылка.ОтражатьВБухгалтерскомУчете Конец = Истина
8 RTFM_D
 
25.03.13
17:22
Скажем так запрос то такой работает, просто у документов у которых нет реквизита получаем Null
ВЫБРАТЬ
   ДокументыКонтрагентов.Ссылка,
   ПРЕДСТАВЛЕНИЕ(ДокументыКонтрагентов.Ссылка),
   ДокументыКонтрагентов.Ссылка.ОтражатьВУправленческомУчете,
   ДокументыКонтрагентов.Ссылка.ОтражатьВБухгалтерскомУчете
ИЗ
   ЖурналДокументов.ДокументыКонтрагентов КАК ДокументыКонтрагентов
9 Maxus43
 
25.03.13
17:23
РЛС на журнал?
10 RTFM_D
 
25.03.13
17:24
(9) Это шаблон
11 RTFM_D
 
25.03.13
17:37
(7) Выбор Когда это хорошо, но было бы неплохо проверить наличие реквизита в запросе ((( Есть мысль с помощью доп. параметра в шаблоне реализовать Выбор Когда
12 Maxus43
 
25.03.13
17:38
(11) увы, в запросах нельзя проверять наличие полей
13 simol
 
25.03.13
17:40
А, что мещает передать имя реквизита в параметре?
14 RTFM_D
 
25.03.13
17:45
(12) Почему нельзя?
ВЫБРАТЬ
   ДокументыПоНачислениюЗарплаты.Ссылка,
   ПРЕДСТАВЛЕНИЕ(ДокументыПоНачислениюЗарплаты.Ссылка),
   ДокументыПоНачислениюЗарплаты.Ссылка.ОтражатьВУпрУчете,
   ДокументыПоНачислениюЗарплаты.Ссылка.ОтражатьВРеглУчете,
   ВЫБОР
       КОГДА ЕСТЬNULL(ДокументыПоНачислениюЗарплаты.Ссылка.ПредварительныйРасчет, ИСТИНА) = ИСТИНА
           ТОГДА "Нет реквизита"
       ИНАЧЕ "Есть реквизит"
   КОНЕЦ КАК Поле1
ИЗ
   ЖурналДокументов.ДокументыПоНачислениюЗарплаты КАК ДокументыПоНачислениюЗарплаты
15 RTFM_D
 
25.03.13
17:45
(13) Вариантов то много, но все они довольно геморройны и требуют тупого копипаста ) Хотса красиво ...
16 simol
 
25.03.13
17:51
(15)Что в таком некрасивое: #ПодразделениеПроект("Подразделение", "Проект") ?
17 RTFM_D
 
25.03.13
17:52
(16) В том что нужно пройтись по всем объектам и вставить в чтение новый шаблон ... А ролей может быть с десяток ...
18 simol
 
25.03.13
17:59
(17)Сохрани в XML роли, замени и загрузи.
19 RTFM_D
 
25.03.13
18:13
(18) Можно попробовать, но беда в том, что в документах стоит уже шаблон который нужно заменить на 3 ... Не выход ...
20 RTFM_D
 
25.03.13
18:26
Апну, может кто еще чего предложит.
21 simol
 
26.03.13
15:12
(19)Наверняка 1 из троих в 90% случаях нужно. Потому меняй на него, а 10% руками пробежишься. либо более интеллектуальную замену сделай.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс