Имя: Пароль:
1C
1C 7.7
v7: Как ставить условие?
0 lesstat
 
27.06.12
12:23
Перем Запрос, ТекстЗапроса, Таб;
   //Создание объекта типа Запрос
   Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |ОбрабатыватьДокументы все;
   |Склад = Регистр.ОстаткиТМЦ.Склад;
   |Номенклатура = Регистр.ОстаткиТМЦ.Номенклатура;
   |Количество = Регистр.ОстаткиТМЦ.Количество;
   |ТекущийДокумент = Регистр.ОстаткиТМЦ.ТекущийДокумент;
   |Функция КоличествоНачОст = НачОст(Количество);
   |Функция КоличествоПриход = Приход(Количество);
   |Функция КоличествоРасход = Расход(Количество);
   |Функция КоличествоКонОст = КонОст(Количество);
   |Группировка Склад;
   |Группировка Номенклатура;
   |Группировка Документ;
   |Условие(Склад в ВыбСклад);
   |Условие(Номенклатура в ВыбНоменклатура);
   |"//}}ЗАПРОС
   ;
   // Если ошибка в запросе, то выход из процедуры
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;

   // Подготовка к заполнению выходных форм данными запроса
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Сформировать");
   // Заполнение полей "Заголовок"
   Таб.ВывестиСекцию("Заголовок");
   Состояние("Заполнение выходной таблицы...");
   Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
   Пока Запрос.Группировка(1) = 1 Цикл
       // Заполнение полей Склад
       Таб.ВывестиСекцию("Склад");
       Пока Запрос.Группировка(2) = 1 Цикл
           
           // Заполнение полей Номенклатура
           
           Таб.ВывестиСекцию("Номенклатура");
           
           Пока Запрос.Группировка(3) = 1 Цикл
               // Заполнение полей Документ
               Таб.ВывестиСекцию("Документ");
           КонецЦикла;
       КонецЦикла;
   КонецЦикла;
   // Заполнение полей "Итого"
   Таб.ВывестиСекцию("Итого");
   // Вывод заполненной формы
   Таб.ТолькоПросмотр(1);
   Таб.Показать("Сформировать", "");


на форме есть флажки нулевыеостаткинананачало и нулевыеостаткинаконец,

как мне отбирать номенклатуры при включении того или иного флажка или если оба флажка включены?
1 Maxus43
 
27.06.12
12:23
В 7-ку перенесите
2 lesstat
 
27.06.12
12:26
(1) блин ошибся а как перенести?
3 ALoHA
 
27.06.12
17:36
Перед Запрос.Выполнить Поставь"
Если Птица1=1 Тогда
   ТекстЗапроса=ТекстЗапроса+"
   |Условие Твоё= (....);";
Иначе
   ТекстЗапроса=ТекстЗапроса+"
   |Условие Твоё2= (....);";
КонецЕсли;
4 ALoHA
 
27.06.12
17:41
Поправлюсь:
Если нулевыеостаткинананачало = 1 Тогда
   ТекстЗапроса=ТекстЗапроса+"
   |Условие Твоё= (....);";
ИначеЕсли нулевыеостаткинаконец = 1 Тогда
   ТекстЗапроса=ТекстЗапроса+"
   |Условие Твоё2= (....);";
ИначеЕсли (нулевыеостаткинаконец = 1) И (нулевыеостаткинананачало = 1) Тогда
   ТекстЗапроса=ТекстЗапроса+"
   |Условие Твоё3= (....);";
КонецЕсли;
5 Ёпрст
 
гуру
27.06.12
17:44
(0) интересно было бы посмотреть, как ты получаешь "нулевые" остатки на начало и конец периода.
6 viktor_vv
 
27.06.12
17:48
У ТС уже ж была такая ветка, там все объяснили, или он надеется на чудо.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан