|
Ошибка в запросе | ☑ | ||
---|---|---|---|---|
0
pro3ri
17.09.15
✎
18:18
|
Добрый вечер!
Есть запрос: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Товары.Номенклатура, | Товары.Количество КАК КолДок, | ЕСТЬNULL(ХозрасчетныйОстатки.СуммаОстатокДт, 0) КАК СумОст, | ЕСТЬNULL(ХозрасчетныйОстатки.КоличествоОстатокДт, 0) КАК КолОст, | ХозрасчетныйОстатки.Счет |ИЗ | (ВЫБРАТЬ | РеализацияТоваровТовары.Номенклатура КАК Номенклатура, | СУММА(РеализацияТоваровТовары.Количество * РеализацияТоваровТовары.ЕдиницаИзмерения.Коэффициент) КАК Количество | ИЗ | Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары | ГДЕ | РеализацияТоваровТовары.Ссылка = &Ссылка | И РеализацияТоваровТовары.Номенклатура.ВидНоменклатуры <> &ВидУслуга | | СГРУППИРОВАТЬ ПО | РеализацияТоваровТовары.Номенклатура) КАК Товары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки( | &Момент, | Счет = &Счет, | , | Подразделение = &Подразделение | И Субконто1 В | (ВЫБРАТЬ РАЗЛИЧНЫЕ | РеализацияТоваровТовары.Номенклатура | ИЗ | Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары | ГДЕ | РеализацияТоваровТовары.Ссылка = &Ссылка | И РеализацияТоваровТовары.Номенклатура.ВидНоменклатуры <> &ВидУслуга) | И &Субконто2) КАК ХозрасчетныйОстатки | ПО Товары.Номенклатура = ХозрасчетныйОстатки.Субконто1"; Запрос.УстановитьПараметр("Подразделение", Подразделение); Запрос.УстановитьПараметр("Счет", ?(ВидОперации = Перечисления.ВидыОперацийРеализации.Продажа, ПланыСчетов.Хозрасчетный.Товары, ПланыСчетов.Хозрасчетный.ТМЦПринятыеНаХранение)); Если ВидОперации = Перечисления.ВидыОперацийРеализации.ПередачаКонтрагенту Тогда Запрос.Текст = СтрЗаменить(Запрос.Текст,"&Субконто2","Субконто2 = &Субконто2"); Запрос.УстановитьПараметр("Субконто2", Контрагент); Иначе Запрос.УстановитьПараметр("Субконто2", Истина); КонецЕсли; Запрос.УстановитьПараметр("ВидУслуга", Перечисления.ВидыНоменкклатуры.Услуга); Если РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда Запрос.УстановитьПараметр("Момент", Неопределено); Иначе Запрос.УстановитьПараметр("Момент", МоментВремени()); КонецЕсли; Запрос.УстановитьПараметр("Ссылка", Ссылка); Результат = Запрос.Выполнить(); Почему в результате Хозрасчетный.счет не выдает ничего, ведь я его задаю через условие? |
|||
1
pro3ri
17.09.15
✎
18:20
|
поправка, ХозрасчетныйОстатки.Счет не выдает ничего
|
|||
2
DTXyupyup
17.09.15
✎
18:21
|
Шта?
И было бы неплохо заполнить третий параметр виртуальной таблицы. |
|||
3
pro3ri
17.09.15
✎
18:24
|
(2) это какой, все заполнены
|
|||
4
DTXyupyup
17.09.15
✎
18:30
|
Третий же
|
|||
5
Михаил Козлов
17.09.15
✎
18:31
|
Попробуйте фильтр по номенклатуре в остатках РБ убрать.
|
|||
6
pro3ri
17.09.15
✎
18:32
|
(0) + если меняю подразделение на Первое все ок https://s.mail.ru/3iePmq5P75vA/img-2015-09-17-20-30-40.png и регистр бу https://s.mail.ru/2vDFs68g3Qvm/img-2015-09-17-20-33-13.png
|
|||
7
Апош
17.09.15
✎
18:34
|
задолбал с картинками. словами не умеешь пользоваться?
|
|||
8
pro3ri
17.09.15
✎
18:38
|
(4) Если ВидОперации = Перечисления.ВидыОперацийРеализации.ПередачаКонтрагенту Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст,"&Субконто2","Субконто2 = &Субконто2"); Запрос.УстановитьПараметр("Субконто2", Контрагент); Иначе Запрос.УстановитьПараметр("Субконто2", Истина); КонецЕсли; |
|||
9
Апош
17.09.15
✎
18:42
|
(8) вот он какой, третий параметр виртуальной таблицы.
|
|||
10
pro3ri
17.09.15
✎
18:51
|
(0) + если меняю запрос на этот (убрал подразделение):
"ВЫБРАТЬ | Товары.Номенклатура, | Товары.Количество КАК КолДок, | ЕСТЬNULL(ХозрасчетныйОстатки.СуммаОстатокДт, 0) КАК СумОст, | ЕСТЬNULL(ХозрасчетныйОстатки.КоличествоОстатокДт, 0) КАК КолОст, | ХозрасчетныйОстатки.Счет |ИЗ | (ВЫБРАТЬ | РеализацияТоваровТовары.Номенклатура КАК Номенклатура, | СУММА(РеализацияТоваровТовары.Количество * РеализацияТоваровТовары.ЕдиницаИзмерения.Коэффициент) КАК Количество | ИЗ | Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары | ГДЕ | РеализацияТоваровТовары.Ссылка = &Ссылка | И РеализацияТоваровТовары.Номенклатура.ВидНоменклатуры <> &ВидУслуга | | СГРУППИРОВАТЬ ПО | РеализацияТоваровТовары.Номенклатура) КАК Товары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки( | &Момент, | Счет = &Счет, | , | Субконто1 В | (ВЫБРАТЬ РАЗЛИЧНЫЕ | РеализацияТоваровТовары.Номенклатура | ИЗ | Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары | ГДЕ | РеализацияТоваровТовары.Ссылка = &Ссылка | И РеализацияТоваровТовары.Номенклатура.ВидНоменклатуры <> &ВидУслуга) | И &Субконто2) КАК ХозрасчетныйОстатки | ПО Товары.Номенклатура = ХозрасчетныйОстатки.Субконто1"; все работает.. https://s.mail.ru/3f6XXDxfwsvA/img-2015-09-17-20-50-06.png - результат. Кажется дело в том, что в рб нет приходов по подразделению Второе.... |
|||
11
pro3ri
17.09.15
✎
19:03
|
вопрос решен всем спасибо!
добавил проверку в код и ошибка ушла: Если Выборка.КолДок>Выборка.КолОст Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Превышение остатка по " + Выборка.Номенклатура + " на " + (Выборка.КолДок-Выборка.КолОст); Сообщение.Сообщить(); Отказ = Истина; КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |