Количество в справочние номенклатура (1С:Бухгалтерия 8.1)
12.02.2009
12:15
#11
" ЗапросОстатка = Новый Запрос;
ЗапросОстатка.Текст = "
| ВЫБРАТЬ
| ХозрасчетныйОстатки.Субконто1 КАК Номенклатура,
| СУММА(ВЫБОР КОГДА ХозрасчетныйОстатки.КоличествоОстатокДт ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ХозрасчетныйОстатки.КоличествоОстатокДт КОНЕЦ
| - ВЫБОР КОГДА ХозрасчетныйОстатки.КоличествоОстатокКт ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ХозрасчетныйОстатки.КоличествоОстатокКт КОНЕЦ) КАК КоличествоОстаток
| ИЗ
//| РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет = &СчетТоваров, ХозрасчетныйОстатки.Субконто1.Номенклатура В (&Номенклатура))
| РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет = &СчетТоваров, ХозрасчетныйОстатки.Субконто1 В (&Номенклатура))
| КАК ХозрасчетныйОстатки";
Та же самая ошибка:
{Справочник.Номенклатура.Форма.ФормаСписка(79)}: Ошибка при вызове метода контекста (Выполнить): {(7, 96)}: Неверные параметры "РегистрБухгалтерии.Хозрасчетный.Остатки, 2"
РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет = &СчетТоваров, ХозрасчетныйОстатки.Субконто1 <>>В (&Номенклатура))
Выборка = ЗапросОстатка.Выполнить().Выбрать();
по причине:
{(7, 96)}: Неверные параметры "РегистрБухгалтерии.Хозрасчетный.Остатки, 2"
РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет = &СчетТоваров, ХозрасчетныйОстатки.Субконто1 <>>В (&Номенклатура))
"
ЗапросОстатка.Текст = "
| ВЫБРАТЬ
| ХозрасчетныйОстатки.Субконто1 КАК Номенклатура,
| СУММА(ВЫБОР КОГДА ХозрасчетныйОстатки.КоличествоОстатокДт ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ХозрасчетныйОстатки.КоличествоОстатокДт КОНЕЦ
| - ВЫБОР КОГДА ХозрасчетныйОстатки.КоличествоОстатокКт ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ХозрасчетныйОстатки.КоличествоОстатокКт КОНЕЦ) КАК КоличествоОстаток
| ИЗ
//| РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет = &СчетТоваров, ХозрасчетныйОстатки.Субконто1.Номенклатура В (&Номенклатура))
| РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет = &СчетТоваров, ХозрасчетныйОстатки.Субконто1 В (&Номенклатура))
| КАК ХозрасчетныйОстатки";
Та же самая ошибка:
{Справочник.Номенклатура.Форма.ФормаСписка(79)}: Ошибка при вызове метода контекста (Выполнить): {(7, 96)}: Неверные параметры "РегистрБухгалтерии.Хозрасчетный.Остатки, 2"
РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет = &СчетТоваров, ХозрасчетныйОстатки.Субконто1 <>>В (&Номенклатура))
Выборка = ЗапросОстатка.Выполнить().Выбрать();
по причине:
{(7, 96)}: Неверные параметры "РегистрБухгалтерии.Хозрасчетный.Остатки, 2"
РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет = &СчетТоваров, ХозрасчетныйОстатки.Субконто1 <>>В (&Номенклатура))
"
12.02.2009
12:53
#12
А Вы не конструктором запроса все это пытаетесь сделать что ли?
Вот что получилось у меня конструктором.
ВЫБРАТЬ
ХозрасчетныйОстатки.Счет,
ХозрасчетныйОстатки.Субконто1,
ХозрасчетныйОстатки.КоличествоОстаток
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет = &ВыбСчет, , Субконто1 В (&ВыбНоменклатура)) КАК ХозрасчетныйОстатки
Вот что получилось у меня конструктором.
ВЫБРАТЬ
ХозрасчетныйОстатки.Счет,
ХозрасчетныйОстатки.Субконто1,
ХозрасчетныйОстатки.КоличествоОстаток
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет = &ВыбСчет, , Субконто1 В (&ВыбНоменклатура)) КАК ХозрасчетныйОстатки
12.02.2009
14:30
#13
Спасибо, что не бросаете меня.
> А Вы не конструктором запроса все это пытаетесь сделать что ли?
Нет, пока еще не дошел до конструктора запросов.
> Вот что получилось у меня конструктором.
>
> ВЫБРАТЬ
> ХозрасчетныйОстатки.Счет,
> ХозрасчетныйОстатки.Субконто1,
> ХозрасчетныйОстатки.КоличествоОстаток
> ИЗ
> РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет = &ВыбСчет, , Субконто1 В (&ВыбНоменклатура)) КАК ХозрасчетныйОстатки
Спасибо. Работает, но Остатка нет и в отладчике:
ЗапросОстатка.Выполнить().Выбрать() ВыборкаИзРезультатаЗапроса
КоличествоОстаток Ошибка чтения значения
Субконто1 Ошибка чтения значения
Счет Ошибка чтения значения
А это не надо добавить:
| ,СУММА(ВЫБОР КОГДА ХозрасчетныйОстатки.КоличествоОстатокДт ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ХозрасчетныйОстатки.КоличествоОстатокДт КОНЕЦ
| - ВЫБОР КОГДА ХозрасчетныйОстатки.КоличествоОстатокКт ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ХозрасчетныйОстатки.КоличествоОстатокКт КОНЕЦ) КАК КоличествоОстатокСумма
Когда добавляю, сообщает, что:
{(3, 2)}: Поле не входит в группу "ХозрасчетныйОстатки.Счет"
<>>ХозрасчетныйОстатки.Счет,
Читаю документацию, но пока "плаваю".
> А Вы не конструктором запроса все это пытаетесь сделать что ли?
Нет, пока еще не дошел до конструктора запросов.
> Вот что получилось у меня конструктором.
>
> ВЫБРАТЬ
> ХозрасчетныйОстатки.Счет,
> ХозрасчетныйОстатки.Субконто1,
> ХозрасчетныйОстатки.КоличествоОстаток
> ИЗ
> РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет = &ВыбСчет, , Субконто1 В (&ВыбНоменклатура)) КАК ХозрасчетныйОстатки
Спасибо. Работает, но Остатка нет и в отладчике:
ЗапросОстатка.Выполнить().Выбрать() ВыборкаИзРезультатаЗапроса
КоличествоОстаток Ошибка чтения значения
Субконто1 Ошибка чтения значения
Счет Ошибка чтения значения
А это не надо добавить:
| ,СУММА(ВЫБОР КОГДА ХозрасчетныйОстатки.КоличествоОстатокДт ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ХозрасчетныйОстатки.КоличествоОстатокДт КОНЕЦ
| - ВЫБОР КОГДА ХозрасчетныйОстатки.КоличествоОстатокКт ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ХозрасчетныйОстатки.КоличествоОстатокКт КОНЕЦ) КАК КоличествоОстатокСумма
Когда добавляю, сообщает, что:
{(3, 2)}: Поле не входит в группу "ХозрасчетныйОстатки.Счет"
<>>ХозрасчетныйОстатки.Счет,
Читаю документацию, но пока "плаваю".
12.02.2009
15:25
#14
"Беда...
Выборка = ЗапросОстатка.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить("По счету " + Выборка.Счет + " остаток товара " + Выборка.Субконто1 + " = " + Выборка.КоличествоОстаток);
КонецЦикла;"
Выборка = ЗапросОстатка.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить("По счету " + Выборка.Счет + " остаток товара " + Выборка.Субконто1 + " = " + Выборка.КоличествоОстаток);
КонецЦикла;"
12.02.2009
15:55
#15
"Ничего не сообщает.
В отладчике сразу после
Выборка = ЗапросОстатка.Выполнить().Выбрать();
Выборка.Следующий() = Ложь и Цикл не выполняется ни разу.
Результат запроса - пустая выборка.
В чем может быть дело?
======================================== ======
Повторяю на всякий случай код:
ЗапросОстатка = Новый Запрос;
ЗапросОстатка.Текст = "
| ВЫБРАТЬ
| ХозрасчетныйОстатки.Счет,
| ХозрасчетныйОстатки.Субконто1,
| ХозрасчетныйОстатки.КоличествоОстаток
| ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет = &ВыбСчет, , Субконто1 В (&ВыбНоменклатура)) КАК ХозрасчетныйОстатки";
ЗапросОстатка.УстановитьПараметр("ВыбСчет", ПланыСчетов.Хозрасчетный.Товары);
ЗапросОстатка.УстановитьПараметр("ВыбНоменклатура", ОтображаемыеТовары);
Выборка = ЗапросОстатка.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить("По счету " + Выборка.Счет + " остаток товара " + Выборка.Субконто1 + " = " + Выборка.КоличествоОстаток);
КонецЦикла;"
В отладчике сразу после
Выборка = ЗапросОстатка.Выполнить().Выбрать();
Выборка.Следующий() = Ложь и Цикл не выполняется ни разу.
Результат запроса - пустая выборка.
В чем может быть дело?
========================================
Повторяю на всякий случай код:
ЗапросОстатка = Новый Запрос;
ЗапросОстатка.Текст = "
| ВЫБРАТЬ
| ХозрасчетныйОстатки.Счет,
| ХозрасчетныйОстатки.Субконто1,
| ХозрасчетныйОстатки.КоличествоОстаток
| ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет = &ВыбСчет, , Субконто1 В (&ВыбНоменклатура)) КАК ХозрасчетныйОстатки";
ЗапросОстатка.УстановитьПараметр("ВыбСчет", ПланыСчетов.Хозрасчетный.Товары);
ЗапросОстатка.УстановитьПараметр("ВыбНоменклатура", ОтображаемыеТовары);
Выборка = ЗапросОстатка.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить("По счету " + Выборка.Счет + " остаток товара " + Выборка.Субконто1 + " = " + Выборка.КоличествоОстаток);
КонецЦикла;"
12.02.2009
16:28
#16
Нету сальдо по счету "ВыбСчет", нету сальдо по номенклатуре "ВыбНоменклатура". Кстати, Вы и дату как то не указали, на которую пытаетесь получить остаток.
12.02.2009
16:58
#17
"Научился немного пользоваться конструктором.
Дату не указывал, так как прочитал, что по умолчанию - текущая дата.
Вот сделал еще вариант в конструкторе:
ЗапросОстатка.Текст=
"ВЫБРАТЬ
| ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток,
| ХозрасчетныйОстатки.Счет,
| ХозрасчетныйОстатки.КоличествоОстаток КАК КоличествоОстаток,
| ХозрасчетныйОстатки.КоличествоОстатокДт,
| ХозрасчетныйОстатки.КоличествоОстатокКт,
| ХозрасчетныйОстатки.Субконто1.Ссылка
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки
|ГДЕ
| ХозрасчетныйОстатки.Счет = &ВыбСчет
| И ХозрасчетныйОстатки.Субконто1.Ссылка В(&ВыбНоменклатура)
|ИТОГИ ПО
| СуммаОстаток,
| КоличествоОстаток
|{ИТОГИ ПО
| КоличествоОстаток}";
Сальдо - это сумма или итоги по ресурсам на дату? Ох!
Как бы его оформить в запросе?"
Дату не указывал, так как прочитал, что по умолчанию - текущая дата.
Вот сделал еще вариант в конструкторе:
ЗапросОстатка.Текст=
"ВЫБРАТЬ
| ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток,
| ХозрасчетныйОстатки.Счет,
| ХозрасчетныйОстатки.КоличествоОстаток КАК КоличествоОстаток,
| ХозрасчетныйОстатки.КоличествоОстатокДт,
| ХозрасчетныйОстатки.КоличествоОстатокКт,
| ХозрасчетныйОстатки.Субконто1.Ссылка
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки
|ГДЕ
| ХозрасчетныйОстатки.Счет = &ВыбСчет
| И ХозрасчетныйОстатки.Субконто1.Ссылка В(&ВыбНоменклатура)
|ИТОГИ ПО
| СуммаОстаток,
| КоличествоОстаток
|{ИТОГИ ПО
| КоличествоОстаток}";
Сальдо - это сумма или итоги по ресурсам на дату? Ох!
Как бы его оформить в запросе?"
12.02.2009
22:44
#18
У Вас правильно было в начальном варианте установлено условие на виртуальную таблицу "Хозрасчетный.Остатки". Теперь же у Вас из регистра будут выбраны все данные, а потом уже отфильтрованы по "Счету" и "Субконто1". В итогах можно указать группировку (напр. "Субконто1" для Вашего случая). Так же при получении значения "Субконто1" не нужно использовать ".Ссылка".
Читают тему
(гостей: 1)