Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 ноя 2024, 16:10

Запрос по остаткам

Автор prochor, 23 ноя 2010, 20:45

0 Пользователей и 1 гость просматривают эту тему.

prochor

Здравствуйте.
В УПП мне надо сделать контроль остатков номенклатуры при передаче материалов в эксплуатацию. Сделал функцию проверки остатков номенклатуры на складе. В ней в цикле написал запрос, который построчно получает остатки номенклатуры, указанной в таблице. Запрос представлен ниже.

"ВЫБРАТЬ
|   ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Номенклатура,
|   ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.СчетУчета,
|   ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Организация,
|   ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Склад,
|   СУММА(ЕСТЬNULL(ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.КоличествоОстаток, 0)) КАК КоличествоОстаток
|ИЗ
|   РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.Остатки(
|               &Дата,
|      Номенклатура = &Номенклатура
|      И СчетУчета = &СчетУчета
|               И Организация = &Организация
|      И Склад = &Склад) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстатки
|СГРУППИРОВАТЬ ПО
|   ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Номенклатура,
|   ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.СчетУчета,
|   ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Организация,
|   ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Склад";


Проблема заключается в том, что поле КоличествоОстаток НеОпределено. Соответственно переменная, которой я присваюиваю значение этого поля тоже имеет тип НеОпределено.
При этом все остальные поля принимают правильные значения из таблицы.
Вопросы:
1) Как мне изменить запрос так, чтобы в поле КоличествоОстаток записывалось правильное значение?
2) Почему оно НеОпределено? Ведь, в крайнем случае, должно быть 0, так как я использую функцию ЕСТЬNULL.

progmikon

А вы выборку открываете?

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл //только после этого момента вы имеете доступ к результатам
Сообщить(Выборка.КоличествоОстаток);
КонецЦикла;

prochor

Конечно открываю. Иначе, как бы я узнал значения остальных полей? Приду на работу, выложу полный листинг функции.

prochor

Извините, туплю. Запрос полностью пустой. Наверное, я выбрал не тот регистр. Новый вопрос: из какого регистра делать запрос при передаче материалов в эксплуатацию?

progmikon

Цитата: prochor от 24 ноя 2010, 05:59
Извините, туплю. Запрос полностью пустой. Наверное, я выбрал не тот регистр. Новый вопрос: из какого регистра делать запрос при передаче материалов в эксплуатацию?

Наверное, к какому регистру нужно делать запрос? Верно?
У вас какая конфигурация? Можно, например, через РегистрБухгалтерии.

prochor

У меня Управление производственным предприятием. В ряд ли остатки товаров/материалов содержатся в регистре бухгалтерии. Я думаю, в одном из регистров накопления. Или я не прав?

progmikon

Цитата: prochor от 24 ноя 2010, 08:17
У меня Управление производственным предприятием. В ряд ли остатки товаров/материалов содержатся в регистре бухгалтерии. Я думаю, в одном из регистров накопления. Или я не прав?

Вы абсолютно правы.
Посмотрите регистр накопления МатериалыВЭксплуатации.

По поводу регистра бухгалтерии: дело в том, что все или почти все хозяйственные операции должны отражаться на счетах учета, поэтому и из регистра бухгалтерии можно получить информацию, может не такую детальную, но можно.

prochor

Во-первых, в регистре МатериалыВЭксплуатации содержатся данные по материалам, УЖЕ находящимся в эксплуатации. Разве нет? Мне же нужно сделать механизм, проверяющий, есть ли на складе указанное количество указанной номенклатуры. ПЕРЕД проведением документа ПередачаМатериаловВЭксплуатацию.
Во-вторых, в регистры бухгалтерии записывается информация о деньгах, а мне нужна ниформация о товарах.

progmikon

Цитата: prochor от 24 ноя 2010, 10:37
Во-первых, в регистре МатериалыВЭксплуатации содержатся данные по материалам, УЖЕ находящимся в эксплуатации. Разве нет? Мне же нужно сделать механизм, проверяющий, есть ли на складе указанное количество указанной номенклатуры. ПЕРЕД проведением документа ПередачаМатериаловВЭксплуатацию.
Вот с этого и нужно было начитать. Вам нужно проверить количество на складе.
Попробуйте ТоварыНаСкладах.
Цитата: prochor от 24 ноя 2010, 10:37
Во-вторых, в регистры бухгалтерии записывается информация о деньгах, а мне нужна ниформация о товарах.
Это я комментировать не буду.

prochor

Решение найдено. Прогмикону спасибо.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск