7.7 Возврат к условию

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем sashadeo, 7 фев 2011.

  1. TopicStarter Overlay
    sashadeo
    Offline

    sashadeo Опытный в 1С

    Регистрация:
    29 дек 2010
    Сообщения:
    379
    Симпатии:
    0
    Баллы:
    26
    Добрый день. Не подскажите как реализовать....

    Код:
    Если Флажочек = 1 тогда
    Если (Запрос2.ТМЦ.ЭтоГруппа()=1) Тогда     
    
    НаимПрод=Запрос2.Тмц; 
    
    Если (Запрос2.Тмц.ЭтоГруппа()=1) тогда  
    Таб2.ВывестиСекцию("Шапочка1|Продукция");   
    иначе
    Таб2.ВывестиСекцию("Шапочка|Продукция"); 
    Конецесли;	
    Мстр=0;
    Мкол=0;     (это только часть кода)       
    ............................................................................................................................
    Если флажок стоит то выполняется	      	
    
    Если Флажочек = 1 тогда
    Если (Запрос2.ТМЦ.ЭтоГруппа()=1) Тогда     
    
    НаимПрод=Запрос2.Тмц; 
    
    Если (Запрос2.Тмц.ЭтоГруппа()=1) тогда  
    Таб2.ВывестиСекцию("Шапочка1|Продукция");   
    иначе
    Таб2.ВывестиСекцию("Шапочка|Продукция"); 
    Конецесли;	
    Мстр=0;
    Мкол=0; 
    
    .................................................................................................................
    Если флажок не стоит все выполняется тоже самое кроме одного условия...
    
    Если Флажочек = 1 тогда
    
    НаимПрод=Запрос2.Тмц; 
    
    Если (Запрос2.Тмц.ЭтоГруппа()=1) тогда  
    Таб2.ВывестиСекцию("Шапочка1|Продукция");   
    иначе
    Таб2.ВывестиСекцию("Шапочка|Продукция"); 
    Конецесли;	
    Мстр=0;
    Мкол=0; 
    
    
    ...................................................................................................................
    Не подскажите как все это реализовать.... что бы не писать код 2 раза(т.е если флажок то код иначе опять копирую весь код только без одного условия)
    Как более корректно написать?
  2. sergejk74
    Offline

    sergejk74 Опытный в 1С

    Регистрация:
    15 ноя 2010
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    как то все запутано - переформулируй
  3. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Организуй процедуру с выносом кода
  4. sergejk74
    Offline

    sergejk74 Опытный в 1С

    Регистрация:
    15 ноя 2010
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Код:
    Если Флажочек = 1 тогда
    Если (Запрос2.ТМЦ.ЭтоГруппа()=1) или (Флажочек = 0) Тогда  
    
    Тебе так нужно?
  5. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    и не лень тебе писать каждый раз?
    Запрос2.Тмц

    вставь в начале
    тмц=Запрос2.Тмц;
  6. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Если флажочек будет равен 1 (внешнее условие), то внутренее условие (Флажочек = 0) бессмысленно.
  7. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Уф... Еще разок вмешаюсь
    Код:
    ИмяСек=?(Запрос2.ТМЦ.ЭтоГруппа()+Флажочек=2,"1","");
    НаимПрод=Запрос2.Тмц;    
    Таб2.ВывестиСекцию("Шапочка"+ИмяСек+"|Продукция");    
    
    
    и не нужно мудрить с лишними условиями
  8. TopicStarter Overlay
    sashadeo
    Offline

    sashadeo Опытный в 1С

    Регистрация:
    29 дек 2010
    Сообщения:
    379
    Симпатии:
    0
    Баллы:
    26
    Извиняюсь за свою не понятность...

    Код:
    Если Флажочек = 1 тогда  
    Если (Запрос2.ТМЦ.ЭтоГруппа()=1) Тогда   //(если флажок включен то в отчете выводятся только группы, если нет то это условие убирается, и выводятся группы и их элементы)  
    
    НаимПрод=Запрос2.Тмц; 
    
    Если (Запрос2.Тмц.ЭтоГруппа()=1) тогда  
    Таб2.ВывестиСекцию("Шапочка1|Продукция");   
    иначе
    Таб2.ВывестиСекцию("Шапочка|Продукция"); 
    Конецесли;	
    Мстр=0;
    Мкол=0;     (это только часть кода)    
    
    
    
    Извините что запутал
    [warn="_"]
    Убедительная просьба - начинайте пользоваться тегами. Это последнее китайское предупреждение.
    [/warn]
    смотрим тут: http://www.1c-pro.ru/index.php?s=&act=...amp;CODE=bbcode
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    тогда так
    Код:
    Если Флажек=1 Тогда
    Если Запрос2.ТМЦ.ЭтоГруппа()=0 Тогда
    Продолжить;
    КонецЕсли;
    КонецЕсли;
    
    
  10. TopicStarter Overlay
    sashadeo
    Offline

    sashadeo Опытный в 1С

    Регистрация:
    29 дек 2010
    Сообщения:
    379
    Симпатии:
    0
    Баллы:
    26
    Спасибо!!!
    Все получилось!!! :angry:
  11. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Не забываем в следующий раз про теги... и кнопку спасибо)
  12. TopicStarter Overlay
    sashadeo
    Offline

    sashadeo Опытный в 1С

    Регистрация:
    29 дек 2010
    Сообщения:
    379
    Симпатии:
    0
    Баллы:
    26
    Теперь точно не забуду!!!=)))))))

Поделиться этой страницей