Имя: Пароль:
1C
 
Рефакторинг релизов от 1С. Гуляющие функции.
0 Beduin
 
19.02.21
17:01
В универе еще постоянно тыкали носом. Проектируйте так, чтобы потом функции классов не пришлось переносить. На то, что вы сделаете будет ссылаться возможно куча решений.
Обновляем бухгалтерию 3.0. Есть обработка штрих-код выводит. Чтобы велосипед не изобретать взяли типовую функцию из общих.
Это изменение за последние полгода функций подключения в типовой.
//ВКбазис = МенеджерОборудованияВызовСервера.ПодключитьВнешнююКомпонентуПечатиШтрихкода(); // Соловьев 16 сентября 2020
//ВКбазис = ГенерацияШтрихКодаВызовСервера.ПодключитьКомпонентуГенерацииИзображенияШтрихкода(); //Соловьев 30 января 2021
ВКбазис = ГенерацияШтрихКода.ПодключитьКомпонентуГенерацииИзображенияШтрихкода();

Может это какие-то технологии новые, так разработку вести? Зачем это перекидывание туда-сюда.
1 Малыш Джон
 
19.02.21
17:03
Судя по всему - это базис)
2 Малыш Джон
 
19.02.21
17:03
франч, в смысле
3 Beduin
 
19.02.21
17:05
(1)(2) Не. Это функции из типовой бухгалтерии. Последние релизы.
4 Beduin
 
19.02.21
17:05
Чтобы понятнее стало.
Вот эти две за последние полгода исчезли.
//ВКбазис = МенеджерОборудованияВызовСервера.ПодключитьВнешнююКомпонентуПечатиШтрихкода(); // Соловьев 16 сентября 2020
//ВКбазис = ГенерацияШтрихКодаВызовСервера.ПодключитьКомпонентуГенерацииИзображенияШтрихкода(); //Соловьев 30 января 2021
5 Garykom
 
гуру
19.02.21
17:06
(3) Это совместная разработка через EDT/Git команды из пары десятков "разработчиков" в фирме 1С
6 Garykom
 
гуру
19.02.21
17:09
Кста раз в три месяца меняется это еще нормально, разработки многих франчей/проектных офисов там каждый спринт все переписывают к херам ибо когда первый раз писали не подумали о будущем а уяк-уяк - на тесты - если прошло то в мастер
И каждый спринт - "никогда не было и вот опять"
7 ДенисЧ
 
19.02.21
17:10
А кто сказал, что типовые конфигурации нацелены на их программную доработку? )))
8 Beduin
 
19.02.21
17:12
(7) Да я как бы без претензий. Недокументировано же. Они сами не устают их там переписывать постоянно.
9 Garykom
 
гуру
19.02.21
17:19
(8) Не волнуйся - там разные люди переписывают так что не устают
10 Dmitrii
 
гуру
19.02.21
17:19
(0) >> Зачем это перекидывание туда-сюда.

Специально для вас разработчики публикуют список версий стандартных библиотек, используемых в каждом конкретном релизе конфигурации (в вашем случае - в БП).
И ещё специально для вас к каждой новой версии библиотеки публикую список изменений и список действий, который необходимо выполнить разработчику при переходе с одной версии библиотеки на другую. Например, какие процедуры и функции устарели и куда были перенесены или какими процедурами и функциями были заменены (а иногда даже - зачем и для чего это сделано). А так же перечень тех устаревших процедур и функций, оставленных для совместимости, которые наконец-то были удалены полностью. А для совместимости устаревшие процедуры и функции держат иногда и по целому году.

Но вы ведь не читаете всё что пишет 1С. В течении года минутки свободной вообще ведь нету.

Зачем это чтение туда-сюда?
11 Dmitrii
 
гуру
19.02.21
17:20
(8) >> Недокументировано же.

Не звиздите. Пример, приведенный в (0), документирован.
12 Aleksey
 
19.02.21
17:21
(8) ты че, им за это премию дают. Представь все отлажено и работает, ничего нового придумывать не надо, поменял название и пошел за премией
13 Garykom
 
гуру
19.02.21
17:22
(10) в курсе что такое "Консультант плюс" и какую роль он играет чтобы из

"2) в пункте 2 статьи 4 слова "соответствующим органом местного самоуправления" заменить словами "органами службы занятости";"

сделать единый удобочитаемый в любом момент документ

вместо вот этих всех "публикую список изменений и список действий"
14 Fragster
 
гуру
19.02.21
17:22
ну вообще скорее всего из-за стандартов разработки
15 Beduin
 
19.02.21
17:23
(10) Ты считаешь нормальным каждые три месяца функцию по общим модулям перекидывать и потом документировать еще это?
16 Fragster
 
гуру
19.02.21
17:23
(13) я всегда говорил, что законодательство надо читать в гите + чтобы в гит блейм было видно поименно, кто голосовал за, кто против, кто разрабатывал закон/доработку
17 Fragster
 
гуру
19.02.21
17:26
(15) ну они там за последние пол года сильно подняли версию БСП и БПО
18 Beduin
 
19.02.21
17:28
(17) Полгода. Ага. Сколько помню после обновления, процентов 30% функций отлетало, которые из этих библиотек забирали.
19 acht
 
19.02.21
17:29
(0) В какой области этот код - в ПрограммныйИнтерфейс или СлужебныйПрограммныйИнтерфейс?
20 Beduin
 
19.02.21
17:33
(19) Вот так было
МенеджерОборудованияВызовСервера.ПодключитьВнешнююКомпонентуПечатиШтрихкода(); Программный
ГенерацияШтрихКодаВызовСервера.ПодключитьКомпонентуГенерацииИзображенияШтрихкода(); Служебный
ГенерацияШтрихКода.ПодключитьКомпонентуГенерацииИзображенияШтрихкода(); Служебный
21 acht
 
19.02.21
17:41
(20) Первая это похоже из БПО, надо документацию по обновлению читать - там пишется, что куда перенесли.
А вот две вторых - это "приватный" интерфейс. То что на него заложились - ССЗБ. 1С так "public" и "private" у себя делает. В стандаратах разработки отражено: https://its.1c.ru/db/v8std#content:455:hdoc

    Раздел «Программный интерфейс» содержит экспортные процедуры и функции, предназначенные
    для использования другими объектами конфигурации или другими программами (например,
    через внешнее соединение).
    Раздел «Служебный программный интерфейс»  предназначен для модулей, которые являются
    частью некоторой функциональной подсистемы. В нем должны быть размещены экспортные
    процедуры и функции, которые допустимо вызывать только из других функциональных
    подсистем этой же библиотеки.

Читайте документацию, и не отставайте от жизни. А если уж отстали - нехер ворчать.
22 Dmitrii
 
гуру
19.02.21
17:45
(15) >> Ты считаешь нормальным каждые три месяца функцию по общим модулям перекидывать и потом документировать еще это?

Я считаю нормальным читать документацию и описания изменений в версии, на которую делается обновление.

Вопрос переноса функций из модуля в модуль описан в документации - зачем это сделано.
В вашем случае:
Функционал генерации изображений штрихкода выделены в отдельную подсистему «ГенерацияШтрихкода».
https://dl04.1c.ru/content/CEL/2_1_4_14/news.htm

Естественно, что при создании (выделении) новой подсистемы значительная часть кода будет переопределена.
Само создание (выделение) подсистемы так же было сделано не от безделья или со скуки.
Авторы библиотек прекрасно осознают, что каждое очередное внесённое ими изменение придётся отрабатывать разработчиком каждого из прикладных решений самой 1С. И разработчики БП, ERP, ЗУП и прочих конфигураций наверняка высказывают своё мнение по этому вопросу авторам библиотек.

PS Ни разу не пытаюсь оправдывать 1С-ников.
Но и перекладывать с больной головы на здоровую тоже не верно.
Это чистой воды ваш косяк - не отслеживать изменения в тех стандартных библиотеках, которые вы используете в своих разработках.
23 acht
 
19.02.21
17:46
Ну вот, в (21) и (22) исчерпывающий диагноз.
24 fisher
 
19.02.21
17:50
(22) Просто многие, слыша слово "библиотека", подсознательно надеются на какую-то обратную совместимость. 1С быстро выбивает из головы эту дурь.
25 Beduin
 
19.02.21
17:51
(21)(22) У меня был вопрос, зачем в ваших этих суррогатных пабликах и приватах постоянно переименовывать экспортные функции.
За развернутые ответы спасибо.
26 fisher
 
19.02.21
17:53
Я как-то имел неосторожность запилить на инфостарт обработочку, с минимальным использованием публичного апи из базовой функциональности БСП. После третьей переделки я постиг дзен.
27 Fragster
 
гуру
19.02.21
17:53
так в приватах пусть хоть каждый релиз переименовывают
28 Fragster
 
гуру
19.02.21
17:54
(26) ну с областью "программный интерфейс" все не так плохо. ломается только при изменении второй цифры, да и то далеко не всегда. при изменении первой цифры (2->3) да, многое поехало
29 Вафель
 
19.02.21
17:55
почему?
потому что могут
30 fisher
 
19.02.21
17:55
Хотя вру. Тогда кажись на ИТС еще даже не было раздела "Программный интерфейс"
31 Dmitrii
 
гуру
19.02.21
17:56
(24) >>  слыша слово "библиотека", подсознательно надеются на какую-то обратную совместимость.

Справедливости ради, надо сказать, что 1С-ники ещё подолгу оставляют неиспользуемые процедуры и функции для совместимости. И в комментариях к ним указывают, что конкретная процедура не используется и оставлена для совместимости и какую процедуру следует вызывать вместо этой.
32 fisher
 
19.02.21
17:57
(28) Ломаться при изменении второй цифры ты называешь "все не так плохо"? Как по мне, проще тогда вообще либо не юзать, либо инкапсулировать.
33 Fragster
 
гуру
19.02.21
17:57
(30) ну там в комментах к ОМ написано было
34 Вафель
 
19.02.21
17:58
(31) всякую лабуду оставляют, а используемы фунции нет
35 fisher
 
19.02.21
18:01
(31) Да-да. Правой рукой боятся мусор удалять, а левой одновременно перекраивают что-то вдоль и поперек. Причем вообще не напрягаясь. Подправить название и перенести в другой модуль? Подержи мое пиво.
Я не к тому, что это плохо. Это позволяет вообще не иметь легаси. Но весьма неожиданно для многих. Использовать БСП как внешнюю зависимость для универсальных инструментов попросту противопоказано.
36 Dmitrii
 
гуру
19.02.21
18:10
(35) > Использовать БСП как внешнюю зависимость для универсальных инструментов попросту противопоказано.

C этим не поспоришь.
Либо не использовать.
Либо будь любезен - контролируй совместимость с конкретными версиями библиотек и публикуй эту информацию для каждого своего релиза и актуализируй эту совместимость. Но это уже разработка несколько другого уровня.
Поэтому приходится выбирать - либо писать свой велосипед, либо задействовать велосипед от БСП, помня, что в нём в любой момент могут поменять местами руль и седло.
37 fisher
 
19.02.21
18:15
(36) Когда-то наталкивался на инфостарте на прикольную технологию инкапсуляции функциональности БСП в обработках. Но хоть убей не вспомню подробности, а найти не получается. Там с минимальными доработками код, использующий БСП, можно было перенаправить на инкапсулированные общие модуля. В макетах, что ли... А теперь вот не могу сообразить, как именно это у чувака получалось.
38 Beduin
 
19.02.21
18:17
(36) Так эти конюхи прежде всего сами себе работу создают. Одинесников, чтобы удивить это надо, чтобы типовая база при типовом обновлении падала без возможности восстановления кроме бекапа.
39 Beduin
 
19.02.21
18:21
У меня только одна версия. Какая-то премиальная часть завязана на объем изменений в библиотеках. Слишком мало если, то доп.касты обнуляются.
40 timurhv
 
19.02.21
18:23
(31) Ну так пускай добавят проверку на уровне платформы обращение к этим функциям и процедурам. Неужели при каждом обновлении БСП будешь сидеть и проверять комментарии в используемых типовых модулях?
41 Вафель
 
19.02.21
18:24
только не понятно, ты же вроде по 500к на андроидах поднимаешь.
зачем тв с бспшками мучаешься?
42 Beduin
 
19.02.21
18:32
(41) Так я писал, что с 1С где-то четверть заработка. Оставил только знакомых. Но каждые два-три месяца постоянно пытаются работу подкинуть. Я отказываюсь. До сих пор непонятно, почему столько задач по 1С и всем надо.
43 Beduin
 
19.02.21
18:34
(41) На андроиде кстати, приложения написанное под первую версию, до сих пор запускается под последнюю. Вот это совместимость) Про винду сами знаете, они тянут чуть ли не с 80-х...
44 acht
 
19.02.21
18:40
(43) А наша дума под андроид и под винду законы еще не пишет? Какой недостаток.
45 acht
 
19.02.21
18:42
(40) > пускай добавят проверку на уровне платформы
Я так понимаю, на пртнерском ты это уже предлага и тебе сказали: "Иди на... мисту"?
46 acht
 
19.02.21
18:43
(40) > при каждом обновлении БСП будешь сидеть и
Читать документацию на обновленную версию.
47 Beduin
 
19.02.21
18:44
(44) Под андроид и хлеще было. У них вон джаву забрали. И ничего... Так, что законы это не оправдание.
48 Garykom
 
гуру
19.02.21
18:44
(43) Мобильное приложение от 1С нифига на андроиде старых версий не запускается
49 Garykom
 
гуру
19.02.21
18:45
(43) И да такую чушь спороть про "На андроиде кстати, приложения написанное под первую версию, до сих пор запускается под последнюю" мог только кто совершенно не писал под андроид
50 Beduin
 
19.02.21
18:58
(48)(49) А при чем здесь приложение от 1С? Я про собранные на андроиде писал. У меня на телефоне до сих разработки из начала 10-х годов запускаются.
51 timurhv
 
19.02.21
19:04
(45) Я им ничего предлагать не собираюсь, им пишешь об критических ошибках платформы как в черную дыру. Ни ответа, ни привета. На просьбы партнеров кладут болт, только и видишь как поднимают ветки каждые полгода на протяжении 4 лет, притом критические ошибки работы.
(46) Кто будет читать? Почему бы эти проверки не добавить в обработку "Проверка внедрения БСП", а не заниматься жопоприкрывательством из разряда "ну мы в описании обновления же написали".
52 Злопчинский
 
19.02.21
19:32
(0) "Проектируйте так, чтобы потом функции классов не пришлось переносить. "
- это для классичтеской схемы - сделать продукт. точ то сейчас - делеется процесс и за это взимаются деньги.
53 Garykom
 
гуру
19.02.21
19:32
(50) чего "про собранные на андроиде" ?
чем ты на андроиде умудрялся "собирать"? может все же под андроид?
и да там были попытки совместимости (бинарники нифига не совместимы разных отличающихся версий) для java с обертками только оно с 1-й на 10-ю нифига не пашет, там соседние версии только частично совместимы если не используют что то платформозависимое сильно
54 Garykom
 
гуру
19.02.21
19:34
(53)+ А МП или МК от 1С привел как пример приложений нативных под андроид, которые нифига не пашут на иных версиях
И даже если и пашут то конфы на них прикольно глючат
55 Злопчинский
 
19.02.21
19:36
(0) нормальная разработка. показывает что народ пилит продукт ПО МЕСТУ. без проработки архитектуры, схем. деталей. то есть КОСТЫЛИ. пусть и промышленные. Костыли. такие же как у меня. я за месяц уже третий раз перефакторил кучу кода. И только что-то стало ПРИБЛИЖАТЬСЯ к тому как должно быть. Ибо прототипирование нормальное - это вам не херня. На херню много времени не надо. херак-херак и в продакшен. а на хоршие вещи - время надо. А время - деньги. вы много видели бузинесменов кто осознано снижает свой доход сейчас за непонятного журавля завтра? я- в моих ипенях - таких не вижу. все рубят "по месту". горизонт планирования - 1-2 месяца, все что дальше - как-нибудь.. типа так... все округло и серо.
Почему в бизнесе по разработке ПО должно быть иначе?
56 d4rkmesa
 
19.02.21
20:53
(10) Да что вы говорите. ) Я погуглил по ИТС, как правило, если чего-то нет - значит это непубличный программный интерфейс. Да, 1С Софт многое чего использует, для своих внутренних целей, есть у них что-то вроде БСП, но не для публики. И, кому непонятно, иногда "поясняют" как в (0), что это именно непубличный интерфейс, даже не думайте использовать экспортные функции, описания которых нет на ИТС - перепишут 100% через несколько релизов. Как те же счета номенклатуры в БП3.
57 d4rkmesa
 
19.02.21
20:57
(0) 1-я строка (закомментированная) вроде из БПО, остальные - хз. Там точно все настолько радикально изменилось? Могли просто сделать экспортную функцию неэкспортной. Но, вместо исправления на служебную функцию, может, имело смысл свой "велосипед" написать.
58 Beduin
 
19.02.21
21:06
(56)(57) Так я понимаю, что на свой страх и риск использовал данный функционал. Вопрос то был, зачем их перекидывать постоянно. Закрытые или открытые.
Он так и звучит "Может это какие-то технологии новые?"
Я когда учился, то проектировали библиотеки и чтобы какую-то функции из dll выпилить это целая история была. А тут они в каждом релизе гуляют. Возможно новый подход, который при таких переименованиях не несет нагрузки или дает какие-то преимущества. А меня закидали тапками, что не читаю документацию БСП каждого релиза.
59 Beduin
 
19.02.21
21:14
(53) Ты хотя бы понимаешь, что такое приложение под Android?
Это упакованный файл, в котором скомпилирован код твоей программы вместе с ресурсами для использования на какой-то версии SDK. И совместимость этих SDK идет снизу вверх.
Любое приложение написанное под старую версию должно гарантированно запускаться на более высокой. При чем при разработке есть минимальная версия под которую необходимо, чтобы запускалось приложение.
Если кто-то пишет используя БСП от 1С, то все вызовы функций с теми же сигнатурами должны сохраниться в более высокой. Иначе разработчикам потребуется заново переписывать свою программу под каждую версию БСП.
Гранит, отходить от которого разработчикам библиотек категорически нельзя.
60 Garykom
 
гуру
19.02.21
21:40
(59) https://coderoad.ru/13719884/Совместимость-Android-приложений-между-различными-версиями-Android
https://developer.android.com/training/basics/supporting-devices/platforms.html
и еще куча инфы

Да есть стандартная библиотека для совместимости, да можно теоретически собрать один apk под разные версии (в некоем диапазоне) андроид
Только один хер на более новой оно сглючит

И если ты про это нн в курсе, то херовый из тебя "разработчик под андроид"!
61 Garykom
 
гуру
19.02.21
21:41
(59) И приложения под андроид я писал начиная с андроид версии 1.6
Тогда еще андроид студии не было, юзал любимый netbeans
62 Garykom
 
гуру
19.02.21
21:43
(61)+ точнее сначала Eclipse а потом как плагин под NetBeans появился то его ибо Эклипс дико тормозной был
63 Beduin
 
19.02.21
22:18
(60) Сравнить перекидывание функции с одной библиотеки в другую и необходимость писать в отдельный поток сложные вычисления, чтобы у тебя основное UI не рухнуло это немного разные категории)
64 acht
 
20.02.21
00:24
(58) > чтобы какую-то функции из dll выпилить
Это как раз и есть публичный интерфейс. Не убивай веру в то, что ты под андроид пишешь, пожалуйста.
65 Beduin
 
20.02.21
03:02
(64) Да не пишу я хорошо. Вообще к ИТ отношения не имею.
Мне на простой вопрос ответь. Делаешь публичный интерфейс. Говоришь всем, что можно его использовать. а потом в каждом релизе кучу вызовов перекраиваешь. Это как называется?
66 dmpl
 
20.02.21
08:20
(0) Чтобы выполнять KPI по количеству изменений.
67 dmpl
 
20.02.21
08:22
(7) Во-во, не надо пользоваться БСП. Лучше свой правильный велосипед сделать.
68 Масянька
 
20.02.21
08:27
(65) Вредительство.
69 Масянька
 
20.02.21
08:29
+ (68) Причем, с точки зрения конечного пользователя (хотя, кто спрашивал?) - бесконечная оплата одной доработки.
70 vde69
 
20.02.21
08:41
(65) публичный интерфейс это внутри «Программный интерфейс» или в модулях которые заканчиваются на "Переопределяемый"

Все остальное это "приватныое"
71 vde69
 
20.02.21
08:47
2013 год
http://catalog.mista.ru/1c/articles/190375/


---------------------------------------------------------------------------
Что можно сделать:

1. Кесарю - кесарево, то есть вернуть БСП более логичное назначение, а именно не пытаться в нее впихнуть конкретику ведения учета, а сделать разделение на ДВЕ системы.

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

б. Библиотеки прикладных подсистем - библиотеки реализующие конкретную бизнес логику, вот именно тут и раздолье для самописок и отраслевых решений.

------------------------------------------------
72 Масянька
 
20.02.21
08:49
(71) Проблемы индейцев шерифа не волнуют (С)
73 rsv
 
20.02.21
09:21
(58) .... чтобы деньги зарабатывать.
Код коммерческий . Постоянная движуха.
Консультанты , тесты , экзамены , сертификаты
74 Масянька
 
20.02.21
09:28
(73) Здесь всё просто так, кроме, денег. (С)
75 Вафель
 
20.02.21
09:46
(71) разве в бсп есть какие-то конкретики?
76 Вафель
 
20.02.21
09:48
(70) приватный это служебный, а переопоеделяемый это аналог подписок.
остальные все публичные конечно же
77 acht
 
20.02.21
09:49
(65) > Вообще к ИТ отношения не имею
Анекдот №-10069317
78 Вафель
 
20.02.21
09:52
(65) такое сплошь и рядом и вне 1с.
называется избавление от легаси
79 fisher
 
22.02.21
11:48
(76) В 1С на уровне синтаксиса языка невозможно выделить публичный/приватный интерфейс "библиотеки" (понятия которой на уровне синтаксиса также не существует). "Экспорт" - это не публикация. Это просто возможность обратиться из другого модуля. Два взаимодействующих модуля будут пестреть "экспортами" и могут являться приватными по смыслу, но оформить эту приватность в языке 1С невозможно. Поэтому в (70) все правильно написано. Раздел "Программный интерфейс" - это и есть попытка оформить публичный API и "переопределяемые" - также являются частью этого публичного API. "Переопределяемые" - это не обязательно только подписки на какие-то события. Это часть того, что во фреймворках называют IoC - то есть просто некоторые "точки влияния". Можно, конечно, их тоже обозвать "событиями", но это искажает смысл, ИМХО.
80 fisher
 
22.02.21
12:07
(76) Служебный - это безусловно приватный. Только эти нехорошие люди ленятся весь приватный API выносить в служебные модуля, поэтому у них каша из секций. При этом я бы не доверял ентим секциям. Стоит смотреть только на то, что документировано в качестве внешнего API на ИТС (хотя может сейчас оно уже и согласовано по секциям, а может уже и по модулям нормально разнесли - не слежу сейчас за развитием БСП. А раньше было плохо, мягко говоря). Но и его использовать для универсальных обработок - это быть ССЗБ. Это только для своих надстроек над конкретными типовыми. Да и в этом случае имеет немалый смысл завендорить зависимости, если они достаточно простые и универсальные.
81 Вафель
 
22.02.21
14:13
(80) да ничего они не ленятся. да и тема в (0) не про приватные функции.
Печать штрихкода - самая наипубличнейшая функция
82 Вафель
 
22.02.21
14:14
просто библиотека БПО отстает от БСП лет на 3-5 по развитию и качеству кода
83 Вафель
 
22.02.21
14:15
ее, например, практически невозможно внедрить по подсистемам
84 Гений 1С
 
гуру
22.02.21
16:49
(0) тут же нельзя плохо об 1с. Блудные функции в руках 1С - это святые девы.
85 Гений 1С
 
гуру
22.02.21
16:50
(65) это называется "конфигурасты кололись, плакали, но продолжали жрать Кактус", вернее Ананас, тьфу, 1С
86 fisher
 
22.02.21
17:08
(82) Ну кстати да. В БСП код высокого качества и присмотр за ним постоянный, рефакторинг. Видно, что грамотные специалисты занимаются и ресурсов на это немало выделяется.
87 Гений 1С
 
гуру
22.02.21
18:45
(86) главное - высокооплачиваемые (надеюс)
88 Конструктор1С
 
22.02.21
20:03
(0) программист здорового человека реализует адаптеры и не парится. Потом в одном месте подправил адаптер и пошел чаи гонять. Программист курильщика не значет, что такое адаптер. Снова и снова вызывает один и тот же код сторонних разработчиков 100500 раз, после каждого обновления правит эти вызовы во всех 100500 местах
89 Ненавижу 1С
 
гуру
22.02.21
20:26
(88) в теории всё верно
90 Конструктор1С
 
22.02.21
20:30
(86) в БСП тоже встречается зашквар. Одна только подсистема печати чего стоит

Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "БлаБлаБла") Тогда
        
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
        КоллекцияПечатныхФорм,
        "БлаБлаБла",
        "Бла-бла-бла",
        ПечатьБлаБлаБла(МассивОбъектов, ОбъектыПечати));

КонецЕсли;

это чё вообще за мазафакинг? Нельзя было нормальный API реализовать?
91 Конструктор1С
 
22.02.21
20:31
(89) на практике что-то мешает?
92 Конструктор1С
 
22.02.21
20:42
+(90) вся эта хрень должна была жить в общем модуле. Для клиентского кода предостаточно было бы функции печати, которая разруливает печать и возвращает табличный документ. А уже вызывающий библиотечный код пускай бы на своём уровне заботился, куда и как нужно запихать сформированную ПФ

Функция Печать(МассивОбъектов, ИмяМакета, ДопПараметры = Неопределено) Экспорт
        
    Если ИмяМакета = "МакетА" Тогда
    
        Возврат ПечатьА(МассивОбъектов, ДопПараметры);    
    
    ИначеЕсли ИмяМакета = "МакетБ" Тогда
    
        Возврат ПечатьБ(МассивОбъектов, ДопПараметры);
        
    ИначеЕсли ИмяМакета = "МакетВ" Тогда
    
        Возврат ПечатьВ(МассивОбъектов, ДопПараметры);
    
    КонецЕсли;    

КонецФункции // Печать()
93 acht
 
22.02.21
20:50
О. Очередной персонаж нашел в БСП фатальный недостаток и точно знает как наконец-то сделать все лучше. Давайте послушаем.
94 Конструктор1С
 
22.02.21
20:55
(93) а я уже написал. Сейчас печать реализована через одно место. Фактически библиотечный функционал заставляет клиентский код вникать в свою внутреннюю реализацию. Это плохой стиль
95 Гений 1С
 
гуру
23.02.21
07:50
(94) Меня в печати смущает фанатизм 1С к запросам. Понятно, что любая физическая печать на бумагу на порядки больше занимает времени, чем обращение к БД.
Но вместо лаконичной печати из объекта строятся 100500 запросов, ибо это модно, это 1С-совместимо жи. ;-)
В итоге банальная печать документа растягивается на 100500 страниц кода.
96 Конструктор1С
 
23.02.21
07:53
(95) манера пихать всё что можно в запросы тоже больная тема
97 Вафель
 
23.02.21
08:44
в запросе самое плохое что его практически нельзя доработать безболезненно
98 Ненавижу 1С
 
гуру
23.02.21
10:10
(97) если бы тексты запросов были бы отдельными функциями, то можно было бы в расширении переопределить через схему запроса. Но в типовых такого мало
99 Ненавижу 1С
 
гуру
23.02.21
10:12
(95) если там 100500 строк кода, то печать явно не банальная
100 fisher
 
23.02.21
10:33
(90) Есть такое.
(99) Ну, он имеет в виду реализацию печати для списка документов. Там тоже мясом наружу торчит внутренняя реализация фреймворка, что как уже писали - не есть гут. На уровне объектов это можно было бы красивенько инкапсулировать. Но тут спорный момент, конечно.