Имя: Пароль:
1C
1С v8
СрезПоследних - как дату получать?
0 RomaH
 
naïve
13.12.11
10:20
Задача - получить ... допустим паспортные данные физ лица на дату документа для печатной формы

с одной стороны используем СрезПоследних(&ДатаСреза)

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

вот как тут быть?
1 Господин ПЖ
 
13.12.11
10:21
выполнять в привелигерованном модуле не предлагать?
2 RomaH
 
naïve
13.12.11
10:22
вижу два варианта - не использовать срез последних, а получить оный посредством группировки и соединения

либо сначала выполнить запрос по документу, а потом уже получить дату из запроса установить её в параметры и получить итоговый результат
3 vmv
 
13.12.11
10:22
я думаю в ЗУПе эта проблема ни разу ни решалась и там нет ни одного адекватного примера - только миста светоч для разрешения вселенской проблемы
4 RomaH
 
naïve
13.12.11
10:24
(1) вроде как обращение через точку к реквизиту вообще не приветсвуется, хоть в каком модуле?
5 RomaH
 
naïve
13.12.11
10:25
(3) в ЗУП там все просто:
   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("Ссылка", Ссылка);
   Запрос.УстановитьПараметр("Физлицо", Физлицо);
   Запрос.УстановитьПараметр("Дата", Дата);

а вот правильно ли это?
6 Defender aka LINN
 
13.12.11
10:26
(0) "надо обратиться к реквизиту документа через точку Ссылка.Дата" - не надо.
"что ведет к непредсказуемым последствиям в плане RLS " - см. п.1. Если же ты не послушался и таки обратился к дате именно так, то и тут никаких "непредсказуемых" последствий не будет. В зависимости от набора прав ты или получишь дату, или получишь исключение. Это программирование, тут непредсказуемого очень мало.
7 Defender aka LINN
 
13.12.11
10:26
(5) А чем ты хуже ЗУПа? :)
8 RomaH
 
naïve
13.12.11
10:28
(7) хочу делать красиво и правильно

хм, проблема оказалась надуманной - конфа пишется на основе SSL - печать форм там идет от МассиваОбъектов

СрезПоследних не используешь в любом случае
9 RomaH
 
naïve
13.12.11
10:32
но тема всеравно интересна
10 Defender aka LINN
 
13.12.11
10:35
(8) Правильно получать данные запросами, а если есть RLS - принимать меры.
11 RomaH
 
naïve
13.12.11
10:45
(6) ""надо обратиться к реквизиту документа через точку Ссылка.Дата" - не надо."  - не понял
а как параметр для виртуальной таблицы установить?

ведь по сути выражение типа: Запрос.УстановитьПараметр("Дата", Дата);
в модуле объекта аналогично ЭтотОбъект.Дата
12 Defender aka LINN
 
13.12.11
10:54
(11) ЭтотОбъект.Дата<>Ссылка.Дата
И в прямом (не всегда, конечно), и в переносном смысле этого слова.
13 guitar_player
 
13.12.11
11:15
Получи дату запросом с разрешенными
Независимо от того, куда вы едете — это в гору и против ветра!