Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не получается запрос
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
Vofka
Привет!

Конфа ПУБ (старый, переписанный).

Нужно сделать запрос по документу "Банковская выписка" с условием по выбранному контрагенту. Делаю:



|Период с ВыбНачПериода по ВыбКонПериода;
|ВидДвижения = Документ.БанковскаяВыписка.ВидДвижения;
|Субконто1 = Документ.БанковскаяВыписка.Субконто1;
|СуммаПлатежа = Документ.БанковскаяВыписка.СуммаПлатежа;
|Функция СуммаПлатежаСумма = Сумма(СуммаПлатежа);
|Группировка Субконто1 без упорядочивания;
|Группировка Документ;
|Условие (Субконто1 = ВыбКонтрагент); // ВыбКонтрагент - реквизит на форме (тип Справочник.Контрагенты)
|Условие (ВидДвижения = Перечисление.ВидыДвиженийПоРасчетномуСчету.Поступление);


Результат пустой.

Делаю без


Условие (Субконто1 = ВыбКонтрагент);

результат получаю по всем клиентам.

Пробовал


Условие (Субконто1 = ВыбКонтрагент);

до лампочки.

Подозреваю, что загвоздка прячется в том, что у Субконто1 в банковской выписке имеет тип "Неопределено". Но что мне сделать, чтобы получить нужный результат - не могу сообразить sad.gif
Pepe
Наверное так не получится, т.к. банковская выписка - многострочный документ и не имеет в шапке контрагента.
Мой вариант:
Надо выбрать все документы (БВ), а потом в цикле каждый открывать, просматривать записи и выбирать по контагенту.
Zaval
Все получится.
Попробуй сделать конструктором...
Еще можно попробовать первым условием поставить счет (список счетов), у которых субконто1... smile.gif
Vofka
Pepe, если без отбора по контрагенту - то работает (по всем то выбирает)

Цитата(Zaval)
Еще можно попробовать первым условием поставить счет (список счетов), у которых субконто1...

Не понял...
liksoft
Наверное, имеется в виду проверка счета которые имеют Субконто1 "Контрагенты", т.е. 361,631,6851...а потом выставлять условие, но можно попробовать и по дебильному, типа
Условие (Строка(Субконто1) = Строка(ВыбКонтрагент.Наименование));
Vofka
Цитата
Наверное, имеется в виду проверка счета которые имеют Субконто1 "Контрагенты", т.е. 361,631,6851...а потом выставлять условие

всеравно не понял...
liksoft
Навскидку
спСч = СоздатьОбъект("СписокЗначений");
спСч.ДобавитьЗначение(СчетПоКоду("361"));
спСч.ДобавитьЗначение(СчетПоКоду("631"));
спСч.ДобавитьЗначение(СчетПоКоду("6851"));
спСч.ДобавитьЗначение(СчетПоКоду("6852"));

и в запросе
...
|Счет = Документ.БанковскаяВыписка.Счет;
...


|Условие (Счет в спСч)
Zaval
В строке БВ тип Субконто1 устанавливается при изменении Счет. Строки БВ, в которых фигурирует счет, первое субконто которого не есть Контрагент, тебе вообще нафиг не нужны. Если ты в первом условии отберешь строки БВ по списку счетов(оператор в запросе - "В", параметр - список счетов), то в следующем условии можешь проверять равенство своему контрагенту.
Vofka
Идею понял, буду пробовать smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.