|
Разные данные запроса из-под консоли и через отладчик | ☑ | ||
---|---|---|---|---|
0
vitaliklibra
24.06.15
✎
13:34
|
Всем добрый день!
Очередная проблема при выполнении кода через консоль и в режиме пользователя через отладчик. Суть в чем. К примеру, в табличной части есть 3 строки: 1. Сотрудник1, 73,00 2. Сотрудник1, -20,00 3. Сотрудник1, 100,00 При этом, в регистре "ЗарплатаМенеджеров" в ресурсе "НашДолгПоВыплате" на момент проведения документа хранится значение 173, что как раз верно. Но простейший запрос вида: ВЫБРАТЬ СписокСотрудников.Сотрудник КАК Сотрудник, ВЫБОР КОГДА СРЕДНЕЕ(ЗарплатаМенеджеровОстатки.НашДолгПоВыплатеОстаток) > 0 ТОГДА СРЕДНЕЕ(ЗарплатаМенеджеровОстатки.НашДолгПоВыплатеОстаток) ИНАЧЕ 0 КОНЕЦ КАК НашДолгПоВыплате, СУММА(ВЫБОР КОГДА СписокСотрудников.Сумма < 0 ТОГДА СписокСотрудников.Сумма ИНАЧЕ 0 КОНЕЦ) КАК СуммаУдержано ИЗ Документ.НачислениеЗП.СписокСотрудников КАК СписокСотрудников ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗарплатаМенеджеров.Остатки( &ДатаВыборки, Менеджер В (ВЫБРАТЬ СписокСотрудников.Сотрудник КАК Сотрудник ИЗ Документ.НачислениеЗП.СписокСотрудников КАК СписокСотрудников)) КАК ЗарплатаМенеджеровОстатки ПО СписокСотрудников.Сотрудник = ЗарплатаМенеджеровОстатки.Менеджер ГДЕ СписокСотрудников.Ссылка = &Ссылка СГРУППИРОВАТЬ ПО СписокСотрудников.Сотрудник возвращает мне только 53 (т.е. 73-20, а не 153 (т.е. 173-20)! Но при этом, если этот же запрос "запихнуть" в консоль - то всё ОК, т.е. показывает результат 153. От чего такое происходит? Есть какие-то идеи? |
|||
1
Cyberhawk
24.06.15
✎
13:35
|
Параметры кодом заполняешь - код в студию
|
|||
2
vitaliklibra
24.06.15
✎
13:36
|
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.УстановитьПараметр("ДатаВыборки", Дата); |
|||
3
Cyberhawk
24.06.15
✎
13:38
|
Где запрос в коде расположен?
|
|||
4
Cyberhawk
24.06.15
✎
13:39
|
Короче показывай на картинке (1) и (3)
|
|||
5
vitaliklibra
24.06.15
✎
13:40
|
На форме имеется кнопка на панели действий, но нажатию на которую выполняется этот код и формируется на основании этого запроса таблица с данными для другого документа.
|
|||
6
vitaliklibra
24.06.15
✎
13:41
|
||||
7
vicof
24.06.15
✎
13:59
|
(2) Вместо даты используй границу
|
|||
8
vitaliklibra
24.06.15
✎
13:59
|
(7) ... Если не трудно, можете пояснить.
|
|||
9
vicof
24.06.15
✎
14:01
|
Запрос.УстановитьПараметр("Ссылка", Новый Грацница(Дата, ВидГраницы.Включая));
|
|||
10
vicof
24.06.15
✎
14:05
|
т.е. не ссылка, а датавыборки
|
|||
11
vitaliklibra
24.06.15
✎
14:10
|
(9) (10) о_О
Сработало!!!!!!!! Как же так? Какое этому вообще логическое объяснение? Я с таким впервые сталкиваюсь! =( Но буду знать теперь! vicof - СПАСИБО ВАМ! |
|||
12
vicof
24.06.15
✎
14:13
|
Движений было несколько в одну секунду.
Чтобы захватить движения за всю секунду, нужно использовать границу. |
|||
13
vicof
24.06.15
✎
14:14
|
Точней не захватить движения, а получить остаток на конец этой секунды
|
|||
14
vitaliklibra
24.06.15
✎
14:15
|
(12) (13) О, тогда это все объясняет!.. Еще раз Вас благодарю) Тема закрыта - всем хорошего дня!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |