Полезняшки по СКД и построителям. Просто код

29.04.21

Разработка - СКД

Полезные процедуры и функции для работы с построителями и СКД. Просто исходник.

Внимание! Всё это написано во времена 8.1 и до появления настоящей БСП и многих современных инструментов!

Просто собрание процедур и функций, которые я использую в работе с построителями запросов и СКД. Позволяют сэкономить время при разработке, являются эдакой "маленькой БСП". Рассчитаны на серверное исполнение и серверный вызов (там, где это допустимо по контексту).

 
 Общие действия
 
 Работа с построителями и запросами
 
 Работа с СКД

 

В некоторых случаях надо очень внимательно следить за вызовом с клиента, могут попасться несериализуемые.

Если кому пригодится, будет хорошо. Если кто заметит косяки - пишите, плиз, буду исправлять.

Кусок из этого моего функционала также можно увидеть в плагиате: //infostart.ru/1c/articles/575659/ - означенный плагиат хорош только тем, что имена переменных более привычны для большинства.

Использовалось на 8.3.15.1565, но мало менялось со времён 8.3.6.

СКД код работы

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122283    673    389    

716

Генератор схемы компоновки данных (СКД), написание кода схемы программно

Инструментарий разработчика СКД Платформа 1С v8.3 Конфигурации 1cv8 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

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

3 стартмани

05.02.2024    4050    25    obmailok    17    

63

Набор-объект для СКД по тексту или запросу

Запросы СКД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Есть список полей в виде текста, или запрос - закидываем в набор СКД.

1 стартмани

31.01.2024    2006    2    Yashazz    0    

29

СКД на JavaScript в 1С

СКД WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Долгое время поддерживаю web-портал, в котором появилась необходимость создавать отчеты. Просмотрев различные фреймворки на js, я решил сделать свое решение, которое позволяло бы быстро разрабатывать и добавлять новые отчеты на web-портал.

2 стартмани

11.12.2023    8169    20    John_d    25    

123

Использование менеджера временных таблиц в СКД

СКД Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

Рассмотрим еще не получивший широкого распространения способ работы с внешними данным в СКД. В процессе обсуждения работы с СКД выяснилось, что многие не знакомы со способом помещения туда временной таблицы, полученной предварительно. Статья будет полезна разработчикам, знакомым с программным созданием СКД.

05.12.2023    4662    PROSTO-1C    13    

61

Модель СКД

Инструментарий разработчика СКД Платформа 1С v8.3 Система компоновки данных Абонемент ($m)

DSL для работы с СКД.

1 стартмани

15.11.2023    5814    15    kalyaka    5    

86

Пользовательские настройки отчетов 1С. Часть 1. Простые и расширенные настройки

СКД Инструкции пользователю Платформа 1С v8.3 Конфигурации 1cv8 1С:Бухгалтерия 3.0 Россия Бесплатно (free)

Простые приемы работы с отчетами на СКД. Что нужно знать пользователю про настройку отчетов, чтобы использовать их на полную катушку.

18.09.2023    6721    accounting_cons    5    

29

Разрыв страницы в СКД. Легко!

СКД Платформа 1С v8.3 Система компоновки данных Бесплатно (free)

Когда отчет надо разделить по страницам, это всегда проблема для разработчика. Поскольку в СКД нет стандартных вариантов, как это сделать. Нашел (на свой взгляд) самое простое и оптимальное решение.

01.09.2023    4531    KVIKS    15    

80
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. json 3297 11.10.19 08:17 Сейчас в теме
Да это же Яков Коган, который очень любит писать в комментариях к публикациям, что они баяны. Никогда не приводя доказательств.

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

Вопрос тогда тебе автор, следующий: такой супер профессионал не знает про функцию ТРег() или просто любит писать велосипеды?

Ну и набор функций по работе с построителем кому выложил? Думаешь, что построитель еще кто-нибудь использует?
Award; mvxyz; Neuroproton; CodeNull; AlX0id; LeXXeR; CyberCerber; Йожкин Кот; PLAstic; A_Max; +10 Ответить
2. hasp_x 156 11.10.19 09:16 Сейчас в теме
(1) конечно используют, мы, например, в УТ 10
YPermitin; adhocprog; +2 Ответить
15. PLAstic 295 14.10.19 10:00 Сейчас в теме
(2) А подскажи, зачем? Ведь ваша платформа давно позволяет работать с СКД.
Как минимум, отчёт ДиаграммаСостоянияЭДО использует СКД.
9. Yashazz 4709 11.10.19 13:02 Сейчас в теме
(1) Баян безусловно. Хошь, в тексте статьи жирным шрифтом напишу?

Видал я в гробу эти стандарты, равно как и "соблюдение" их писателями типовых конфигов. Вопрос о соломинке в чужом глазу.

Некоторые части этого кода родились до появления ТРег.

Юзают ещё как)
1giga; Светлый ум; adhocprog; +3 4 Ответить
3. TMV 14 11.10.19 09:42 Сейчас в теме
4. VmvLer 11.10.19 10:01 Сейчас в теме
пробежал код по диагонали и возникла ассоциации, что меня пригласили в чебуречную и
вместо шкварчащего, со свеже капающим жиром чебуречика, мне предлагают какой-то холодный тухляк.
5. Hans 2 11.10.19 10:13 Сейчас в теме
Жуть какая то. Зачем ты эти префиксы переменным ставишь? семерочник то ле?
6. Aftee 11.10.19 10:22 Сейчас в теме
стро=рСтрока;

Автор из тех кто пишет "прив", "норм"?
8. json 3297 11.10.19 11:23 Сейчас в теме
(6) у него свое авторское клеймо.
Вот тут уже обсуждали.

Но кому-то нравится такой стиль, судя по плюсам
7. PLAstic 295 11.10.19 10:47 Сейчас в теме
(15) Если не ошибаюсь, ПревращениеНаименованияВИмя делается иначе:
Результат = СтрЗаменить(ТРег(ИсходнаяСтрока), " ", "");

И вообще, я думал, отшельников, которые до сих пор пишут в отрыве от БСП, больше не осталось. Это же банальная логика: зачем колхозить то, что уже написано и написано лучше?
10. Yashazz 4709 11.10.19 13:48 Сейчас в теме
(7) Во-первых, повторюсь, ТРег появилась не сразу, во-вторых, БСП меняется хз как, а свой код - он всегда под контролем, не будете же вы при каждом обновлении БСП лихорадочно актуализировать все знания о ней; в третьих, код этот родился задолго до современных БСП)
Cthulhu; Lancelot-2M; Светлый ум; adhocprog; +4 Ответить
11. PLAstic 295 11.10.19 15:00 Сейчас в теме
(10) 1) При обновлении БСП, конечно, надо проверять, а стоит ли игра свеч. Нужен анализ, что изменилось и что это влечёт за собой. Как правило, в новых версиях появляются и новые возможности, поэтому надо взвешивать: "мы получим это, но надо будет переписывать такие-то вызовы".
2) Отказ в использовании БСП ничуть не умаляет её функциональности. Загляните хотя бы в модуль ОбщегоНазчения в раздел "Процедуры и функции для работы с типами, объектами метаданных и их строковыми представлениями". Там найдутся более красивые и оптимальные реализации ваших процедур. Также будет полезно изучить ОтчетыКлиентСервер для работы с СКД.

Контраргумент "БСП меняется хз как" не мешает мне поддерживать самописные, отраслевые и типовые конфы уже много лет. Поэтому не вижу смысла изобретать велосипед.
12. Yashazz 4709 11.10.19 18:14 Сейчас в теме
(11) Изобретать велосипед имеет смысл тому, кто его изобрёл первым. Примерно 2/3 того, что есть в БСП, я сделал в виде том же, по сути, и с той же целью. Только немножечко раньше, чем фирма 1С. Так что да, скажите фирме 1С, пусть не изобретает велосипед, я-то свою механику ещё в 2006-м сделал)

А что касается "красивых и оптимальных" - спасибо, посмеялся. Громоздкие, избыточные, чудовищно накрученные механизмы... Или мы о разных БСП.
1giga; davdykin; +2 Ответить
13. davdykin 25 13.10.19 10:55 Сейчас в теме
(7)Есть отшельники ))). Если вы поддерживаете нескольких клиентов (как допустим франч), у кого-то БП 3, у кого-то УТ 10.3, БП может быть 5-и разных релизов из-за доработки, то свой "БСП-независимый" код, может оказаться куда полезней, чем использование постоянно меняющейся БСП. Ну и код написаный под маленький функционал, может быть куда быстрее и проще, чем процедура "швейцарский нож" рассчитаная на широкий круг применения.
1giga; CatNotDog; Светлый ум; +3 Ответить
14. PLAstic 295 14.10.19 09:58 Сейчас в теме
(13) Я во франче отработал более 10 лет и мне как-то не особо затратно удавалось поддерживать все конфы клиентов, ориентируясь на БСП, а не дублирующие механизмы. Это проще, чем городить своё.
Считаю, что если ты хочешь пилить что-то своё, то пили, но знать БСП обязан. Потому что в 90% случаев пилятся велосипеды. Причём, колхозные, реализация которых намного менее оптимальная, чем аналоги БСП. Возьми процедуру из БСП, выкуси лишнее, если вдруг оно там есть, и используй как "бсп-независимый код". Хотя это как-то нелепо.
16. davdykin 25 14.10.19 13:11 Сейчас в теме
(14) Очень хочется посмотреть на код использования БСП в 10.3. Код написанный для универсального использования почти всегда будет менее оптимален, чем написанный для конкретного случая. Допустим нам надо получить доп реквизит у 10 000 объектов, а в БСП( к примеру), есть получение свойства 1 объекта, так вот 10 000 вызовов универсальной функции будут в РАЗЫ не оптимальней чем получение этого свойства через запрос. Я конечно сильно в БСП не погружался, но насколько я видел это какой-то трындец когда все что можно сделать в 1 функции распихано по 10 модулям, с вызовами через 10-20 функций, для отладки тихий ужас, да и по производительности такой каскад вызовов, я думаю может играть плохую роль, учитывая что 1С - это компилятор, а каждый вызов функции - передача управления с использованием стека. Ну и достаточно посмотреть как работают стандартные конфигурации, у нас на серваке в файловом режиме работает 2 пользователя, база копеешная, и она конечно не висит, но жутко не комфортно работать.
1giga; Yashazz; +2 Ответить
17. PLAstic 295 14.10.19 15:46 Сейчас в теме
(16) ОбщегоНазначения.ЗначениеРеквизитаОбъектов(МассивСсылок, ИмяРеквизита, ВыбратьРазрешенные = Ложь)
Это не 10000 вызовов, а одним запросом. При этом есть возможность получения не только одного реквизита а нескольких, и как одного объекта, так и нескольких. С учётом или без RLS. Мне это решение кажется априори выигрышным, что бы вы там ни попытались изобрести. Я видел код и не считаю его неоптимальным.
В своё время я поливал грязью УТ10.2 и платформу 8.0 и говорил, что она сырая и глючная. Потом пришёл конкурент к клиенту и перевёл их с ТиС 7.7 на "восьмёрку", а я остался ни с чем. Это ещё раз научило меня, что те, кто хаит, в большинстве своём не разбираются в предмете. Если бы топикстартер разбирался в БСП, мы бы видели более оптимальные процедуры и функции, чем в БСП, т.к. иначе он бы сам заметил, что его три страницы кода явно менее оптимальны, чем 15-20 строк БСП. Однако, выше мы видим колхоз.
Оправдание топикстартера по поводу ТРег не клеится с "Использовалось на 8.3.15.1565, но мало менялось со времён 8.3.6."
Я нашёл упоминания ТРег в октябре 2015го. Как минимум, 4 года этой функции и тогда как раз была 8.3.6. Вот вам и наглядный пример пародирования даже не БСП, а целой даже платформы.
18. acanta 14.10.19 16:20 Сейчас в теме
(17) вместо того, чтобы поливать грязью, возьмите отпуск, съездите отдохнуть в Турцию или Тайланд, познакомьтесь на отдыхе с программистами Сап или аксапты, порыбачьте вместе, выпейте чего нибудь.. а потом пригласите их к себе на внедрение и будет всем счастье.
19. PLAstic 295 14.10.19 16:54 Сейчас в теме
(18) А, да, забыл отметить, что последние N месяцев на ИСе засилье каких-то странных программеров, которые или не знают про существование документа https://its.1c.ru/db/v8std или им приходится доказывать целесообразность его соблюдения. То же и с БСП. Это напоминает засилье школоты в WoT. Удручающая ситуация и с плюсами обсуждаемой статье.
20. davdykin 25 14.10.19 17:48 Сейчас в теме
(19) Люди которые написали этот документ, создали решение типа УТ 11, в результате, по крайней мере в нашем городе, автоматизация торговли мелкими конторами на УТ - сейчас практически отсуствует в силу ее минусов, с 1С слезли такие конторы как dns, и еще пару штук серьезных встречал, поэтому у меня большие сомнения в оптимальности БСП и методики программирования.
При этом есть возможность получения не только одного реквизита а нескольких, и как одного объекта, так и нескольких. С учётом или без RLS. Мне это решение кажется априори выигрышным, что бы вы там ни попытались изобрести. Я видел код и не считаю его не оптимальным.
, ну если вы считаете что такая супер пупер мега процедура будет оптимальней запроса, я думаю, что это вы плохо разбираетесь в программировании.
24. PLAstic 295 15.10.19 08:47 Сейчас в теме
(20)
ну если вы считаете что такая супер пупер мега процедура будет оптимальней запроса

Посмотрите код этой процедуры сначала? И если будет желание упираться дальше, сделайте замеры производительности.
Про DNS сложная ситуация. Пару недель назад наоборот читал интервью с кем-то из тамошних топов и он там рассказывал как успешно у них переписаны обмены данными и всё летает при переоценке. Конечно, на 1С. Если интересно, где-то на ИСе оно и мелькало.

Рекомендую не говорить за всех франчей города своё личное мнение. И, возвращаясь к истокам: готов дальше дискутировать только при предоставлении более оптимальных процедур, чем в БСП. Функциональность - тоже часть оптимальности.
27. davdykin 25 15.10.19 11:10 Сейчас в теме
(24)Вы как-то странно читаете мои сообщения:
1. Я не собираюсь смотреть код, я вам говорю про концепцию, вы меня отсылаете к конкретным процедурам.
2. Где я говорил за всех франчей?
3. Про ДНС, я не знаю про что он говорил, но розница, конкретно в нашем магазине у них не на 1С, а раньше была на 1С, и это не одна контора
4. Функциональность и оптимальность процедуры - вещи совершенно разные, и это никак не ее часть.
28. PLAstic 295 15.10.19 12:18 Сейчас в теме
(27)
оптимальность
Как-то читал статью про оптимальность кода, может, и на ИСе. Там среди прочих критериев упоминались и функциональность, что логично, и простота понимания и простота поддержки (например, модификация другим спецом спустя год). Именно ту статью найти не смог, но что-то подобное рассказано тут. Пожалуй, это единственный ваш аргумент, который мне интересно обсуждать.
29. davdykin 25 15.10.19 12:22 Сейчас в теме
(28)Видимо потому что кроме как "БСП - наше все, все кто его не используют - простачки" и "1С - наш отец и мать" у вас как-то с аргументами больше не сложилось... в общем-то хорошо, я так понимаю, чем больше людей с вашим мышлением, тем больше работы у таких "костылеписателей" как я. Удачи
30. PLAstic 295 15.10.19 12:26 Сейчас в теме
(29) Возможно, вам это недоступно, но я уже аргументировал в другом посте этой ветки, что если уж ты взялся делать что-то БСП-независимое, то твой код должен быть более оптимальным, чем БСП. Иначе это колхоз или, как говорят, велосипед. Глядя на такие "бсп-независимые" реализации иногда слёзы текут. Сколько я за свою практику в бытность франча переделал таких мега-изобретений на типовые механизмы...
И раз вы упоминали УТ10.3, то, конечно, ваши разработки должны по максимуму использовать типовые механизмы УТ или быть даже оптимальнее их.
Мысль проста и мне непонятно, зачем вы с ней спорили.
21. Yashazz 4709 14.10.19 19:32 Сейчас в теме
(19) Последние N лет в типовых конфигурациях 1С засилье такого безграмотного кода, не лезущего ни в какие стандарты, что мне, автору успешных внедрённых тиражных решений, вы можете не напоминать про стандарты, а вот им - напомните. Адресок 1С-центральной дать, или знаете?))

Я очень рад, что вы в 2015 году обнаружили ТРег. А вот в 2007-м её как-то не наблюдалось. Так что да, платформописатели и писатели БСП - это таки с их стороны колхоз. Обрадуйте их, что всего через 5-7 лет после того, как функционал становится всем нужен, они его добавляют. Так было с "ЗначениеЗаполнено", с поиском в массиве, со строковыми вроде СтрРазделить. На тему которой тут, кстати, не столь давно тоже ломали копья.

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

Подход "возьми из БСП и выкуси" выдаёт явное отсутствие практики. Вы пробовали из этой, пардон, кастрюли с остывшей вермишелью "вытащить часть" или "выкусить лишнее"? Попробуйте. Вместо пары реально нужных процедур - 10 модулей с кучей барахла, жрущего ресурсы. Ну ничего, с опытом придёт)
1giga; vipetrov2; RibD; +3 Ответить
25. PLAstic 295 15.10.19 08:54 Сейчас в теме
(21) Мне тоже побить себя пяткой в грудь и потрясти регалиями? Мне не интересны ваши достижения, когда я вижу код и он откровенно плох. Качество кода - это и соответствие стандартам на его оформление. Отсюда следует и простота его поддержки.
Позволю напомнить, что платформа 8.3.6 вышла 25.03.16, что даже позже, чем октябрь 2015го и значит ТРег там изначально был. Однако, вы пишете целую функцию, которая делает то же самое, что платформенная.
Если тиражные решения (а это любая обработка, проданная хотя бы два раза) содержат такого же уровня код, я рад, что не сталкивался с ними.
22. Yashazz 4709 14.10.19 19:33 Сейчас в теме
(19) А вот насчёт засилья школоты - согласен. Последние пару лет на ИС не продохнуть от статей, чей уровень ниже плинтуса, однако они восторженно плюсуются и, значит, кому-то нужны. Я неоднократно в таких статьях выражал своё недоумение. А ваших комментов там что-то не припомню)
23. Yashazz 4709 14.10.19 20:13 Сейчас в теме
(14) Вот не обижайтесь, но виден франчевский подход. Да, поддержка с маленькими доработками - действительно наводит на мысль, что БСП лучше. Но только если поддержка многих и почти типовых. А если нужен серьёзный шаг в сторону, крупная доработка, если нужна оптимизация производительности итд., словом, если речь о крупном оригинальном решении - то даже вспоминать о БСП смешно и дико. Ну может самые базовые моменты, вроде работы с файлами или там строками-коллекциями, да и то слишком наворочено и избыточно. Поэтому я, как автор специальных решений, привык полагаться на свой, менее распиаренный, зато надёжный и простой код. Мне вот не улыбается сдать проект на эн лямов и через месяц прочитать, что в какой-то процедуре в глубинах БСП найдена и исправлена грубая ошибка, и понять, что этот контур БСП задействован в проекте.

"Знать БСП" нельзя. Я в своё время сделал глупость, потратил 2 месяца на доскональное её изучение. А тут раз, два, бац, и нате вам БСП следующей версии, "принципиально переработанную". Франч может тратить время на освоение, а я, извините, ведущий разработчик и архитектор, для меня это нереально отслеживать, тем более что комментарии в коде и документация ни в зуб копытом.

Опыт общения по серьёзным проектным решениям говорит: нигде в них от БСП более 10-20% не брали. Писали "под задачу и по месту".

Так что всякой задаче своё решение, не стоит быть столь категоричным)
Dorosh; nik2500; kMidas; RibD; davdykin; +5 Ответить
26. PLAstic 295 15.10.19 09:14 Сейчас в теме
(23) А я и не обижаюсь. У меня кроме 10 лет франча ещё больше стажа работы матрасником в штатке. :)
Все новые конфигурации я начинаю с выдёргивания нужных подсистем из БСП по регламентированной 1С схеме. Получаю заготовку нужной мне конфигурации и допиливаю свои подсистемы. Пока не встречал проблем с этим.
Кроме того, на текущей работе есть решение с "родной" версией БСП 2.1 на обычных формах, куда потом кто-то допиливал обмен с ДО и втащил туда подсистемы БСП версии 2.4. Сейчас в эту конфигурацию мной интегрировано 10-15 подсистем БСП 3.0.1 с заменой 2.4 на управляемых формах, конечно. Интегрировано успешно и проверено на проде. Не могу сказать, что это было особо сложно. Наверное, самым сложным было разобраться в механизме инициализации параметров сеанса. :)
И при этом я, конечно, далёк от знания БСП. Просто почти ежедневно вижу выгоду от использования архитектурно грамотных подсистем БСП, на реализацию которых в конфигурации я потратил несоизмеримо меньше времени, чем если бы писал с нуля.

Подытоживая дискуссию, ваш код, коли уж вы хотите поддерживать свои конфы независимо от БСП, обязан быть оптимальнее кода БСП. А для этого надо как минимум знать аналогичные механизмы БСП и платформы.
33. Yashazz 4709 17.10.19 12:52 Сейчас в теме
(26) Бесспорно, что БСП меняется, иногда сильно и непредсказуемо. Бесспорно, что она недостаточно документирована. И вот вопрос - вы сможете тратить время на изучение механики БСП, когда в быстром темпе пишется отдельный проект? Тратить время на адаптацию, обрезку ненужного, допиливание под задачу? Я - нет. Я хочу хотя бы иногда спать.
36. PLAstic 295 17.10.19 15:42 Сейчас в теме
(33) Ниже конкретный пример переноса подсистемы. Благодаря БСП у вас 50% разных конфигураций одинаковы и перенос выполняется намного проще. Так где меньше трудозатрат, например, при реализации механизма доп.реквизитов и сведений? Когда делаешь сам с нуля или готовая подсистема от БСП?
Вероятно, вы путаете программирование специфической для задачи логики и разработку дублирующего механизмы БСП колхоза.
37. Yashazz 4709 17.10.19 21:01 Сейчас в теме
(36) Если механизм совсем отчётливо дублирует, тогда, конечно, колхозить смысла нет. Но гораздо чаще появляются такие милые нюансы, которые делают заимствование бессмысленным, по времени и трудозатратам. Я много раз видел системы, перепиленные до полной неузнаваемости из типовых, которые в итоге тормозили и висли на унаследованных местах, и в 70% случаев после анализа становилось ясно, что правильнее-то было бы писать "под ключ" своё. Чем я иногда и занимался. Конечно, сначала их авторам казалось, что доработка-то маленькая, брали из БСП, а потом начиналось дальше в лес и толще партизаны. И однажды наступало понимание, что своё тянуть легче.

Насчёт доп.реквизитов - а вы имели дело с допиливанием их визуализации на упр.формах? Это ж покурочить вдвое сложнее, чем своё накатать.

Не спорю, бывает. Но бывает гораздо реже, чем кажется оптимистам. У меня один такой сотрудничек потратил неделю на рест-запросы там, где мне хватило часа. Потому что дёргал из БСП, натащил 6 лишних общих модулей, кучу вспомогательной хрени, и всё ради получения данных контрагента по ИНН. А моя одна маленькая процедура делала то же самое, но ни в чём не нуждалась. Выводы?
Cthulhu; dmitrydemenew; +2 Ответить
45. dmitrydemenew 641 22.10.19 13:58 Сейчас в теме
(36)PLAstic, возможно Вы правы. Возможно нет. Все зависит от ваших целей. Если Вы желаете наштамповать как можно больше продуктов, не заморачиваясь оптимальными программными решениями направленными на удобство пользователей - то правы. Если же в ваших приоритетах создание качественных продуктов с ориентиром на конечных пользователей - то нет. Потому как БСП - система функций неоптимальных и избыточных в очень высокой степени и их использование по "настоятельным рекомендациям" редко улучшает работу программы.
31. Lancelot-2M 115 15.10.19 17:30 Сейчас в теме
В связи с развязавшейся дискуссией про БСП вставлю свои 5 копеек.
В своей профессиональной деятельнсти я заметил 3 четких этапа, характеризующиеся способами разработки:
1)Колхоз как получится
2)Использование встроенной функциональности конфы по максимуму, мимикрия под стиль конфы
3)Колхоз со стажем
и переход от 2го этапа к 3му был вызван вполне ощутимыми и неприятными трудозатратами на сопровождение работ сделанных в течение этапа 2. Ну 100500 печатных форм поправить после обновления только потому что я ответственных лиц получал встроенной в конфу функцией, например.
Cthulhu; Yashazz; e.kogan; +3 Ответить
32. e.kogan 1892 17.10.19 04:35 Сейчас в теме
(31) Присоединяюсь. Чуть не каждое обновление любой минимально модифицированной (расширениями, конечно, мы же блюдём рекомендации!) типовой ЗУП - это кровь из глаз, биение головой об стол и так далее. Ладно бы реально содержательные изменения, так нет - перенесли процедуру из модуля в модуль. Может, на супер-пупер-нагруженных системах это дало рост производительности процедуры на треть процента, не спорю; но, блин, почему занимаются этим, а не косяком, не позволяющим рассчитывать больничный поверх отсутствия? А у меня из-за этого переноса расширение отваливается. И хорошо, если отваливается с простой и понятной ошибкой, если мне повезло и вызов прямой... а бывает, что на раскоп, где какой параметр стал обязательным, уходят часы.

И ведь не угадаешь. А с БСП так и вообще полсистемы рухнуть может при обновлении, причём незаметно - любой синтакс-контроль пропустит, выборочный тест функциональности не налетит, а пользователи с утречка всей Россией колом встанут...
Cthulhu; nik2500; Yashazz; +3 Ответить
34. Yashazz 4709 17.10.19 12:53 Сейчас в теме
(31) Согласен. Единственно что, грамотная организация кода в любом случае позволяет избежать правки 100500 форм, и неважно, ваш это код с нуля или заимствованный, или вообще сама БСП.
35. PLAstic 295 17.10.19 15:37 Сейчас в теме
Не далее как позавчера перенёс свою подсистему из БСХП в БП 3.0. В БСХП при этом как раз и интегрировал ранее БСП 3.0.1 (писал выше). Так вот, перенёс регистры, перечисления, документы, отчёты просто по сравнению/объединению. Документы проводятся после переноса, хотя исходная версия БСП у БСХП была 2.1, я даже не знаю, где они такую взяли.
Это я к чему... Пишите своё, если вам интересно. Я писал чётко на механизмах БСП и перенос всей подсистемы прошёл за пару часов адаптации. Задействованы подсистемы БСП: отчёты, печать, подключаемые команды, структура подчинённости, базовая функциональность, доп.свойства.

Уже несколько авторов выше пытаются избежать прямого сравнения своего кода и кода БСП. А ведь это немаловажно. Если вы уже решили отказаться от готовых механизмов и повысили риски ошибок и рефакторинга из-за разработки своими силами, то добавьте хотя бы гарантию качества, что ваш код действительно лучше БСП'шного, от которого вы отказались - сравните свой и БСП'шный.
Пример: процедура в обсуждаемой статье вместо ТРег. Уже даже поймал автора на том, что когда он её писал, ТРег существовал, но нет, исправлений в тексте статьи нет. Да даже если бы и не было в то время ТРег, зачем этот код нам сейчас, когда ТРег давно есть?

Из своей практики скажу, что не встречал альтернативных БСП'шным колхозных решений частных умельцев лучше, чем в БСП. Но у вас есть шанс, удачи.
38. Yashazz 4709 17.10.19 21:35 Сейчас в теме
(35) Поймали автора? Уважаемый, вы читайте внимательнее, ага. Этот код появился в 2008-09 годах. А что касается "зачем", так встречный вам вопрос - вы никогда не наблюдали, как код отказывается компилиться на новых платформах, если в нём есть "новинки" вроде СтрРазделить? Или вам в скайпе на примере показать? Не у всех супер-новые релизы конфигураций и платформ. Множество внедрений работают на 8.2 и совершенно никто не горит переходить на 8.3

Я в БСП видел такую жесть, которую и кодом-то назвать совестно. Руки поотрывать и поувольнять за профнепригодность. Механика подключения внешек, работа с периферийным оборудованием и ещё кое-какие подсистемы. Не то чтоб стандарты какие, а кромешная жуть. Вас не смущает запрос вида "Выбрать Различные спр.Ссылка Из Справочник.Пользователи"? А проверка "Если не СокрЛП(спрСсылка)="" Тогда // ссылка пуста"?

Из своей практики скажу, что не встречал заимствования из БСП, которые были бы толковы, минималистичны, быстродействующи, просты, понятны и гибки. Но у вас есть шанс. Удачи)
42. Yashazz 4709 18.10.19 17:00 Сейчас в теме
(35) Расскажите автору https://infostart.ru/public/1134548/ что лучше БСП, её подписок, её переопределяемых модулей итд, ничего нет) А то человек колхозит, мучается... Ну или что подождать надо пару лет, 1С одуплится и какой-нибудь крутой инструмент забацает)
43. Yashazz 4709 21.10.19 16:07 Сейчас в теме
(35) Гляньте, какой колхоз-то жуткий https://infostart.ru/public/1137019/, видать автор не знает, что история теперь в платформу вшита! Срочно проповедуйте ему благодать БСП!
44. PLAstic 295 22.10.19 08:27 Сейчас в теме
(43) Перестаньте паясничать. Статья дубль, в коде ошибки, но т.о. автор решает вопрос о внесении модификаций без обновления конфигурации. Я давно не работал со старыми формами, не могу прокомментировать оптимальность решения.
39. Yashazz 4709 17.10.19 21:39 Сейчас в теме
Да, что ещё скажу. У 1С прямо даже в платформе есть и перепроведение документов, и поиск ссылок, и удаление помеченных, и управление итогами. Ответьте мне, поклонники творчества 1С-Центральной, зачем же тогда на ИС и других ресурсах такое колоссальное количество обработок на эту тему? Колхоз ведь!
1С написала КИП с ЦУПом. Супер, почему тогда многие, с Гилёва начиная, юзают и свои наработки? Колхоз же!

Давайте будем применять только инструменты, предложенные вендором, они самые лучшие! Так, да?)))
40. PLAstic 295 18.10.19 09:11 Сейчас в теме
(39) Если перестать слепо беситься от вопроса "зачем нам этот колхоз 10 лет спустя", потому что он не в бровь, а в глаз, то становится очевидно, что выше был сформулирован минимум два раза постулат:
(35)
Если вы уже решили отказаться от готовых механизмов и повысили риски ошибок и рефакторинга из-за разработки своими силами, то добавьте хотя бы гарантию качества, что ваш код действительно лучше БСП'шного, от которого вы отказались - сравните свой и БСП'шный.

Очевидно, что консоли запросов пишутся пачками потому, что штатная чем-то не устраивает. Например, тем, что нет конструктора в тонком клиенте. Т.е. расширяется функциональность механизма.
41. Yashazz 4709 18.10.19 13:16 Сейчас в теме
(40) Так вот мой код - лучше)) А кому не нравится - не кушайте)

Ужас-то на самом деле в другом. Ужас в том, что подобные публикации плюсят. Радостно накидываются на любой халявный исходник, копипастят и юзают.
46. Aitbay 29.03.21 01:06 Сейчас в теме
по личному опыту
несколько раз замечал в типовой бухгалтерии вызов процедур БСП в цикле, внутри процедуры выполнение запроса, для мелких компаний это не заметно, а для крупных компаний думаю не всегда БСП выгодно в плане оптимальности.
47. Yashazz 4709 30.03.21 12:12 Сейчас в теме
(46) я в типовых конфигурациях такое замечал, что теперь все претензии к моему коду из серии "имена переменных нестандартные" отметаю в dev/null - я хоть вызов через 20 процедур не протаскиваю, запрос в цикле не делаю и служебными словами переменные не зову)
Оставьте свое сообщение