Цитата(Vofka @ 22.09.10, 15:17) необходимо зарегистрироваться для просмотра ссылки
Текст запроса хотя бы покажите. А лучше текст процедуры.
Процедура ДвиженияТоваров()
Перем Запрос, ТекстЗапроса;
Перем ПоВсейФирмеВЦелом;
ТекстЗапроса = "";
ТекстЗапроса = ТекстЗапроса +
"//{{ЗАПРОС(ТоварыЗаПериоды)
|ПЕРИОД С Дата1 По Дата2;
|Фирма=Регистр.ОстаткиТоваров.Фирма;
|Склад=Регистр.ОстаткиТоваров.Склад;
|ФлагУчета=Регистр.ОстаткиТоваров.ФлагУчета;
|"+?(ВсеТовары = 1,"Товар = Справочник.Номенклатура.ТекущийЭлемент,Регистр.ОстаткиТоваров.Товар","Товар=Регистр.ОстаткиТоваров.Товар")+";
//|Товар=Регистр.ОстаткиТоваров.Товар;
|Док=Регистр.ОстаткиТоваров.ТекущийДокумент;
|Кол=Регистр.ОстаткиТоваров.ОстатокТовара;
|Функция НачКол = НачОст(Кол);
|Функция КонКол = КонОст(Кол);
|Функция ПрихКол = Приход(Кол);
|Функция РасхКол = Расход(Кол);
|Условие (Фирма=ВыбФирма);
|"+?(ВсеТовары = 1,"Группировка Товар Упорядочить По Товар.Сортировка,Товар.Наименование все","")+";
|"//}}ЗАПРОС
;
Если ДеталПоСкладам=1 Тогда
ТекстЗапроса = ТекстЗапроса + "
|Группировка Склад упорядочить по Склад.Наименование;";
КонецЕсли;
Если ДеталПоДокументам=1 Тогда
ТекстЗапроса = ТекстЗапроса + "
|Группировка Док;";
КонецЕсли;
Заг="";
Заг1="";
глЗаголовокФирма(ВыбФирма,Заг,Язык);
Если ФильтрыИЗаголовкиПоТоварамИСкладам(ТекстЗапроса,Заг,Заг1)=0 Тогда
Возврат;
КонецЕсли;
Если (ДеталПоСкладам=0)И(ВыбСклад.Выбран()=0)И(МФВыбСклады.РазмерСписка()=0) Тогда
Заг1=?(Язык="у","Одночасно по всім складам. ","Одновременно по всем складам. ");
ТекстЗапроса = ТекстЗапроса + "Условие (ФлагУчета <> 1);";
ПоВсейФирмеВЦелом = 1;
Иначе
ПоВсейФирмеВЦелом = 0;
КонецЕсли;
Запрос=СоздатьОбъект("Запрос");
Если Запрос.Выполнить(ТекстЗапроса)=0 тогда
Возврат;
КонецЕсли;
глЧислоСтрок=0;
// Создание Таблицы для выходного отчета
Т.ИсходнаяТаблица("ДвиженияТоваров"+Язык);
Т.ВывестиСекцию("Кнопки");
Т.ВывестиСекцию("Отчет");
глОживить(4);
Пока Запрос.Группировка("Товар") = 1 Цикл
//НаимТовара=глТоварВОтчете(Запрос.Товар);
НаимТовара=Запрос.Товар.полнНаименование;
Пока Найти(НаимТовара," ") <> 0 Цикл
НаимТовара = СтрЗаменить(НаимТовара," "," ");
КонецЦикла;
Если Запрос.Товар.ЭтоГруппа()=1 Тогда
Т.ВывестиСекцию("Группа");
глОживить(1);
Продолжить;
Иначе
ПечНачКол=глФРМКоличествоВОтчете(Запрос.НачКол,Запрос.Товар);
ПечПрихКол=глФРМКоличествоВОтчете(Запрос.ПрихКол,Запрос.Товар);
ПечРасхКол=глФРМКоличествоВОтчете(Запрос.РасхКол,Запрос.Товар);
ПечКонКол=глФРМКоличествоВОтчете(Запрос.КонКол,Запрос.Товар);
Т.ВывестиСекцию("Товар");
глОживить(1);
КонецЕсли;
Если ДеталПоСкладам=1 Тогда // детализируем по складам
Пока Запрос.Группировка("Склад") = 1 Цикл
НаимСклада=Запрос.ЗначениеУпорядочивания(2,1);
ПечНачКол=глФРМКоличествоВОтчете(Запрос.НачКол,Запрос.Товар);
ПечПрихКол=глФРМКоличествоВОтчете(Запрос.ПрихКол,Запрос.Товар);
ПечРасхКол=глФРМКоличествоВОтчете(Запрос.РасхКол,Запрос.Товар);
ПечКонКол=глФРМКоличествоВОтчете(Запрос.КонКол,Запрос.Товар);
Если ВыбСклад.Выбран()=0 Тогда
Т.ВывестиСекцию("Склад");
глОживить(1);
КонецЕсли;
Если ДеталПоДокументам=1 Тогда
ВывестиДокументыДвиженияТоваров(Запрос,Т);
КонецЕсли;
КонецЦикла;
ИначеЕсли ДеталПоДокументам=1 Тогда // не детализируем по складам
ВывестиДокументыДвиженияТоваров(Запрос,Т);
КонецЕсли;
КонецЦикла;
//Вызов выходного отчета в окно просмотра и редактирования.
Т.Опции(0,0,8,0,ПарСтрОтчДлинн);
Т.Защита(Константа.ФлагЗащитыТаблиц);
Т.ТолькоПросмотр(1);
Т.ОбластьПечати(2);
Т.Показать("Отчет о движении товаров на складах","");
ОтчетСформирован = 1;
КонецПроцедуры