Можно ли в запросе определить поведен ли документ? (7.7, опер. учет)
Показывать по
10
20
40
сообщений
- 1
- 2
15.04.2011
17:14
#1
"
Писшет: "Значение не представляет агрегатный объект: 2".
Собстевено, сабж."
|ОбрабатыватьДокументы все;
...
|Удорожание = Документ.УдорожаниеТовара.ТекущийДокумент;
...
|Условие(Удорожание.Проведен()=0);
...
Писшет: "Значение не представляет агрегатный объект: 2".
Собстевено, сабж."
15.04.2011
17:40
#3
"
> А сразу их отбирать?
В запросе нужны документы не только данного вида, не проведенные, но и другие.
Пробовал через внешнюю функцию, не работает.
Прийдется все таки, действительно, сначала свормировать список не проведенных документов данного вида и потом уже в условии его использовать."
> А сразу их отбирать?
В запросе нужны документы не только данного вида, не проведенные, но и другие.
Пробовал через внешнюю функцию, не работает.
Функция Проведено(ВхДок)
Док=СоздатьОбъект("Документ.УдорожаниеТовара");
Док.НайтиДокумент(ВхДок);
Возврат Док.Проведен();
КонецФункции
//
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|ОбрабатыватьДокументы все;
|Товар = Документ.УдорожаниеТовара.Товар, Документ.РасходнаяДолг.Товар, Документ.РасходнаяКредит1Эт.Товар, Документ.РасходнаяКредит2Эт.Товар, Документ.РасходнаяНал.Товар, Документ.РасходнаяРеализ.Товар, Документ.РасходнаяНалЧЛ.Товар;
|Количество = Документ.УдорожаниеТовара.Количество, Документ.РасходнаяДолг.Количество, Документ.РасходнаяКредит1Эт.Количество, Документ.РасходнаяКредит2Эт.Количество, Документ.РасходнаяНал.Количество, Документ.РасходнаяРеализ.Количество, Документ.РасходнаяНалЧЛ.Количество;
|Удорожание = Документ.УдорожаниеТовара.ТекущийДокумент;
|Расходная = Документ.РасходнаяДолг.ТекущийДокумент, Документ.РасходнаяКредит1Эт.ТекущийДокумент, Документ.РасходнаяКредит2Эт.ТекущийДокумент, Документ.РасходнаяНал.ТекущийДокумент, Документ.РасходнаяРеализ.ТекущийДокумент, Документ.РасходнаяНалЧЛ.ТекущийДокумент;
|Функция КоличествоСумма = Сумма(Количество);
|Группировка Товар без групп;
|Группировка Удорожание;
|Группировка Расходная;
|Группировка СтрокаДокумента;
|Условие(Проведено(Удорожание)=0);
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей Товар
Если Запрос.КоличествоСумма=0 Тогда
Продолжить;
КонецЕсли;
Таб.ВывестиСекцию("Товар");
Пока Запрос.Группировка(2) = 1 Цикл
// Заполнение полей Удорожание
Таб.ВывестиСекцию("Удорожание");
Пока Запрос.Группировка(3) = 1 Цикл
// Заполнение полей Расходная
Таб.ВывестиСекцию("Расходная");
Пока Запрос.Группировка(4) = 1 Цикл
// Заполнение полей СтрокаДокумента
Таб.ВывестиСекцию("СтрокаДокумента");
КонецЦикла;
КонецЦикла;
КонецЦикла;
КонецЦикла;
// Заполнение полей "Итого"
Таб.ВывестиСекцию("Итого");
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", """");
КонецПроцедуры
Прийдется все таки, действительно, сначала свормировать список не проведенных документов данного вида и потом уже в условии его использовать."
15.04.2011
18:06
#5
"> Не пора ли нам подумать о переходе на платформу 8 !? ;)
Язык в процессе изучения, потом переписывание нестандартной конфы с 7.7 под 8, потом смена двух "полудохлых" ПК и переход. ;)"
Язык в процессе изучения, потом переписывание нестандартной конфы с 7.7 под 8, потом смена двух "полудохлых" ПК и переход. ;)"
- 1
- 2
Читают тему
(гостей: 1)