Alltn_44
Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору nivasoft Причем тут "Остатки ТМЦ"? Добавляешь реквизит в форму - "Склад" (Ид. - "ВыбСклад") для того, чтобы можно было быстро сделать отбор по одному складу. В процедуре "Сформировать": Расшифровка.Установить("ВыбТМЦ", ВыбТМЦ); Расшифровка.Установить("ВыбСклад",ВыбСклад); в запросах добавляешь переменную "Склады": |Склады = Регистр.ОстаткиТМЦ.Склад; добавляешь группировку "Склады". |Группировка Склады без групп; Ниже добавляешь проверку фильтра: НетОш = НетОш * глФильтрПоПеременнойЗапроса(ТаблицаМФ, "Склады", ВыбСклад, "ВыбСклад", ТекстЗапросаТвойЗапрос, ""); В цикле: Пока Запрос.Группировка("Номенклатура") = 1 Цикл //Номенклатура = Запрос.Номенклатура; //Если ПустоеЗначение(Номенклатура) = 1 Тогда // Продолжить; //КонецЕсли; Пока Запрос.Группировка("Склады") = 1 Цикл Склады = Запрос.Склады; Если ПустоеЗначение(Склады) = 1 Тогда Продолжить; КонецЕсли; Номенклатура = Запрос.Номенклатура; Если ПустоеЗначение(Номенклатура) = 1 Тогда Продолжить; КонецЕсли; ........... Если ОстатокНаНачало.ТекущаяСтрока() = 1 тогда //Из Итогов Если ЗапросОстатки.Получить(Номенклатура,Склады) = 1 Тогда //ОстатокКНачалуЗакупок = Макс(0,ЗапросОстатки.КонОст); ОстатокКНачалуЗакупок = ЗапросОстатки.КонОст; Иначе ОстатокКНачалуЗакупок = 0; КонецЕсли; Иначеесли ОстатокНаНачало.ТекущаяСтрока() = 2 тогда //Исходя из заказов и заявок Если ЗапросЗаявкиЗаказы.Получить(Номенклатура,Склады) = 1 Тогда ОстатокКНачалуЗакупок = ЗапросЗаявкиЗаказы.КонОст + ЗапросЗаявкиЗаказы.КонОстЗаказ - ЗапросЗаявкиЗаказы.КонОстЗаявка; Иначе ОстатокКНачалуЗакупок = 0; КонецЕсли; Иначеесли ОстатокНаНачало.ТекущаяСтрока() = 3 тогда //Минимальный остаток ОстатокКНачалуЗакупок = Номенклатура.МинОстаток; КонецЕсли; .......................... .......................... В процедуре "ПриОткрытии" добавляешь фильтр по складам: глДобавитьВТаблицуМФ(ТаблицаМФ,"Справочник","Склады", "Склады", "По складам"); тут же далее в условии: ............... ................. ВыбТМЦ = глРасшифровка.Получить("ВыбТМЦ"); ВидЕдиницы = глРасшифровка.Получить("ВидЕдиницы"); ВыбСклад = глРасшифровка.Получить("ВыбСклад"); ........... ........... Всё. | Всего записей: 250 | Зарегистр. 07-01-2008 | Отправлено: 15:16 20-07-2011 | Исправлено: Alltn_44, 15:35 20-07-2011 |
|