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

1с Розница 2 - запрос количества денег в кассе

Автор redcrab, 08 апр 2015, 16:56

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

redcrab

Добрый день!
Я в тупике (((

Мне необходимо програмно получить кол-во денег в кассе.

Делаю запрос:


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

РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Сообщить(Выборка.Получить(0));


Ничего.

Помогите пожалуйста сформировать правильный запрос и получить просто сумму денег в кассе (не в кассе ККМ).

redcrab

Вообще туфту по-моему написала,

Надо к регистру накопления "ДенежныеСредстваНаличные" обращаться.

Подскажите пожалуйста как правильно запрос составить
Добавлено: 08 апр 2015, 17:26


Во, сделала по справке:

Цитировать
   запрос =  РегистрыНакопления.ДенежныеСредстваНаличные;
   Фильтр   = Новый Структура;
   Фильтр.Вставить("Касса", ЭтаФорма.ЭтотОбъект.Касса);
   итогСумма = запрос.Остатки(ТекущаяДата(),Фильтр,"Касса","Сумма");
   Сообщить(итогСумма);

ругается, что праметир 2 недопустимый, хотя так в справке написано

LexaK

да правильно запрос написали, другое дело немного с параметрами поработать,
наверно что-то в выводе, попробуйте так

Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ДенежныеСредства.Организация КАК Организация,
| ДенежныеСредства.Магазин КАК Магазин,
| ДенежныеСредства.Касса КАК Касса,
| ДенежныеСредства.ДоговорПлатежногоАгента КАК ДоговорПлатежногоАгента,
| ДенежныеСредства.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток,
| ДенежныеСредства.СуммаПриход КАК СуммаПриход,
| ДенежныеСредства.СуммаРасход КАК СуммаРасход,
| ДенежныеСредства.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток
|ИЗ
| РегистрНакопления.ДенежныеСредстваНаличные.ОстаткиИОбороты КАК ДенежныеСредства";

лкТаб = Запрос.Выполнить().Выгрузить();
лкСтр = лкТаб.ВыбратьСтроку();


Добавлено: 08 апр 2015, 17:29


вообще лучше в консоли запросов проверять такие запросы,
еще убедитесь есть ли в этом Регистре вообще данные?
если он пустой вы ничего кроме названий колонок не получите.
Добавлено: 08 апр 2015, 17:32


что-то сайт глючит, неправильно текст вставляет, после текста запроса такой код

    лкТаб = Запрос.Выполнить().Выгрузить();

    лкСтр = лкТаб.ВыбратьСтроку();

если помогло нажмите: Спасибо!

redcrab

Ага, мне надо в гегистры накоплений
А если вот так делать:

Цитировать
&НаСервере
Функция ПолучитьДеньгиВКассе()
   запрос =  РегистрыНакопления.ДенежныеСредстваНаличные;
   мФильтр   = Новый Структура;
   мФильтр.Вставить("Касса", "Касса-магазина");
   итогСумма = запрос.Остатки(ТекущаяДата(),мФильтр,"Касса","Сумма");
   Сообщить(итогСумма);
КонецФункции


так даже в справке написано.
Но почемуто ругается на параметр 2 вот в этой строке итогСумма = запрос.Остатки(ТекущаяДата(),мФильтр,"Касса","Сумма");
"Недопустимое значение параметра (параметр номер '2')"

LexaK

скорее всего Касса это ссылка! а вы строку вставляете! (в мФильтр)
лучше запросами данные получать!
если помогло нажмите: Спасибо!

Теги:

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

Рейтинг@Mail.ru

Поиск