Имя: Пароль:
1C
 
оператор Если
↓ (Волшебник 20.07.2010 14:15)
0 lkatl
 
20.07.10
08:40
в документе выполняю вот такое условие:
Функция ПКоличество()
   Если (СОКРЛП(Действие.Наименование)="Печать")И(Тираж<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 ;
1 Гефест
 
20.07.10
08:40
поехали! :)
2 Fragster
 
гуру
20.07.10
08:42
вау!
3 1Сергей
 
20.07.10
08:42
(0) о,привет! Опять взялась за эту дурацкую одинэску?
4 Mikeware
 
20.07.10
08:43
(0) До пятницы еще далеко!
5 lkatl
 
20.07.10
08:44
(4) ))) ага.но я уже завтра закончу
6 lkatl
 
20.07.10
08:44
(3) даааа
7 Гефест
 
20.07.10
08:44
(5) Неужели отмучилась?
8 Fragster
 
гуру
20.07.10
08:45
а если большие листы другого размера будут, то как тираж считать будешь?
9 lkatl
 
20.07.10
08:45
(7) чуть-чуть доделать осталось
10 lkatl
 
20.07.10
08:46
(8) у них тут таблица только с этими форматами.если....это нн мои проблемы.пусть сами считают.я итак уже у вас тут очень нехорошую репутацию получила,пока это всё делала))
11 vde69
 
модератор
20.07.10
08:46
(0) в чем вопрос? учитесь завадать вопросы, ибо в нем уже половина ответа.


ALL-не флудим
12 lkatl
 
20.07.10
08:47
(11) куда эти условия правильно вставить? и как,в функцию ПКоличество()
13 Fragster
 
гуру
20.07.10
08:48
(10) ну так и загони таблицу в справочник, а в твоем модуле - пробигайся по справочнику
14 Fragster
 
гуру
20.07.10
08:49
*пробЕгайся
15 vde69
 
модератор
20.07.10
08:50
читай справку

Если <?>  Тогда
   
ИначеЕсли ()  Тогда
   
Иначе
   
КонецЕсли;
Синтаксис:
Если <Логическое_выражение_1> Тогда
   <Тогда_операторы>
[ИначеЕсли <Логическое_выражение_к> Тогда
   <ИначеЕсли_операторы_к>]
[Иначе
   <Иначе_операторы>]
КонецЕсли;
Назначение:
оператор условного выполнения.
Параметры:
<Логическое_выражение_1> - логическое выражение;
.
----------------------

ну про то, что (0) код называется хард-кодинг (или быдлокод) думаю ты в курсе..
16 Andy13
 
20.07.10
08:50
(0) Как это у военных - лобовая атака?
Вся эта лабудень имеет под собой некое математическо-логическое основание. Может попробовать форулу(ы) вывести? Тогда "Если" уменьшится в размерах глобально.
17 lkatl
 
20.07.10
08:50
(13) мне нужно 1500 строчек тогда ввести.это много
18 lkatl
 
20.07.10
08:51
(15) не,не в курсе
19 Fragster
 
гуру
20.07.10
08:51
(17) т.е. в коде их ввести - проще? и потом менять, если что?
20 lkatl
 
20.07.10
08:51
(16) может
21 lkatl
 
20.07.10
08:53
да,потому что тираж вводит пользователь сам. Тираж есть в формуле.а если заполнять таблицу, то получится писать тираж 100 6 раз, а уна тираж до80000 делают
22 lkatl
 
20.07.10
08:54
(21) это был ответ на (19)
23 lkatl
 
20.07.10
08:55
у меня получится Если вложено в Если? и так несколько раз?
24 Санта Клаус
 
20.07.10
08:59
(0) бедный движок 1 це...
25 lkatl
 
20.07.10
09:00
(24) ну а кому щас легко
26 lkatl
 
20.07.10
09:02
и ещё вопрос:Действие.Наименование="Бумага" или(Действие.Наименование)="Картон" или (Действие.Наименование)="Лидерин" это элементы справочника. и эти элементы относятся к группе материалы. как написать,чтобы все элементы не перечислять.всю группу описать?
27 Гефест
 
20.07.10
09:05
(26) Действие.Родитель.Наименование = "ТвояГруппа"
28 Санта Клаус
 
20.07.10
09:07
(26)ооо_ОООООО
дошло
29 lkatl
 
20.07.10
09:07
(27) блин,точно))
30 Гефест
 
20.07.10
09:10
только ты завтра лыжи смажь хорошенько, чтобы потом не нашли
31 lkatl
 
20.07.10
09:11
(30) ды я не ухожу
32 Ненавижу 1С
 
гуру
20.07.10
09:12
(11) >>ALL-не флудим
ЩАС!!!
33 lkatl
 
20.07.10
09:13
ну так что мне с этими условиями делать
34 Ненавижу 1С
 
гуру
20.07.10
09:15
(33) пол мужской, фоты нету
низ_ачот!!!
35 Гефест
 
20.07.10
09:16
(34) оленей корми...
36 lkatl
 
20.07.10
09:17
(35) круто
38 Гефест
 
20.07.10
09:19
(36) вот скажи, что тебе будет, если ты не сделаешь эту программу?
39 ДРАКОННИК-2
 
20.07.10
09:19
катько ж ж о т ь...
40 lkatl
 
20.07.10
09:19
(38) не знаю
41 Санта Клаус
 
20.07.10
09:20
(38) стаж на мисте так и останется  - 6 дней
42 lkatl
 
20.07.10
09:20
(41) )))
43 Нуф-Нуф
 
20.07.10
09:22
в мемориз!
44 Гефест
 
20.07.10
09:23
(40) ты выясни. потому что если ты все таки сделаешь так как хочешь - однозначно не поздоровиться
45 1Сергей
 
20.07.10
09:23
и всё-таки, ты Света
46 Санта Клаус
 
20.07.10
09:25
(45) или Иван Иванов (или как то так).
Тоже жог постоянно
47 lkatl
 
20.07.10
09:26
а посмотрите ещё:
функция ИтоговаяСтрока()
   ИтСтр = "Общая сумма к оплате: " + СокрЛ(ФорматС(Итог("Сумма")));
   Возврат ИтСтр;
КонецФункции;
это я сделала итоговую строчку по всей таблице (по столбцу сумма)
Этот итог состоит из суммы двух групп материлы и калькуляция. Каквывести ещё 2 строки по итоговых по этим группам:
Функция ИтогКалькуляция()
ИтКал = "Итого по калькуляции: " + СокрЛ(ФорматС(Итог("Сумма"))); //" + Действие.Родитель.Наименование = "Калькуляция";
Возврат ИтКал;
КонецФункции

Функция ИтогМатериалы()
ИтМат = "Итого по материалам: " + СокрЛ(ФорматС(Итог("Сумма")));//" + Действие.Родитель.Наименование = "Материалы";

возврат ИтМат;
КонецФункции
48 lkatl
 
20.07.10
09:26
(44) я делаю как ОНИ хотят
49 lkatl
 
20.07.10
09:27
(45) почему это
50 lkatl
 
20.07.10
09:27
Катя я,Катя)))
51 Гефест
 
20.07.10
09:28
(48) кто это ОНИ? ОНИ тебя похитили и заставляют одинэсить?
52 lkatl
 
20.07.10
09:29
(51) даааа,инопланетяне((((((((((
53 Гефест
 
20.07.10
09:33
крепись. скоро они тебя назад вернут и выкуп заплатят, чтобы взяли
54 Dmitr
 
20.07.10
09:34
Не без фото тебе однозначно ниче хорошего не подскажут.
55 lkatl
 
20.07.10
09:34
(54) там ест фото))))
56 lkatl
 
20.07.10
09:35
помогите))
57 Mikeware
 
20.07.10
09:36
(53) О'Генри, "Вождь краснокожих"?
58 Dmitr
 
20.07.10
09:38
(47) "Итог" работает по всей колонке. Нельзя посчитать только часть. есть два варианта при заполнении ТЧ сделать еще две колонки и считать их по отдельности ну и второй это при изменении ТЧ пробегаться по ней по всей и пересчитывать
59 lkatl
 
20.07.10
09:39
(58) а вот так нельзя?
Функция ИтогКалькуляция()
ИтКал = "Итого по калькуляции: " + СокрЛ(ФорматС(Итог("Сумма.Родитель.Наименование = "Калькуляция"")));
Возврат ИтКал;
КонецФункции

Функция ИтогМатериалы()
ИтМат = "Итого по материалам: " + СокрЛ(ФорматС(Итог("Сумма.Родитель.Наименование = "Материалы"")));
возврат ИтМат;
КонецФункции

как-то так,только где указать что это из справочника.Процедуры?
60 lkatl
 
20.07.10
09:39
(59) ч налепила сама не знаю
61 lkatl
 
20.07.10
09:40
(58) ну добавлю я 2 колонки ещё.и всё равно,как там писать
62 1Сергей
 
20.07.10
09:40
(59) так нельзя
63 Dmitr
 
20.07.10
09:41
(59) а запустить и попробовать? Что тебе 1С на такое отвечает
64 lkatl
 
20.07.10
09:41
(63) не пробовала.он убьётся сразу))
65 Dmitr
 
20.07.10
09:42
у поля ТЧ "Сумма" нечего брать через точку так что так не пойдет 1С тебя не поймет
66 lkatl
 
20.07.10
09:43
(63) ИтКал = "Итого по калькуляции: " + СокрЛ(ФорматС(Итог("Сумма.Родитель.Наименование = "<<?>>Калькуляция"")));
{Документ.Заказы.Форма.Модуль(71)}: Ожидается символ ')'
ИтКал = "Итого по калькуляции: " + СокрЛ(ФорматС(Итог("Сумма.Родитель.Наименование = "Калькуляция""))<<?>>);
{Документ.Заказы.Форма.Модуль(71)}: Неопознанный оператор
67 zak555
 
20.07.10
09:44
количество в справочнике ещё никто не предложил хранить ?
68 Dmitr
 
20.07.10
09:44
и поверь оно право. "Итог" работает по всей колонке целиком там не предполагается условий
69 Ненавижу 1С
 
гуру
20.07.10
09:45
(0) а че ты на фото такая поддатая вся?
70 lkatl
 
20.07.10
09:46
(69) потому что я в клубе
71 lkatl
 
20.07.10
09:46
(68) тогда делать ещё 2 колонки?
72 Dmitr
 
20.07.10
09:47
Ну да так как бегать по всей ТЧ каждый раз при изменении не оченьто хорошо
73 lkatl
 
20.07.10
09:47
(68) о,а мож не надо колонки.просто в таблицу внизу добавлю 2 строки итоговые и там напищу функцию
74 Ненавижу 1С
 
гуру
20.07.10
09:47
(70) а че муйня на левой лапе нарисована желтым?
ты в клубе 1С-ишь прям? зачёт!
75 lkatl
 
20.07.10
09:48
(73) не,не получится.буду колонки делать
76 lkatl
 
20.07.10
09:48
(74) это свет
77 Dmitr
 
20.07.10
09:49
(75) сама спросила сама ответила прогресс
78 Ненавижу 1С
 
гуру
20.07.10
09:49
(76) не, не фига - тема не раскрыта ни разу, давай ссылку на другие фоты
79 Dmitr
 
20.07.10
09:49
А то я уже хотел посоветовать перекраситься в блондинку дабы не смущать народ
80 lkatl
 
20.07.10
09:53
(79) да мне пофиг)) вопрос: ну сделала я колонки.а функцию терь как изменить
81 Dmitr
 
20.07.10
09:55
(80) а теперь при вводе новой строки и при изменении количества или чены или чего там у тебя еще допиши заполнение этих колонок и будет тебе счастье
82 Ненавижу 1С
 
гуру
20.07.10
09:56
(80) требую раскрытия темы!
83 lkatl
 
20.07.10
10:00
(81) вот так хочу
Функция ИтогКал()
ИтогКалькуляция = Сумма.Родитель.Наименование = "Калькуляция"";
ВозвратИтогКалькуляция;
КонецФункции

Функция ИтогМат()
ИтогМатериалы = Сумма.Родитель.Наименование = "Материалы";
возврат ИтогМатериалы;
КонецФункции
только 1С ругается.он-то не знает что группу материалы нужно брать из справочника Процедуры.вот первый столбик у меня есть,он знает
84 Ненавижу 1С
 
гуру
20.07.10
10:02
(83)

Функция ИтогКал()
Функция ИтогМат()

какая буйная фантазия ))
85 lkatl
 
20.07.10
10:03
(84) да долго писать)) я так и знала что придирётесь))
86 Dmitr
 
20.07.10
10:04
(83) заинтриговала. Счас 77 поставлю проверю коечто.
87 Mikeware
 
20.07.10
10:08
(83) может, вам перестать мучится глупостями, и начать зарабатывать ровно вдвое больше?
88 lkatl
 
20.07.10
10:10
(87) это каким образом
89 Ненавижу 1С
 
гуру
20.07.10
10:13
(88) это не образом, это другими частями тела
90 Dmitr
 
20.07.10
10:13
(88) Ох зря ты это спросила
91 Dmitr
 
20.07.10
10:21
В (83) что то я не понял чего ты там понаписала
92 lkatl
 
20.07.10
10:22
(91) создала колонку, во вкладке дополнительно написала Формула ИтогКал()
описала формулу
Функция ИтогКал()
ИтогКалькуляция = бла-бла-бла;
Возврат ИтогКалькуляция;
КонецФункции
93 lkatl
 
20.07.10
10:23
что написать вместо бла-бла-бла
94 1Сергей
 
20.07.10
10:23
нужно не колонку, а реквизит табличной части
95 zak555
 
20.07.10
10:25
ИтогКалькуляция  = "КатяЛюбит1Са1Снет";
96 lkatl
 
20.07.10
10:25
(94) я так и сделала
97 lkatl
 
20.07.10
10:26
(94) и он у меня называется ИтогКалькуляция
98 Dmitr
 
20.07.10
10:31
(97) Катя посмотри в типовых как сделано заполнение поля сумма. Таким же образом заполняй свои колонки. и потом по ним делай "Итог"
99 1Сергей
 
20.07.10
10:32
(97) теперь тебе нужно в формуле изменения Суммы выполнять следующее
Если действие.ПринадлежитГРуппе(твоягруппаКалькуляции)=1 Тогда
   ИтогКалькуляция = Сумма;
Иначе
   ИтогКалькуляция = 0;
КонецЕсли;

да, и при изменении действия тоже надо это выполнять
100 Ненавижу 1С
 
гуру
20.07.10
10:32
СТО на
101 Deon
 
20.07.10
10:35
Катька симпатичная. Это хорошо.
102 lkatl
 
20.07.10
10:38
(98) там сделано как я делала итоговую сумму.а разделений по группам нет
103 Ненавижу 1С
 
гуру
20.07.10
10:40
+(101) но тема не раскрыта, а жаль ))
104 lkatl
 
20.07.10
10:40
(99) ничё не поняла
105 Deon
 
20.07.10
10:42
(103) Ты уж прям за 6 дней хочешь всё раскрыть. Терпение, всё будет )
106 1Сергей
 
20.07.10
10:43
(104) Кать, ну почитай ты книжку, умоляю
107 zak555
 
20.07.10
10:44
108 lkatl
 
20.07.10
10:44
(106) умоляю,дайте мне её))
109 Ненавижу 1С
 
гуру
20.07.10
10:45
(107) закрыт на работе, дома посмотрю )) а там жена, вот блин
110 zak555
 
20.07.10
10:46
(108) что дать ? СП ?

(109) где-то ещё её сайт был ))
111 1Сергей
 
20.07.10
10:50
112 Deon
 
20.07.10
10:53
(109) Там тема тоже до конца не раскрыта )
113 Ненавижу 1С
 
гуру
20.07.10
10:53
(111) выложите куда нить в другое место
114 Гефест
 
20.07.10
10:55
вроде на майле еще есть, но модераторы адрес не говорят
115 Deon
 
20.07.10
10:55
116 zak555
 
20.07.10
10:57
(114) адрес известен )))
117 Ненавижу 1С
 
гуру
20.07.10
10:58
(115) сенкс ))
118 Гефест
 
20.07.10
10:59
(116) фстудию!
119 lkatl
 
20.07.10
10:59
(111)
я всё про то же
Функция ИтогКалькуляция()
Если действие.ПринадлежитГруппе(Калькуляция)=1 Тогда
   ИтКал = Сумма;
Иначе
   ИтКал = 0;
КонецЕсли;
Возврат ИтКал;
КонецФункции
в скобках где (калькуляция)чё писать нужно
120 1Сергей
 
20.07.10
10:59
(117) ну как, стоит она того, чтобы редактировать ей конфу, не видя самой конфы?
121 Dmitr
 
20.07.10
11:01
Катя опиши структуру ТЧ документа
122 Evgenchik
 
20.07.10
11:01
стоит  :)
123 Dmitr
 
20.07.10
11:02
Помочь конечно можно но вот только как бы взрыв мозга не заработать
124 Ненавижу 1С
 
гуру
20.07.10
11:02
(120) по крайней мере стало значительно радостней ))
125 Ненавижу 1С
 
гуру
20.07.10
11:03
(122) расставляй правильно ударение
126 Evgenchik
 
20.07.10
11:04
(125) я все правильно расставил
127 Гефест
 
20.07.10
11:04
(124) настроение поднялось и уперлось в крышку стола?
128 Evgenchik
 
20.07.10
11:07
кто нибудь знает, в чем надо помочь девушке?
129 lkatl
 
20.07.10
11:07
(121) Реквизиты табличной части:

Наименование (идентификатор Действие тип Справочник.Процедуры)
Количество
Цена
Сумма
ИтогКалькуляция
ИтогМатериалы
130 Гефест
 
20.07.10
11:08
(128) Гусарам молчать?
131 Deon
 
20.07.10
11:09
(130) Ты уже всё сказал в (127) ;)
132 lkatl
 
20.07.10
11:09
Справочник Процедуры содержит эти дурацкие 2 группы материалы и калькуляция
133 Ненавижу 1С
 
гуру
20.07.10
11:09
(127) ну в общем не совсем конечно
134 Ненавижу 1С
 
гуру
20.07.10
11:10
(132) да ладно тебе, тут строить из себя, мы ж уже про другое
135 Aswed
 
20.07.10
11:11
Веселье в самом разгаре!
136 Гость2
 
20.07.10
11:12
(0) КАТЕНОК не гробь базу - пригласите программиста!
137 Deon
 
20.07.10
11:13
(136) Тут столько согласных поработать бесплатно ;)
138 lkatl
 
20.07.10
11:13
(136) )))) я копию сделала
139 1Сергей
 
20.07.10
11:14
(137) меня вычеркните из этого списка
140 Гость2
 
20.07.10
11:14
(137) Где я сказал про деньги?
141 Гость2
 
20.07.10
11:15
(138) У тебя ЛОГИКА в алгаритмах не правильная
142 Dmitr
 
20.07.10
11:16
(129) Ну теперь Делаешь отдельную процедурку типа
Процедура ВычислитьИтог()
Если Действие принадлежит группе Материалы тогда
ИтогМатериалы = Сумма;
Иначе
ИтогКалькуляция = Сумма;
КонецЕсли
КонецПроцедуры

и вызов этой прцедуры вставляешь в процедуры которые вызываются при изменении действия, количества и цены.
143 Ненавижу 1С
 
гуру
20.07.10
11:19
(141) для нее это не самое главное, кстати: алгОритм
144 lkatl
 
20.07.10
11:21
(142) я цену и количество считала отдеьными функциями
145 Гость2
 
20.07.10
11:21
(143) За окном 33градуса   :-((
146 Sabbath
 
20.07.10
11:24
(0) В 7-ке не работал, но уверен, что можно сделать примерно как сделал бы в 8-ке.

Делаешь таблицу значений, например. (где-то в отдельной функции заранее) Туда записываешь свои параметры Действие, Форм, БумагаПл, Количество. Т.е. получается для каждого набора входных параметров Действие, Форм, БумагаПл однозначно соответствует выходное значение - Количество.

Затем при переходе в функцию ПКоличество() ищешь по этой таблице Количество в зависимости от параметров. "Если" вообще не нужно. Подумай над этим. Я бы для 8-ки написал, в 7-ке уже толком синтаксис не помню)
147 Dmitr
 
20.07.10
11:27
Так блин выложи весь код из формы документа
148 lkatl
 
20.07.10
11:28
(146) это очень много перебирать нужно ведь.у меня 7 форматов, дествий 15, бумаги 2, ещё красоность 14
149 lkatl
 
20.07.10
11:28
(147) МНЕ СТЫДНО БУДЕТ
150 Deon
 
20.07.10
11:30
(149) Сфоткайся когда покраснеешь, мы оценим
151 Sabbath
 
20.07.10
11:31
(148) Так в любом случае тебе надо в прописать где-то все эти варианты. Если у тебя 15 действий и т.п., то в две строчки это не сделаешь. Я бы вообще создал регистр, чтобы хранить эти данные. В режиме пользователя занес бы их, в коде вытаскивал в несколько строк
152 lkatl
 
20.07.10
11:32
Перем НомерТекущейФормы;
Перем НачальнаяДатаДокумента;    
Перем ТаблицаПечФорм;
Перем КаталогПечФорм;  

//***************************
Процедура ПриОткрытии()
ПриЗаписиПерепроводить(1);      
глПроверкаРазрешенияРедактирования(Контекст);
Если Форма.ТолькоПросмотр() = 1 Тогда
   Форма.КнопкаОК.Доступность(0);
   Форма.КнопкаЗаписать.Доступность(0);
КонецЕсли;
КонецПроцедуры

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

   Иначе  Цена = 1.92;
   КонецЕсли;  
   возврат Цена;
КонецФункции

Функция ПСумма()    
   Если (СОКРЛП(Действие.Родитель.Наименование)="Материалы типографии")
       Тогда Сумма = Количество * Цена;
   Иначе Сумма = Количество * Цена * 0.15 ;
   КонецЕсли;
   возврат Сумма;
КонецФункции

Функция ИтогМатериалы()
Если Действие принадлежит группе Материалы тогда
ИтМат = Сумма;
Иначе
ИтМат = 0;
КонецЕсли

   
 Функция ИтогКалькуляция()
Если Действие принадлежит группе Калькуляция тогда
ИтКал = Сумма;
Иначе
ИтКал = 0;
КонецЕсли

функция ИтоговаяСтрока()
   ИтСтр = "Общая сумма к оплате: " + СокрЛ(ФорматС(Итог("Сумма")));
   Возврат ИтСтр;
КонецФункции; // ИтоговаяСтрока()



 
   
    Новый = 0;

ТаблицаПечФорм        = СоздатьОбъект("ТаблицаЗначений");
ТаблицаПечФорм.НоваяКолонка("Название","Строка",,,,30);
ТаблицаПечФорм.НоваяКолонка("Файл","Строка",,,"Файл",10);
ТаблицаПечФорм.НоваяКолонка("Кнопка","Строка",,,,10);
ТаблицаПечФорм.НоваяКолонка("ФайлОписания","Строка");
   

ТаблицаПечФорм.НоваяСтрока();
ТаблицаПечФорм.Название     = "Зак";
ТаблицаПечФорм.Кнопка       = "Зак";
153 Ненавижу 1С
 
гуру
20.07.10
11:33
(152) хороший код
154 Sabbath
 
20.07.10
11:33
Дата регистрации:    14.07.2010     Стаж: 6 дней
Сообщений:    208  
Тем:    5  

активно взялась за 1С. Молодец! :)
155 lkatl
 
20.07.10
11:34
БЛИН,Я КУСКАМИ КОПИРОВАЛА. КОНЕЦФУНКЦИИ 2 РАЗА ПРОПУЩЕН.
156 Deon
 
20.07.10
11:35
(155) Не переживай, код и с концом функции не рабочий пока
157 lkatl
 
20.07.10
11:36
(156)вот он там и оугается на эти материалы и калькуляция
а так всё работает,даже формулы считает))
158 Гефест
 
20.07.10
11:37
(155) Ты давай скорее красней и фоткайся
159 Ненавижу 1С
 
гуру
20.07.10
11:38
говорю вам код хороший
160 Гость2
 
20.07.10
11:40
"Если Действие принадлежит группе Калькуляция тогда" - Под столом тесно и ... жарко! Пожалей меняяяяя.....
161 lkatl
 
20.07.10
11:41
(160)слитно писать надо?всё равно не так как-то
162 lkatl
 
20.07.10
11:43
ну а если создать поле текст на форме и там написать формула итогКалькуляция (вместо колонок)
163 Dmitr
 
20.07.10
11:48
Функция ПСумма()    
   Если (СОКРЛП(Действие.Родитель.Наименование)="Материалы типографии") Тогда
       Сумма = Количество * Цена;
       ИтогМатериалы = ЗаполнитьКолонкуИтогМатериалы();
   Иначе
       Сумма = Количество * Цена * 0.15 ;
       ИтогКалькуляция = ЗаполнитКолонкуИтогКалькуляция();  
   КонецЕсли;
   возврат Сумма;
КонецФункции

Функция ЗаполнитьКолонкуИтогМатериалы()
   ИтогМатериалы = Сумма;
   Возврат ИтогМатериалы;
КонецФункции;

Функция ЗаполнитьКолонкуИтогКалькуляция()
   ИтогКалькуляция = Сумма;
   Возврат ИтогКалькуляция;
КонецФункции;


Ну вообщем както так. Поняла?
164 Ненавижу 1С
 
гуру
20.07.10
11:50
(161) ах ты...
165 Deon
 
20.07.10
11:50
(164) ...проказница?
166 Ненавижу 1С
 
гуру
20.07.10
11:51
(165) совсем нас не жалеет
167 lkatl
 
20.07.10
11:56
(163)пишут типа порядок неправильный.
Определения процедур и функций должны размещаться перед операторами основной программы
168 Deon
 
20.07.10
11:59
(167) Поменяй местами функции, которые про заполнить напиши перед ПСумма()
169 Dmitr
 
20.07.10
12:00
(167) а еще лучше убери ";" после слова КонецФункции
170 1Сергей
 
20.07.10
12:00
(167) убери ; после КонецФункции;
171 Dmitr
 
20.07.10
12:00
они там не нужны
172 Ненавижу 1С
 
гуру
20.07.10
12:01
Катя, а вы знаете, что платформа 1С создает базы данных, не выдерживающие ни одно требование нормальных форм?
173 Deon
 
20.07.10
12:02
(!72) форм?
174 Злопчинский
 
20.07.10
12:04
Кто будет после этого чуда возражать на предложение маньяка за 150 в час, а?
175 Mikeware
 
20.07.10
12:10
(174) Не понял, что он ей предлагал за стописят?
176 Гость2
 
20.07.10
12:11
(163) За такой код руки выдергивают
177 Dmitr
 
20.07.10
12:15
(176) верю. Написал так чтоб ей было понятно. Не нравиться напиши как считаешь нужным. Человек попросил помощи а не флуда.
178 Ненавижу 1С
 
гуру
20.07.10
12:16
(177) "а не флуда" - не верю!
179 Deon
 
20.07.10
12:18
(177) Более чем уверен, что Кате льстит наше повышенное мужское внимание
180 Dmitr
 
20.07.10
12:21
Могет быть могет быть
181 Гость2
 
20.07.10
12:21
(177) Рановато тебе еще помощь оказывать. Подучись малек.
182 lkatl
 
20.07.10
12:21
что такое флуд
183 Гость2
 
20.07.10
12:22
(182) Прочти всю ветку.   :-)
184 1Сергей
 
20.07.10
12:24
185 Dmitr
 
20.07.10
12:24
(182) флуд - то что не относиться к теме разговора.
(181) Всегда таким умным был
186 lkatl
 
20.07.10
12:57
я не пойму,всё работает,и итоговые строчки внизу таблицы вставила.но почему-то Калькуляция записывает правильно,в итогКалькуляция. а материалы пишут и в том столбце и в том
187 Dmitr
 
20.07.10
12:58
Код еще раз в студию
188 lkatl
 
20.07.10
13:01
Функция ЗаполнитьКолонкуИтогМатериалы()
 ИтогМатериалы = Сумма;
   Возврат ИтогМатериалы;
КонецФункции
             

Функция ЗаполнитьКолонкуИтогКалькуляция()
   ИтогКалькуляция = Сумма;
   Возврат ИтогКалькуляция;
КонецФункции  
           

  Функция ПСумма()    
   Если (СОКРЛП(Действие.Родитель.Наименование)="Калькуляция") Тогда
       Сумма = Количество * Цена * 0.15 ;
       ИтогКалькуляция = ЗаполнитьКолонкуИтогКалькуляция();  
   Иначе
   Сумма = Количество * Цена;
       ИтогМатериалы = ЗаполнитьКолонкуИтогМатериалы();    
   КонецЕсли;
   возврат Сумма;
КонецФункции    

 
функция ИК()
ИК = "Итого по калькуляции: " + СокрЛ(ФорматС(Итог("ИтогКалькуляция")));
Возврат ИК;
КонецФункции

функция ИМ()
ИМ = "Итого по материалам типографии: " + СокрЛ(ФорматС(Итог("ИтогМатериалы")));
Возврат ИМ;
КонецФункции

    функция ИтоговаяСтрока()
   ИтСтр = "Общая сумма к оплате: " + СокрЛ(ФорматС(Итог("Сумма")));
Возврат ИтСтр;
КонецФункции
189 Гефест
 
20.07.10
13:02
фотку поставь новую
190 lkatl
 
20.07.10
13:03
(189)ды нету у меня
191 Гефест
 
20.07.10
13:03
врать нехорошо
192 Dmitr
 
20.07.10
13:09
ИтогКалькуляция больше нигде не используется?
193 3nt
 
20.07.10
13:10
(190) опять фотку убрала
а еще на что то рассчитывает
не хорош традиции нарушать
194 Dmitr
 
20.07.10
13:11
мдя без фотки не айс. Верни фотку
195 lkatl
 
20.07.10
13:17
(192) нет
196 Гефест
 
20.07.10
13:17
предлагаю бойкотировать ветку пока не будет фотки
197 Vladimirr
 
20.07.10
13:20
(195) Конфронтация ни к чему хорошему не приведет
198 lkatl
 
20.07.10
13:20
(196) )) не надо.я ставю другую,а у меня показывается снова та же
199 lkatl
 
20.07.10
13:20
(197) что это
200 Vladimirr
 
20.07.10
13:21
двести
201 DES
 
20.07.10
13:21
делай как в (0) хотела
202 Dmitr
 
20.07.10
13:21
(195) должно все нормально считаться попробуй в новом документе.
203 Голубушка
 
20.07.10
13:22
угу .. а еще дай фотку директора, главбуха и руководителя проекта этого дурдома.
Кать спроси старших, не думаю что ты там одна :) , ну может такая ты конечно одна , но ведь кто то это до тебя писал.
204 Ненавижу 1С
 
гуру
20.07.10
13:22
(198) не вижу фото!
205 Ненавижу 1С
 
гуру
20.07.10
13:22
(0) нет на тебя Гения 1С!
206 Vladimirr
 
20.07.10
13:23
(199) Нет фотки - нет подсказок
207 Голубушка
 
20.07.10
13:26
Насколько я понимаю это списание материалов в производство (отправка в тираж) и судя по всему у тебя неправильная постановка задачи, по хорошему тебе нужно ввести классификацию а справочнике материалов, чтоб не писать эти безумные выборки.
208 lkatl
 
20.07.10
13:26
(203) они мне сказали,у них никто не разбирается,придётся мне самой. у них тут нет никого.и даже не знаю кто им 1с ставил
209 DES
 
20.07.10
13:27
небойсь еще и за так им делаешь ?
210 Ненавижу 1С
 
гуру
20.07.10
13:27
(208) а кто вообще эти ОНИ?
211 Vladimirr
 
20.07.10
13:28
(210) инопланетяне)))
212 Голубушка
 
20.07.10
13:28
боже бедный ребенок , Катюш напиши мне на почту, я тебе вышлю кое что , немного но хоть что то .
213 lkatl
 
20.07.10
13:28
(207) это им звонят клиенты.а они пишут н бумажке заказ,чё хотят клиенты и тут де рассчитвают калькуляцию и свои материалы.и говорят окончательную сумму клиенту
214 lkatl
 
20.07.10
13:29
(210) ну да
215 lkatl
 
20.07.10
13:29
(210) они- да,инопланетяне
216 Ненавижу 1С
 
гуру
20.07.10
13:30
(213) ох уж эти ОНИ!
а ты работаешь в жалком франчайзи, который обслуживает ИХ?
217 DES
 
20.07.10
13:30
в руки им ексель, а итоги уже в 1с
218 Голубушка
 
20.07.10
13:31
(213) ух ты :) т.е. еще и калькулирование ..т.е. хранение различных видов цен .. Катя напомни это что за конфа? торговля или (о ужас) Бухия ?
219 Ненавижу 1С
 
гуру
20.07.10
13:31
ОНИ = Объекты Неопознанные Инопланетные
220 Ненавижу 1С
 
гуру
20.07.10
13:31
(218) ЗиК
221 Гефест
 
20.07.10
13:31
(212) саботажница... фотки потом нам ты будешь показывать?
222 lkatl
 
20.07.10
13:32
(216) я типа на стажировке.
223 lkatl
 
20.07.10
13:32
только стажировать некому
224 Голубушка
 
20.07.10
13:32
(219) Да хоть кто они , а ребенка жалко
225 lkatl
 
20.07.10
13:33
(218)бухгалтерия.упрощённая система налогообложения. я написала на почту
226 Ненавижу 1С
 
гуру
20.07.10
13:34
(222) кто тебя взял к НИМ?
227 lkatl
 
20.07.10
13:34
(221) они вам так нужны?
228 lkatl
 
20.07.10
13:34
(226) от центра занятости послали
229 Ненавижу 1С
 
гуру
20.07.10
13:34
(227) да, да - и так, и вот так, и в профиль пожалуйста
230 Jstunner
 
20.07.10
13:35
(0) однобитная логика
231 Ненавижу 1С
 
гуру
20.07.10
13:35
(228) долго стажироваться то будешь? может договоришься с НИМИ? ты ничего не ломаешь, они тебе стажировку засчитывают
232 lkatl
 
20.07.10
13:36
(202) чё-т нихрена
233 lkatl
 
20.07.10
13:37
(231)5 месяцев.я б с радостью
234 lkatl
 
20.07.10
13:38
ну так как мне сделать тему? условия
235 Dmitr
 
20.07.10
13:38
(232) отправь мне на почту md
236 Гость2
 
20.07.10
13:41
(235) А кто исправлять будет?
237 lkatl
 
20.07.10
13:42
(236) что исправлять
238 lkatl
 
20.07.10
13:42
(235) сейчас
239 Гость2
 
20.07.10
13:44
(237) После "художеств" Dmitr
240 Голубушка
 
20.07.10
13:45
(239) думаешь после ее ходожеств :) будет намного лучше :)
241 0xFFFFFF
 
20.07.10
13:46
блин, во повеселили :)))
242 Гость2
 
20.07.10
13:46
(240) Она меньше навредит, а он с гонором.   :-))
243 Голубушка
 
20.07.10
13:46
(238)Ты вообще из какого города ? .. может найдешь здесь односельчанина ..
244 Голубушка
 
20.07.10
13:47
(241) а чего ржать то .. всех нас когда то кто то учил .. но не всех так жестоко как котенка плавать
245 Ненавижу 1С
 
гуру
20.07.10
13:48
(243) со Старого Оскола она
246 Голубушка
 
20.07.10
13:48
(245) это где ?
247 Ненавижу 1С
 
гуру
20.07.10
13:48
(244) ты чего так располнела?
248 Ненавижу 1С
 
гуру
20.07.10
13:49
249 Голубушка
 
20.07.10
13:49
(247) ну не знаю :) многим нравиться :)
250 Ненавижу 1С
 
гуру
20.07.10
13:50
(249) в Ростове где живешь?
251 zak555
 
20.07.10
13:50
252 DES
 
20.07.10
13:52
а у самой глаза красныыые....
253 lkatl
 
20.07.10
13:55
(244) у меня не отображается ничё(( неизвестный файл блин
254 Голубушка
 
20.07.10
13:56
Получила почту ?
255 lkatl
 
20.07.10
13:56
помогите с условием и завершаю))
256 lkatl
 
20.07.10
13:56
(254) да
257 Голубушка
 
20.07.10
13:56
(250) в центре , но это не имеет отношения к делу
258 Голубушка
 
20.07.10
13:57
Разархивировала?
259 lkatl
 
20.07.10
13:57
(258) вт он только открывается.
260 0xFFFFFF
 
20.07.10
14:01
(244) "а чего ржать то .. всех нас когда то кто то учил .. но не всех так жестоко как котенка плавать"

Это то да. Только вот обучаемый пытается научиться ни разу не зайдя в воду... Покажите кого так учат, тоже поржу :)))
261 lkatl
 
20.07.10
14:03
(260) да прямо не пытается. вам кажется так.вот оно надо было бы мне
262 1Сергей
 
20.07.10
14:04
(261) поверь, без чтения соотв. литературы, ну никак не научишься
263 Голубушка
 
20.07.10
14:08
(261) файлик открыла ? это и есть соответствующая литература
264 lkatl
 
20.07.10
14:09
(263) да-да, смотрю сиу.спасибки
265 Голубушка
 
20.07.10
14:13
(264) ну этого все равно мало :( .. пришли и мне свой мдешник .. на 1 адрес! писать ничего не буду , но попытаюсь правильно сформировать задание
266 lkatl
 
20.07.10
14:19
(265) отправила.документ заказы
267 trdm
 
20.07.10
14:19
(263) Кроме литературы по 1С я бы порекомендовал автору курс проектирования БД.
Ибо судя по (0) её надо в этом понатаскать. ()
Рекомендую к прочтению:
http://ru.wikipedia.org/wiki/Проектирование_баз_данных
http://ru.wikipedia.org/wiki/Реляционная_модель_данных
http://ru.wikipedia.org/wiki/Нормальная_форма

По тексту в (0)
Вынести в перечисления:
1. Форматы бумаги; (A7-A2) и сопоставить через процедуру и справочник коэффициенты А7->64, А6->32 и т.п.
2. Тип материала: Газетная/Офсетная, так-же сопоставить им коэффициенты 2,5 и 4.
Иначе жуть какая-то получается.
268 Голубушка
 
20.07.10
14:22
(267) вы абсолютно правы :)
269 trdm
 
20.07.10
14:24
+(267) А то чето после прочтения (0) у меня немного крыша поехала.
270 lkatl
 
20.07.10
14:25
(269) ещё бы
271 trdm
 
20.07.10
14:26
(270) Кстати, объясни дураку, как "Картон" может быть "Газетным"?????
272 lkatl
 
20.07.10
14:26
а по ссылкам, это я знаю
273 trdm
 
20.07.10
14:28
(272) Знать мало, необходимо УМЕТЬ ПРИМЕНЯТЬ.
Давай ка так:
1. Эту тему закрываем.
2. Заводи новую тему, где:
2.1 Человеческим языком объясняешь чего хочешь получить.
2.2 Приводишь структуру данных имеющихся у тебя объектов.
274 lkatl
 
20.07.10
14:28
(271)да откуда я знаю. у них так написано.там не все поля заполняться будут. а только те,которые нужны.например если закажут книгу - нужен картон,если какой-нить бланк-бумага
275 lkatl
 
20.07.10
14:29
(273) хорошо
276 trdm
 
20.07.10
14:30
(274) Думаю в результате у тебя получится нечто вроде ПУБ
277 trdm
 
20.07.10
14:31
2ALL а на инфостарте или где еще нет конфы типография?
278 lkatl
 
20.07.10
14:33
(277) что?
279 trdm
 
20.07.10
14:35
(278) 2ALL - расшифровка
"2" - "to" - б) значение направления в какую-л. сторону к, на (англ)
"ALL" - все.
2ALL - обращение ко всем соучастникам форума.
280 lkatl
 
20.07.10
14:36
ааааа
281 trdm
 
20.07.10
14:38
бэээээ
282 1Сергей
 
20.07.10
14:57
вээээ
283 lkatl
 
20.07.10
15:24
куда там картинки выкинуть можно?
284 lkatl
 
20.07.10
15:25
вы мне как-то сслку кидали.я туда загружу свою форму
285 lkatl
 
20.07.10
15:50
286 lkatl
 
21.07.10
09:52
ребятаааааа,ну помогите с этими условиями.я знаю как надоела вам))) чё делать,перечисления или таблицу значений?
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.