|
Разное выполнение запросов | ☑ | ||
---|---|---|---|---|
0
falselight
15.09.16
✎
10:16
|
Первый запрос выполняется при проведении документа.
Второй я имитирую обработкой туже ситуацию. Первый возвращает количество -1. Второй не возвращает ничего. Почему так? || ВЫБРАТЬ ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура, ТоварыНаСкладахОстатки.Склад КАК Склад, ТоварыНаСкладахОстатки.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения, ТоварыНаСкладахОстатки.Характеристика КАК Характеристика, ТоварыНаСкладахОстатки.КоличествоОстаток - ТоварыНаСкладахОстатки.ор_РезервОстаток КАК Количество ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки( , (Номенклатура, Характеристика, Склад) В (ВЫБРАТЬ Таблица.Номенклатура, Таблица.Характеристика, Таблица.Склад ИЗ ДвиженияТоварыНаСкладахИзменение КАК Таблица)) КАК ТоварыНаСкладахОстатки ГДЕ ТоварыНаСкладахОстатки.КоличествоОстаток - ТоварыНаСкладахОстатки.ор_РезервОстаток < 0 || ВЫБРАТЬ ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура, ТоварыНаСкладахОстатки.Склад КАК Склад, ТоварыНаСкладахОстатки.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения, ТоварыНаСкладахОстатки.Характеристика КАК Характеристика, ТоварыНаСкладахОстатки.КоличествоОстаток - ТоварыНаСкладахОстатки.ор_РезервОстаток КАК Количество ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки( , Номенклатура = &Номенклатура И Склад = &Склад И Характеристика = &Характеристика) КАК ТоварыНаСкладахОстатки ГДЕ ТоварыНаСкладахОстатки.КоличествоОстаток - ТоварыНаСкладахОстатки.ор_РезервОстаток < 0 |
|||
1
Ёпрст
15.09.16
✎
10:22
|
Запрос в обработке учитывает движения документа, тот что в модуле проведения - нет.
|
|||
2
falselight
15.09.16
✎
10:24
|
(1) подскажите пожалуйста как тут быть?
не соберусь никак с мыслями. если запрос возвращает -1 в документе. то как тот же результат получить в обработке? |
|||
3
Лефмихалыч
15.09.16
✎
10:26
|
(2) в документе получай движение на момент времени документа ив обработке тоже. Тогда будет одинаково
|
|||
4
falselight
15.09.16
✎
10:26
|
(1) похоже в модуле проведения тоже так же учитывает
так как такой номенклатуры в регистре вообще нет а при проведении возвращает -1 получается наоборот запрос в модуле проведения учитывает движения документа и не дает проводить а в обработке движения не учитывает и ничего не возвращает |
|||
5
falselight
15.09.16
✎
10:27
|
(3) в докумнете не имею возможности править что либо
конфигурация на поддержке могу править только в обработке |
|||
6
Ёпрст
15.09.16
✎
10:32
|
(4) каша у тебя в голове
|
|||
7
falselight
15.09.16
✎
10:38
|
(6) решение родилось:
в запросе что в обработке минусовать количество из докумнета (6) то есть работает наоборот того что вы сказали в (1), правильно? |
|||
8
Лефмихалыч
15.09.16
✎
10:40
|
(7) нажористая каша.
Ты скажи лучше, зачем ты это все затеял и чего ты добиться хочешь |
|||
9
falselight
15.09.16
✎
10:41
|
(8) нужно контролировать что минусовой остаток по номенклатуре и создавать тз по этой номенклатуре
|
|||
10
falselight
15.09.16
✎
10:42
|
(8) получается в докумнете он есть, а в обработке нет, вот минусую количество документа в обработке ещё
|
|||
11
Лефмихалыч
15.09.16
✎
10:43
|
(9) тебе на момент проведения надо проконтролировать что ли?
|
|||
12
falselight
15.09.16
✎
10:52
|
(11) ну получается да
я документ записываю программно и нужно как то это проконтролировать в запросе минус количество как я хотел в (7) ошибку дает только |
|||
13
Лефмихалыч
15.09.16
✎
11:11
|
(12) снимай с поддержки тогда.
Иначе тебе в обработке придется делать запрос в цикле, чтобы получить остатки на момент каждого документа. В одной секунде может быть олимпиард документов, по этому, даже,е сли ты вычтешь количество самого документа, ты ни как не сможешь полагаться на результат. |
|||
14
falselight
15.09.16
✎
11:19
|
(13) имеется ввиду поддержка другой фирмы, не конфигурации, нельзя менять
|
|||
15
Лефмихалыч
15.09.16
✎
11:31
|
(14) ну, значит в другую эту фирму отправь запрос на изменение, чтобы исправили свой говнокод. Ты с обработкой своей ни чего не добьешься, а только вспотеешь и время потеряешь
|
|||
16
falselight
15.09.16
✎
14:03
|
(15) а если они утверждают что одна номенклатура с одной характеристикой может оприходоваться и списаться только раз?
|
|||
17
falselight
15.09.16
✎
14:15
|
(16+) то есть вроде как у них в коде не может быть ошибок
и период в этом случае не актуален? |
|||
18
AceVi
15.09.16
✎
14:25
|
(0) надо смотреть весь код - ибо в какой именно момент выполняется запрос в документе? а может до запроса уже есть программно Регистр.Записать().
И в какой момент ты будешь проверять отрицательные остатки? сделаешь подписку на события? так она в той же транзакции что и само проведение. Давай весь план по решению задачи. Обычно контроль производиться так - есть уже подготовленная таблица для движения пол регистру - она загоняеться в запрос - в запросе получаются все движения на МоментВремени документа+данные из таблицы. вот наиболее корректный способ. |
|||
19
falselight
15.09.16
✎
14:33
|
(18) ну там в одном запросе таблица и передается в параметры, и контролируются отрицательные остатки. А их же не должно быть в базе? Значит документ уже проведет по регистру и поместил их туда.
|
|||
20
AceVi
15.09.16
✎
16:55
|
(19) Из твоего объяснения ничего не понял.
Если тебе еще нужна помощь, давай как ребенок - по шагам все с примерами кода. Типа Вот у меня таблица для движения по регистру - вот она в запрос попала вот контроль. А вот что я хочу сделать. |
|||
21
aleks_default
15.09.16
✎
17:00
|
А я вот не понял, что хотите контролировать? Какая задача стоит?
Контроль отрицательных остатков? Так он итак отработает при программном проведении документов в их обработке проведения. Зачем его делать внешним? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |