Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 ноя 2024, 17:07

Как описать условие

Автор lkatl, 21 июл 2010, 09:38

0 Пользователей и 1 гость просматривают эту тему.

lkatl

Всем доброе времч суток.У меня такой,новичковый вопрос:
у меня есть функция:

Функция ПКоличество()
Если (СОКРЛП(Действие.Наименование)="Печать")И(Тираж<500)
Тогда Количество = 500;
Иначе Количество = Тираж;
КонецЕсли;
возврат  Количество;
КонецФункции

и чтобы посчитать количество. нужны ещё эти условия:
Если (СОКРЛП(Действие.Родитель.Наименование)="Материалы типографии")И (СОКРЛП(Форм.Наименование)="А7") И (СОКРЛП(БумагаПл.Наименование)="офсетная")Тогда] Количество =Тираж:64:100*4;   
   
Если (СОКРЛП(Действие.Родитель.Наименование)="Материалы типографии")И(СОКРЛП(Форм.Наименование)="А7") И (СОКРЛП(БумагаПл.Наименование)="газетная")Тогда Количество =Тираж:64:100*2.5 ;    
      
Если (СОКРЛП(Действие.Родитель.Наименование)="Материалы типографии")И(СОКРЛП(Форм.Наименование)="А6") И (СОКРЛП(БумагаПл.Наименование)="офсетная")   Тогда Количество =Тираж:32:100*4 ;   
   
Если (СОКРЛП(Действие.Родитель.Наименование)="Материалы типографии")И(СОКРЛП(Форм.Наименование)="А6") И (СОКРЛП(БумагаПл.Наименование)="газетная")Тогда Количество =Тираж:32:100*2.5 ;

Если (СОКРЛП(Действие.Родитель.Наименование)="Материалы типографии")И(СОКРЛП(Форм.Наименование)="А5") И (СОКРЛП(БумагаПл.Наименование)="офсетная")   Тогда Количество =Тираж:16:100*4 ;   
   
Если (СОКРЛП(Действие.Родитель.Наименование)="Материалы типографии")И(СОКРЛП(Форм.Наименование)="А5") И (СОКРЛП(БумагаПл.Наименование)="газетная")   Тогда Количество =Тираж:16:100*2.5 ;   
   
Если (СОКРЛП(Действие.Родитель.Наименование)="Материалы типографии")И (СОКРЛП(Форм.Наименование)="А4") И (СОКРЛП(БумагаПл.Наименование)="офсетная")Тогда Количество =Тираж:8:100*4 ;   
   
Если (СОКРЛП(Действие.Родитель.Наименование)="Материалы типографии")И (СОКРЛП(Форм.Наименование)="А4")И (СОКРЛП(БумагаПл.Наименование)="газетная")Тогда Количество =Тираж:8:100*2.5 ;   
   
Если (СОКРЛП(Действие.Родитель.Наименование)="Материалы типографии")И (СОКРЛП(Форм.Наименование)="А3") И (СОКРЛП(БумагаПл.Наименование)="офсетная")Тогда Количество =Тираж:4:100*4 ;   
   
Если (СОКРЛП(Действие.Родитель.Наименование)="Материалы типографии")И (СОКРЛП(Форм.Наименование)="А3")И (СОКРЛП(БумагаПл.Наименование)="газетная")Тогда Количество =Тираж:4:100*2.5 ;   
   
(СОКРЛП(Действие.Родитель.Наименование)="Материалы типографии")И(СОКРЛП(Форм.Наименование)="А2") И (СОКРЛП(БумагаПл.Наименование)="офсетная")Тогда Количество =Тираж:2:100*4 ;   
   
Если (СОКРЛП(Действие.Родитель.Наименование)="Материалы типографии")И (СОКРЛП(Форм.Наименование)="А2")  И (СОКРЛП(БумагаПл.Наименование)="газетная")Тогда Количество = Тираж:2:100*2.5 ;

// форматы и бумагуПл я ввела в соответствующие справочники. Тираж вводится пользователем,это любое число.

Tatitutu

в чем вопрос то ?
ну во первых можно сделать так же отдельной функцией с тремя входящими
во вторых во всех условиях у тебя первый параметр одинаков ="Материалы типографии"

Выноси его
В третьех Действие.Родитель.Наименование
замени на
ВыбранныйРодитель=Действие.Родитель;
И проверяй

Если СокрЛП(ВыбранныйРодитель.Наименование)="Материалы типографии" Тогда
Если (СОКРЛП(Форм.Наименование)="А7") И (СОКРЛП(БумагаПл.Наименование)="офсетная")Тогда
Количество =Тираж:64:100*4;   
ИначеЕсли .....
КонецЕсли;
КонецЕсли;

*  MAGAZKA - лучшая программа для розничного магазина (с) *

lkatl

ага,уже сделала.всё поняла.только вопросик один: как выносить одинаковый параметр

Tatitutu


*  MAGAZKA - лучшая программа для розничного магазина (с) *

lkatl


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск