Имя: Пароль:
1C
1С v8
Зачем так пишут типовые?
,
0 acsent
 
03.12.12
16:21
Это просто ППЦ. Хотел выяснить откуда берется организация в справочнике сотрудники в БП 30 в форме элемента.
15 (ПЯТНАДЦАТЬ) вложенных процедур. УЖАС
1 pumbaEO
 
03.12.12
16:22
БСП открой сначало, а потом утверждай что 15 вызовов - это много.
2 IamAlexy
 
03.12.12
16:22
это повышают входной уровень в профессию...

нетерпеливые и невнимательные  идут лесом программировать 7ку, си и прочие абапы...
3 Undefined vs NULL
 
03.12.12
16:22
это они имитируют ООП
4 Fragster
 
гуру
03.12.12
16:22
и что?
5 acsent
 
03.12.12
16:23
(4) Жесть какая то? Как так можно то? Я в шоке
6 ОбычныйЧеловек
 
03.12.12
16:23
(0) Чем сложнее\мудрее они пишут - тем дольше ты не останешься без работы.
7 Господин ПЖ
 
03.12.12
16:24
гы...

ты еще спроси зачем пишут

если имятабличнойчасти = "..." тогда

в общих модулях
8 kotletka
 
03.12.12
16:24
(5)свой код для сравнения выкладывать будешь?
9 Господин ПЖ
 
03.12.12
16:25
(3) ага... когда коллекция движений заполняется где-то в 10-ом по стеку вызовов общем модуле - это очень удобно и прозрачно
10 DGorgoN
 
03.12.12
16:25
Стандартное: "заведи себе".. (с) народ
А так - ну они тоже люди.. Их там куча - каждый спихивает работу друг на друга.
11 pumbaEO
 
03.12.12
16:26
Прошу прощения за (1) , ППЦ прочитал как УПП...

(5) А в чем проблема? Открыл 3 конфигуратора, запустил глобальный поиск, пока там ищет перешел на новое определения, еще в другом запустил поиск и т.д.
Смотришь и наслаждаешься.
12 sapphire
 
03.12.12
16:28
(0) Толик, потому что те, кто пишут типовые понятия не имеют о том, как работает платформа.
13 Lys
 
03.12.12
16:28
Прежде чем на чужие программы ругаться - нужно правильно с ними научиться обращаться!

(цы) самизнаетеоткуда
14 Feanorko
 
03.12.12
16:29
(12) и только истинные одинесники знают, как работает платформа, но уже поздно? :)
15 acsent
 
03.12.12
16:31
1С: У нас не будет ООП, ибо это слишком сложно. Но мы сделаем его эмуляцию на общих модулях - чтоб вы вообще ничего не поняли
16 acsent
 
03.12.12
16:33
Причем вызовы такие: Процедура вызывает точно такую же но в другом модуле и так 3 раза
17 ОбычныйЧеловек
 
03.12.12
16:35
(16) Если, что-то не нравится - перепиши.
18 Новиков
 
03.12.12
16:41
Предвкушаю восторги автора от:
1. подсистемы БСП Печать
2. Online обмена.
19 acsent
 
03.12.12
16:44
(18) печать более почеловечески сделана, по крайней мере в ранних ут было так
20 Новиков
 
03.12.12
16:46
(19) неожиданно. Для саморазвития: а что в последних УТ и БП подсистема печати БСП разнятся? :)
21 acsent
 
03.12.12
16:49
(20) пока в бп 3 далеко не лез
22 Новиков
 
03.12.12
16:49
я только увидел что онлайн обмен разнится. И самое главное, вот попытался представить: сидят тетки-методисты, и мужики-методологи. Думают. Типа мозговой штурм. Название команды: обмен данными. Зачем менять название на Синхронизация данных? Зачем менять все иконки на панельках? Во всех типовых оно одинаково, в БП же выделили в последнем релизе :) Не - без претензии, просто хочется понять, что движет людями.
23 Новиков
 
03.12.12
16:49
(21) идентичны они. Один в один.
24 Hmster
 
03.12.12
16:53
людями движет жажда показать что процесс идет. люди деньги зарабатывают
25 Команданте
 
03.12.12
16:56
формализуй схематично их модель и предложи свою
докажи, что их нормализация избыточна
26 Новиков
 
03.12.12
16:57
(25) да нормально там все. К БСП нужно просто привыкнуть и прочувствовать ее красотульку своими фибрами :) Через пару месяцев, на такие углубленья не обращаешь внимания.
27 Команданте
 
03.12.12
16:58
то, что типовые это зло, это понятно без сомнения
это не оспаривается
28 Команданте
 
03.12.12
17:00
вроде, такая тема уже была
29 Команданте
 
03.12.12
17:01
вот
v8: Почему в типовых конфах плохой код
судя по голосовалке, народ не разделил мнения автора
30 acsent
 
03.12.12
17:01
(25) см (16)
31 acsent
 
03.12.12
17:02
Код не то что бы плохой. Увлеклись вложенностью процедур слишком сильно
32 Новиков
 
03.12.12
17:05
Да видимо, всякие контексты исполнения, там заруливают + унификация. В любом случае, если смотреть сухой ИТОГО стало лучше в разы :)
33 Команданте
 
03.12.12
17:06
имхо, это человеческий фактор
если бы программы было так легко писать, красноглазики давно бы написали супер бесплатную учётку
возможно, можно, и даже нужно писать блестящий код, поражающий своей красотой и объектностью, но сделать это в реальности это нужно иметь железные нервы, высочайший уровень абстракции, и гигантскую работоспособность, не говоря уже о персонале
34 Stim
 
03.12.12
17:10
одинесники делятся на 2 типа:
- те, которые видят косяки разработчиков типовых и не боятся говорить об этом
- и те, которые эти косяки называют фичей и всячески защищают разработчиков
35 МишКа
 
03.12.12
17:10
(0) Они не специально. Так получилось.
36 acsent
 
03.12.12
17:10

Процедура СотрудникиПриЧтенииНаСервере(Форма, ТекущийОбъект) Экспорт
   СотрудникиВнутренний.СотрудникиПриЧтенииНаСервере(Форма, ТекущийОбъект);    Форма.ФизическоеЛицоСсылка = ТекущийОбъект.ФизическоеЛицо;
КонецПроцедуры

37 acsent
 
03.12.12
17:11

Процедура СотрудникиПриЧтенииНаСервере(Форма, ТекущийОбъект) Экспорт
   СотрудникиБазовый.СотрудникиПриЧтенииНаСервере(Форма, ТекущийОбъект);
КонецПроцедуры

Процедура СотрудникиПриЧтенииНаСервере(Форма, ТекущийОбъект) Экспорт
// здесь уже код
КонецПроцедуры
38 Команданте
 
03.12.12
17:12
это псевдо реализация вызова виртуального метода
39 acsent
 
03.12.12
17:12
т.е три модуля
СотрудникиФорма
СотрудникиБазовый
СотрудникиВнутренний
40 Команданте
 
03.12.12
17:12
в обычной ооп среде можно было бы один раз вызвать функцию наследуемую от базового класса
здесь же приходится вызывать их явно
41 Stim
 
03.12.12
17:13
(39) это в БП 3.0 все?
42 Buster007
 
03.12.12
17:13
посмотрел получение Организации.
+1 к автору.
43 acsent
 
03.12.12
17:14
(41) Конечно, но на это только начало. Потом переходит в Кадровый учет, тоже 3 модуля.
Причем это вызывается все по кругу 2 раза
44 acsent
 
03.12.12
17:14
45 acsent
 
03.12.12
17:16
И чтоб еще запутать дело по ходу выполнения создаетя несколько временных таблиц
46 Команданте
 
03.12.12
17:16
про запросы в зупе ещё не говорили....
47 Stim
 
03.12.12
17:18
(43) ну прикольно, чтож. а то что номер при смене даты(периодичность) или при смене организации в документе не меняется - на это видно у них времени не хватило.
зато от избытка усердия переименовали зачем некоторые объекты. например, ФИОФизЛиц и РегистрацияВИФНС. 100 лет были нормальные названия, в 3.0 решили их поменять. Зачем спрашивается
48 H A D G E H O G s
 
03.12.12
17:18
(12) Бред.
49 H A D G E H O G s
 
03.12.12
17:22
Не встречал быдлокода в типовых.
Сложновычурного кода - дофига.
Ошибки - бывают.
Быдлокода - нет.
50 ptiz
 
03.12.12
17:32
Когда после 7.7 начинал изучать восьмерку, долго прийти в себя не мог от тройной вложенности алгоритмов формирования движений (в 7.7 всё прозрачно было - прямо в модуле проведения).
Сейчас еще круче становится :)
51 Hmster
 
03.12.12
17:39
как правило возможность обратно пропорциональна простоте.
+ групповая разработка
+ как правило пишут так чтобы потом изменения проще было вносить.

Как правило код кажется излишне монструозным если не понимаешь механизм, да и со временем начинаешь очень быстро ориентироваться
52 Serg_1960
 
03.12.12
17:46
Хех... насчет кто круче, ЬСП и "ППЦ - прочитал как УПП":

Типовая УПП, модули ЗаполнениеДокументов, ЗаполнениеДокументовПереопределяемый и ЗарплатаКВыплатеПереопределяемый - тоже содержат процедуры и функции с одинаковым наименование.

Да и вообще - все модуля "...Переопределяемый" этим грешат.

"1С:Севместимо" :)
53 pumbaEO
 
03.12.12
17:47
(52) Не путай УПП в которое добавили БСП 1.x и УПП которое еще было без БСП.
54 Новиков
 
03.12.12
17:51
(53) для саморазвития: а какая щас версия БСП в УПП последней 1.3?
55 mehfk
 
03.12.12
17:54
(54) Выкидыш БСП. Х.з. какой версии.
56 pumbaEO
 
03.12.12
18:07
(54) В Украинской УПП,  БСП версии 1.1 .
57 Sedoy
 
03.12.12
18:15
Просто оплата сдельная ... попроцедурная
58 zva
 
03.12.12
19:17
(49) А это к какой категории отностся?
Есть в типовой ЗУП и УПП, наткнулся случайно, когда деление на 0 выдало:
ПредыдущийРазмер = 0;
   Для каждого СтрокаТЗ Из ТаблицаИндексации Цикл
       Если СтрокаТЗ.Период >= ДатаНачалаИндексации Тогда
           НоваяСтрока = Индексации.Добавить();
           НоваяСтрока.Период = СтрокаТЗ.Период;
           НоваяСтрока.Процент = Окр((СтрокаТЗ.Размер - ПредыдущийРазмер)/ПредыдущийРазмер * 100,3);
       КонецЕсли;
       ПредыдущийРазмер = СтрокаТЗ.Размер;
   КонецЦикла;
59 crazy_killer
 
03.12.12
19:39
>> ППЦ прочитал как УПП...

:)
60 МихаилМ
 
03.12.12
19:53
это нормально.
интел амд и цайрих пришлось делать отимицацию  конвеера процессора
из-за того что уровень вложенности вызовов был 20-40
доходил до 200
61 i-rek
 
03.12.12
20:24
Ну в принципе больше вложенных вызовов - больше возможностей воткнуть свою компактную вставку кода поблизости от объявления процедуры (так лучше видно в сравнении-объединении), с меньшей вероятностью что поставщик тоже здесь что-то поменяет, а значит проще для обновлений
62 H A D G E H O G s
 
03.12.12
20:30
(60) О чем вы ОПЯТЬ?
63 i-rek
 
03.12.12
20:35
да и вообще, раз "гранула" сравнения-объединения это процедура, то дробление процедур это несомненное благо

А вот за новые внешние обработки им по голове настучать надо.
Раньше можно было просто сесть за комп и по памяти накидать внешнюю обработку.
Щас - хрен