Опрос сообщества разработчиков на 1С

03.03.2020      17363745

Фирма «1С» задает вопросы сообществу разработчиков на 1С.
Ответы пишите, пожалуйста, на почту community@1c.ru

Опорные вопросы:

  • Какими, на Ваш взгляд, должны быть направления развития сообщества 1С-разработчиков? 
  • Какими, на Ваш взгляд, должны быть направления развития ресурсов и материалов для начинающих 1С-разработчиков? 
  • Что, на Ваш взгляд, больше всего затрудняет привлечение молодых сотрудников? 
  • Что, на Ваш взгляд, больше всего затрудняет обучение молодых сотрудников? 
  • Какие у Вас есть предложения по продвижению 1С:Предприятие именно как технологии разработки?

Update 03.03.2020

Опрос вызвал неподдельный интерес со стороны Сообщества. На данный момент у новости уже больше 200 комментариев. Инфостарт предлагает дублировать свои предложения в комментариях. Согласные или несогласные  с предложением могут голосовать за комментарий плюс или минус. В результате мы сможем отсортировать по рейтингу самые популярные предложения. Результаты голосования мы передадим в фирму "1С".

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


Автор:
Аналитик


Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
826. CyberCerber 856 05.03.20 09:00 Сейчас в теме
(776) Мне кажется, ты здесь путаешь понятия. Как могут быть синт конструкции, если не поддерживается сама технология? Синтаксис - это просто набор правил для работы с тем, что есть.
884. Darklight 32 05.03.20 14:08 Сейчас в теме
(775)И синтаксис и функционал - всё-таки эти понятия достаточно сильно связаны друг с другом. Я могу Вам и ООП и лямбды сделать на текущем функционале и синтаксисе платформы 1С8 - но синтаксически (да и вообще в использовании) это будет выглядеть не очень красиво! Но если - поменять синтаксис 1С - создать расширенную версию - которую, скажем, обрабатывать препроцессором (транслируя в код языка 1С или вообще сразу компилируя в байткод "1C opCode") - то выглядеть это стане куда лучше - но без поддержки платформы и IDE - будет всё-равно несколько неудобно в использовании, и будут пролемы с интеграцией разных библиотек).
А вот, скажем, асинхронное программирование - без изменения функционала платформы, сделать будет крайне затруднительно, хотя синтаксически - тут не требуется больших изменений.

А вот, интересно, что бы Вы выкинули из синтаксиса 1С (заменив чем-то более лаконичным)?
Мне на вскидку прихдят только:
- Процедура - оставил бы только функции
- Экспорт - сделал бы все функции общедоступными по умолчанию, а необходимость управления контекстом доступности оставил бы только через аттрибуты/директивы (по аналогии "&НаСервере", "&НаКлиенте").
- Словесные скобки (обычно окончания) как "КонецЕсли, КонецЦикла, КонецПопытки" - ну я вообще сторонник C-подобного синтаксиса "{ }", но можно и просто заменить одним словом "Конец" - как, скажем, в "Ruby", или, вон, в Python их вообще нет - но этот подход мне не нравится)
- Для каждого / Для - циклы можно упросить - оставив только один - перебор по коллекции - в т.ч. числовому диапазону; а вот цикл "Пока" я бы оставил.
- Перейти - ну, это оператор уже точно не актуален

Всё, что-то больше не знаю что ещё выкинуть из синтаксиса языка 1С
886. brr 183 05.03.20 14:13 Сейчас в теме
(884) На лямбду в 1С было бы интересно взглянуть. Поделитесь.
AlexO; CyberCerber; +2 Ответить
888. Darklight 32 05.03.20 14:23 Сейчас в теме
(886)За 5 минут не сделаю, простите, тем более кросс-платформенно, сейчас нет времени. Делегаты (с функциями высшего поряка, каррингом, продолжениями) для 1С уже есть в процессе разработки. Ну а там и до лямбд рукой подать (разве что с замыканием - тут да - проблема сложная)
892. brr 183 05.03.20 14:37 Сейчас в теме
(888) Ок, тогда подпишусь на вас, вдруг на инфостарте выложите
987. AlexO 135 06.03.20 11:31 Сейчас в теме
(888)
Делегаты (с функциями высшего поряка, каррингом, продолжениями) для 1С уже есть в процессе разработки
сразу пишите - в 1С уже все есть. Ничего не надо.
Там выше есть шаблон таких ответов.
Делегаты в процессе разработки? Совместно с 1С платформу переписываете? Или пытаетесь костыли/имитацию на яве выдать за разработки для 1С? На чем у вас делегаты? И что за "функции высшего порядка"?
905. CyberCerber 856 05.03.20 15:48 Сейчас в теме
(884)
Экспорт - а как же инкапсуляция? Т.е. все функции всех модулей будут видны? Это принесет еще больший хаос в большие конфигурации
Для каждого / Для - это разные по смыслу методы. Хотя вы можете и сейчас заморочиться, и создав массив чисел от и до и обходить его как коллекцию.
920. Darklight 32 05.03.20 17:01 Сейчас в теме
(905)
Экспорт - а как же инкапсуляция?

А причём тут инкапсуляция?
Или Вы имели в виду наследование в классах? Ну - что не надо - наследовать - ту вручную пусть скрывается. Что не надо видеть извне - тоже пусть вручную скрывается!

Т.е. все функции всех модулей будут видны?

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

ля каждого / Для - это разные по смыслу методы.

Сейчас современные языки как раз стремятся унифицировать эти циклы (а некоторые языки, например "Go" ещё и while тоже унифицируют).
И это нормально. Обычный числовой цикл уже устарел - в нём нет высокой потребности - и если он нужен то нет проблемы написать вот так
//фиксированный диапазон
Для Индекс из {1..100} Цикл
сообщить(Индекс);
КонецЦикла;

//переменный диапазон
Конец = ПолучитьКонец();
Для Индекс из {1..Конец} Цикл
сообщить(Индекс);
КонецЦикла;

//переменный диапазон2
Для Индекс из {ПолучитьНачало()..ПолучитьКонец()} Цикл
сообщить(Индекс);
КонецЦикла;

//Произвольтный шаг 
Для Индекс из {ПолучитьКонец() .. ПолучитьНачало(),-2} Цикл
сообщить(Индекс);
КонецЦикла;
Показать


Даже фигурные скобки можно опустить, тут нет синтаксической проблемы разбора (а ".." можно заменить и другими конструкциями: "1::100", "[1,100]", "Поток(1,100)" - замечу что Поток(1,100) - не создаёт массив чисел - это функция-генератор - каждое следующее число возвращается только при необходимости)

Или вот так написать

//Когда переменная цикла одна
Для ПолучитьКонец()..ПолучитьНачало(),-2 Цикл
сообщить(_);
КонецЦикла;

//Когда переменная цикла несколько
Для ПолучитьНачало3()..ПолучитьКонец3(),-2 Цикл
    Для ПолучитьКонец2() .. ПолучитьНачало2(),-2 Цикл
        Для ПолучитьНачало1()..ПолучитьКонец1(),3 Цикл
             а = _1+_2+_3;
             сообщить(а);
        КонецЦикла;
    КонецЦикла;
КонецЦикла;
//Конечно это не самый красивый пример - но он тоже имеет право на существование
Показать


Ну если бы ещё и от лишних слов отказаться - было бы совсем лаконично

Для ПолучитьНачало3()..ПолучитьКонец3(),-2
    Для ПолучитьКонец2() .. ПолучитьНачало2(),-2
        Для ПолучитьНачало1()..ПолучитьКонец1(),3 
        {
             а = _1+_2+_3;
             сообщить(а);
        }
Показать


Границы получаются только в момент запуска цикла (как сейчас в 1С) - при желании получать их динамически - это можно указать директивами

//Вариант1 - директивы с левым прикреплением
Для &Пересчитывать ПолучитьНачало() .. &Пересчитывать ПолучитьКонец() Цикл
сообщить(_);
КонецЦикла;

//Вариант2 - функции передаются  генератор как выражения (анонимные функции) - и вызываются внутри
Для Поток({ПолучитьНачало()}, {ПолучитьКонец()}) Цикл
сообщить(_);
КонецЦикла;

//Вариант3 - ещё круче
мойПоток = Поток({ПолучитьНачало()}, {ПолучитьКонец()});
Для мойПоток Цикл
сообщить(_);
КонецЦикла;

//Вариант4 с заранее расчитанными границами - думаю тоже сгодится без синтаксических проблем разбора
мойПоток = {ПолучитьНачало() .. ПолучитьКонец()};
Для Индекс из мойПоток Цикл
сообщить(Индекс);
КонецЦикла;
Показать


И даже вот так можно было бы

Поток3 = 100...1; //Тут обратный порядок с шагом 1 и так ясен компилятору т.к. константы
Поток2 = 1..ПолучитьКонец2();
Поток1 = {ПолучитьКонец3()..ПолучитьКонец1(),-1};
Для Индекс3 из Поток3, -2 //Переопределили шаг - вернее задали свой - если - т.е. шаг поток остаётся в силе - просто умножается на данный
    Для _ из Поток2
        Для Поток1 где _ < ПолучитьКонец1() //Добавили доп условие (вычисляемое на каждом шаге) на значения перебираемого потока Поток1
        {
             а = _(Поток1)+_(Поток1)+_(Поток1); //Такой синтаксис доступа к индексам потоков возможен только если потоки во вложенных циклах не пересекаются - в каком-то смысле это даже более ясный синтаксис чем применение явных переменных-индексов
             сообщить(а);
        }
Показать



Ещё пример в догонку

//Функция возвращает какой-то поток - мы вообще не знаем как он генерируется
НеизвестныйПоток = ПолучитьПоток();
Для НеизвестныйПоток 
      сообщить(_); //Считаем, что элементы потока "НеизвестныйПоток" приводятся к строке

//Или так
Для ПолучитьПоток() сообщить(_);  //Просто цикл по потоку с одним оператором повторения, или это уже применение команды "Для" элементов потока, требующий выполнить для них команду справа

//Вложенные потоки
Для ПолучитьПоток()  Для _ сообщить(_); //В сообщить "_" это уже элементы вложенного потока-элемента из ПолучитьПоток()
Показать


Может такой подход не шибко короче классического, но выглядит куда современнее - и имеет больше возможностей для расширения и унификации с другими синтакическими конструкциями
CyberCerber; +1 Ответить
1095. amd1986 10.03.20 12:42 Сейчас в теме
(920)
Ну если бы ещё и от лишних слов отказаться - было бы совсем лаконично

За такое нужно расстреливать.
Вместо слова Цикл ставить фигурные скобки, которые чтобы поставить нужно переключать раскладку. Мда.. Язык не должен быть круче, он должен быть максимально читабельным и простым, выполняющий свои задачи.
1096. neikist 10.03.20 13:18 Сейчас в теме
(1095)
Отступы, как в python никто не отменял
1097. amd1986 10.03.20 13:35 Сейчас в теме
(1096)
На питоне пишут на русском? Вот этого я не знал..
Вам в голову не приходило, что под разные языки(не программирования) - клавиши клавиатуры имеют разное расположение и {} тупо неудобно ставить? Похоже что нет..
1098. neikist 10.03.20 14:14 Сейчас в теме
(1097)
Еще раз, в python нет {} в принципе (точнее есть, но только для инициализации map коллекций и может еще для чего то похожего, не для отделения областей кода). Для обозначения границ классов, методов и блоков кода в циклах, if ... else и подобном используются отступы.
1102. amd1986 10.03.20 16:06 Сейчас в теме
(1098) Понял. Отступы норм, главное чтобы не было риска поехавшего форматирования.
1109. Darklight 32 10.03.20 17:29 Сейчас в теме
(1102)Отсутпы - как раз реальная багофича - мне эта идея не нравится
AnatolPopov; +1 Ответить
1099. starik-2005 3043 10.03.20 14:28 Сейчас в теме
(1097)
и {} тупо неудобно ставить
Так и квадратные скобки ставить неудобно, а иначе к массивам, соответствиям и вообще коллекциям обратиться будет еще сложнее - нужно целое слово написать("Получить").

Вот чем плох язык 1С? Тут все просто: в ВУЗах сейчас изучают питон, джаву, js, может быть SQL. Помимо последнего эти языки с "С-лайк" синтаксисом, где в принципе объекты и методы манипуляции данными в сути своей одинаковы. Поэтому современным студентам в языке с "паскалевским" синтаксисом, которому обучали в 80-90-х годах, на заре автоматизации, уже очень некомфортно. А разработчики 1С (основные "менеджеры" процесса) с этой самой "зари" и часто физически неспособны понять, что поезд ушел в "С-лайк" парадигму, ибо и С, и прочие современные языки активно вобрали в себя и ООП, и функциональную парадигму, которые и упрощают процесс разработки, и делают продукт куда более поддерживаемым. При этом и для продукта достаточно легко сменить разработчика (некого "владельца объекта"), и для разработчика достаточно легко сменить продукт (и даже фреймворк и язык, ибо есть некий базис современной разработки приложений: фронтэнд, бэкэнд, слой баз данных, UX/UI дизайнер - все разделено, в 1С все смешано и каждый разработчик и дизайнер, и бэкэндщик, и фронтэндщик, и скульщик - его учат создавать много временных таблиц и выбирать сначала данные, а потом уже их обрабатывать, ...)..

И в итоге и 1С-негу, который окаменел и зацементировался в парадигме разработки прошлого века, очень сложно сменить стек, и человеку со стороны, который бы хотел разобраться с 1С, приходится возвращаться в каменный век разработки, хотя вроде бы тут есть и фронт, и бэк, и даже дизайн и скуль, но они все в одной коробке для одного человека.

В общем не хватает 1С-негам разделения труда, которое в остальных системах появилось уже 10 лет назад (а точнее, активно начало развиваться уже в 2006-м, когда универсалы закончились).
AnatolPopov; Quasar; Darklight; +3 Ответить
1104. amd1986 10.03.20 16:20 Сейчас в теме
(1099) Мне и квадратные скобки не нравятся.

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

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

И в итоге и 1С-негу, который окаменел и зацементировался в парадигме разработки прошлого века, очень сложно сменить стек, и человеку со стороны, который бы хотел разобраться с 1С, приходится возвращаться в каменный век разработки, хотя вроде бы тут есть и фронт, и бэк, и даже дизайн и скуль, но они все в одной коробке для одного человека.

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

В общем не хватает 1С-негам разделения труда, которое в остальных системах появилось уже 10 лет назад (а точнее, активно начало развиваться уже в 2006-м, когда универсалы закончились).


А не думали, что это не проблемы 1С, а их заслуга то, что они так долго продержались без разделения? То, что такие масштабные продукты так легко поддерживались и дорабатывались. Сейчас 1С пытается выйти на новый уровень, надеюсь в правильном русле.
1105. starik-2005 3043 10.03.20 16:39 Сейчас в теме
(1104)
Может и упрощают, но делают все больше и больше порог входа.
В действительности ООП и функциональность упрощают разработку и поддержку. Порог входа сейчас в 1С высок, т.к. БСП стала просто нереально огромная и запутанная - попробуй объяснить юному падавану, как добавить печатную форму в конфу (не внешнюю, а "внутреннюю"). При этом нет практически простых примеров того, как в новые конфигурации на базе новых БСП это все встраивать (да, все просто, но ООП и функциональщина с, например, промисами - это в действительности очень просто и удобно - та самая асинхронность, которую в 1С сделали через одно место).

(1104)
Вы не думаете, что весь мир только подползает до 1С? Не технически, а идеологически? Не думаете, что 1С обогнало свое время, оперируя не кодом, а прикладными задачами?
А что там в прикладных задачах у 1С такого, его нет в тех же веб-проектах? Ёжику понятно, что любая автоматизация - это процес сбора, проверки, обработки и представления информации. В итоге вся учетная система приходит к иерархии объектов, событий и результатов. Для объектов есть справочники - просто таблицы, которые выделяются как справочники только в 1С, в других местах это вообще отдельные сервисы - MDM (системы управления мастер-данными). Для событий есть документы - в других системах это записи главной книги или, например, транзакции. Суть в том, чтобы быстро зарегистрировать событие и изменить результаты, которые в 1С - это регистры накопления, бухгалтерского учета и расчета, разделение которых лишь добавляет сложности и неопределенности в процесс разработки. Здоровые системы используют то самое разделение сервисов на мастер-данные (MDM), OLTP - механизм регистрации транзакций, и OLAP/BI - механизмы работы с очищенными и сгруппированными аналитическими данными. В 1С прошлый век - куча таблиц в одной базе, куча дублирующихся данных, никакой нормализации, очистки и прочего - все отчеты строятся из кучи таблиц, связанных друг с другом без особой логики.

Вообще, прежде, чем рассуждать о том, что там впереди планеты всей, нужно сначала познакомиться с тем, что сейчас где. Вряд ли SpaceX работает на 1С:ЕРП, а то бы их ракеты летали через раз, как ракеты местного производства, производство которых может быть как-то рассчитывается на этой нашей ЕРП ))) (хотя и даже тут вряд ли, если только себестоимость, а что-то там в РОСАТОМе был проект, так там ЗУП и бухгалтерия только - никто не сможет больше чем дважды два на 1С посчитать - все сдохнет при расчете себестоимости, которая на здоровом продукте рассчитается за миллисекунды, а не за часы).

(1104)
А не думали, что это не проблемы 1С, а их заслуга то, что они так долго продержались без разделения?
Это заслуга героических разработчиков. Но они закончились и здесь, а 1С что-то не торопится разделить труд, вот и сталкивается с кадровым голодом и начинает спрашивать, что же это они делают не так. Но тут важно услышать не то, что они не так делают, а то, что нужно бы делать, чтобы было так, как надо. И тут уже другие таланты нужны, не технического плана.
1106. amd1986 10.03.20 17:09 Сейчас в теме
(1105)
А что там в прикладных задачах у 1С такого, его нет в тех же веб-проектах? Ёжику понятно, что любая автоматизация - это процес сбора, проверки, обработки и представления информации. В итоге вся учетная система приходит к иерархии объектов, событий и результатов. Для объектов есть справочники - просто таблицы, которые выделяются как справочники только в 1С, в других местах это вообще отдельные сервисы - MDM (системы управления мастер-данными). Для событий есть документы - в других системах это записи главной книги или, например, транзакции. Суть в том, чтобы быстро зарегистрировать событие и изменить результаты, которые в 1С - это регистры накопления, бухгалтерского учета и расчета, разделение которых лишь добавляет сложности и неопределенности в процесс разработки. Здоровые системы используют то самое разделение сервисов на мастер-данные (MDM), OLTP - механизм регистрации транзакций, и OLAP/BI - механизмы работы с очищенными и сгруппированными аналитическими данными. В 1С прошлый век - куча таблиц в одной базе, куча дублирующихся данных, никакой нормализации, очистки и прочего - все отчеты строятся из кучи таблиц, связанных друг с другом без особой логики.

Мы ведь об этом уже говорили. Предложите что лучше 1С по всем тем критериям сразу, а не только по 1 критерию.


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

Тут согласен. С типовыми конфигурациями перенамудрили. Что за мантры такие ООП, ООП. 1С и без него хорошо. Да и боюсь, что с ООП еще хуже сделают.

Это заслуга героических разработчиков. Но они закончились и здесь, а 1С что-то не торопится разделить труд, вот и сталкивается с кадровым голодом и начинает спрашивать, что же это они делают не так. Но тут важно услышать не то, что они не так делают, а то, что нужно бы делать, чтобы было так, как надо. И тут уже другие таланты нужны, не технического плана.

Хотите сказать что российских героических разработчиков(1С) больше чем всех остальных во всем мире?
В 1С уже идет разделение, но, естественно, на крупняке. Мелким он нафиг не нужен. Вам забили голову западными трендами разработки. Говорите штампами. С чего вы взяли, что эти тренды правильные?
1108. Darklight 32 10.03.20 17:25 Сейчас в теме
(1106)У меня есть большая задумка (постепенно воплощающийся в реальность) - я формализую синтаксис новой инкарнации языка "1С" (ну - скажем для 1С: Предприятие 9"). Это чисто философский труд - я просто размышляю о гипотетических новациях. Что и как стоит додбвить или убрать из языка 1С в будущем - и как это всё использовать на практике - чтобы сделать труд программиста именно проще!
Как-нибудь начну выкладывать этот труд здесь. Сможете ознакомиться, высказаться, проголосовать за те или иные идеи.
В том числе я подымаю там вопрос и программных скобок - хотя я за использование фигурных скобок, но всё-же считаю этот ход слишком революционным - поэтому в данном вопросе я всё-таки пока придерживаюсь словесных скобок для языка 1С: Предприятие 9 - возможно откладывая переход на фигурные скобки на ещё более далёкое будущее (конец века).
Вот, в последнее, время ещё и вопрос эргономики IDE стал подымать - уже есть дизайн-макет переработанной рабочей среды - после недавней дискуссии с создателем Перфоленты.
В скором времени размещу тут отдельную вводную статью - подымающую пока лишь поверхностно темы размещения программных скобок, директив компиляции/препроцессора, объявления переменных, ограничений типов, макрофункций. И тему помощи IDE для снижения проблематики по данным вопросам.
Там же будет и голосование по предложенным идеям
1111. VmvLer 10.03.20 17:44 Сейчас в теме
(1108) когда вы закончите свои эпические труды, то полагаю, реальность технологий будет уже совсем иная и вполне вероятно, человеческий фактор с его хотелками и квалификацией будет "зарезан",
а в идеале "уничтожен".

но все равно, приятно будет иметь у себя в столе труд "Как я хотел изменить мир до новой эры"
продолжайте)
1112. amd1986 10.03.20 17:54 Сейчас в теме
(1108)С удовольствием почитаю.
1110. starik-2005 3043 10.03.20 17:41 Сейчас в теме
(1106)
Предложите что лучше 1С по всем тем критериям сразу
Так еще древние говорили, что Богу - богово, а Кесарю - кесарево. Не нужно все яйца в одну корзину класть, ибо для разных дел разные кейсы. Да, 1С позволяет предпринимателю с минимальным количеством событий сделать все в одном месте, но для среднего и крупного бизнеса такой подход губителен, т.к. из-за проблем с блокировками огромные ресурсы тратятся как на железо, так и на всевозможные доработки-оптимизации, которые и не нужны были бы при иной архитектуре. И у средних и больших компаний основное средство анализа часто Эксель, а не 1С, из которой дождаться отчета способен только очень много чаю пьющий линейный бухгалтер - главбух и финдир не лазят туда, а дают поручение кому-то из подчиненных вытащить нужные данные.

В общем все яйца в одном месте - это больно, но кто у нас начал заниматься бизнесом и не является при этом "мазохистом"? Такова жизнь и боль местных предпринимателей (((

(1106)
Что за мантры такие ООП, ООП. 1С и без него хорошо. Да и боюсь, что с ООП еще хуже сделают.
ООП - это возможности, а не проблемы. В 1С есть это самое ООП, но в "редуцированном" виде.

Суть ООП в чем? В том, что у нас есть возможность создать некоторый базовый объект с некоторым набором первичных признаков. Дальше этот объект может наследоваться, при этом потомки получают новые возможности. И при этом есть возможность изменив базовый объект автоматически передать свойства этого базового объекта всем его потомкам.

Суть - в унификации повторного использования кода. Вот сейчас есть у 1С та самая БСП, которая пытается решить проблему интерфейса отраслевой специфики и базовых механизмов. И вроде бы улучшая, например, модули работы с файлами - добавляя туда механизмы ЭЦП, сериализации, ссылочности, версионирования и прочее - система должна работать так, как это было. Я вызвал функцию общего модуля, получил, допустим, объект "Файл", а дальше я начинаю вызывать другие функции общих модулей вместо того, чтобы просто вызвать эти функции для моего объекта. И в 1С можно было бы вызвать функции самого объекта, и даже статические функции - функции модуля менеджера, но 1С решила все это в БСП держать, периодически перемещая функции между модулями. В итоге вроде бы у меня есть функционал использования прикрепленных файлов, но мне постоянно приходится проверять его работоспособность, ибо за несколько лет что только в этом механизме не менялось. А вот работал бы я с объектом "Файл" - для меня эти изменения прошли бы совершенно прозрачно. Я бы просто создал бы новый объект на основании владельца, получил бы коллекцию файлов, выгрузил бы их на диск (Files = New File(Owner); ForEach File in Files do File.Save(); endDo), потом бы обработал как мне надо. А если мне, например, надо было бы прикрепить к документу новый файл, то я бы просто написал бы так: File = New File(Owner); File.LoadFromFile(fullName);"


(1106)
Хотите сказать что российских героических разработчиков(1С) больше чем всех остальных во всем мире?
Как раз хочу сказать обратное - героев осталось мало, если вообще они остались. В остальном мире героев не так любят, как у нас (примером тому таскание по всем шоубизам парней, которые на кукурузном поле посадили боенг - они реально герои, но кое-то на них нехило поднялся, походу). Там больше любят процессы, в которые любых обычных людей можно запрячь. Хотя... В гуглах и прочих очень крупных конторах разработчику вообще часто свободного времени дают на проекты собственные, потом из этого всякие реакты и ангуляры получаются, на которых потом весь мир решения пилит (вот, например, сейчас активно развивается dart и flatter, которые я на свой линуксовый ноут поставил за 10 минут, и еще через 5 минут я уже написал свою приложуху - скопипасченную с документации - и засунул ее в виртуальный андройд, автоматом запускающийся из vscode, при этом когда я добавляю в yaml-файл новую либу, то vscode автоматом грузит ее, а когда я записываю файл исходника, то на андройдовской виртуалке у меня приложение синхронизируется и сразу же доступен новый функционал - т.е. никакой компиляции, а могу и в браузере это запустить, кстати).
Darklight; +1 Ответить
1114. amd1986 10.03.20 18:05 Сейчас в теме
(1110)
Так еще древние говорили, что Богу - богово, а Кесарю - кесарево. Не нужно все яйца в одну корзину класть, ибо для разных дел разные кейсы. Да, 1С позволяет предпринимателю с минимальным количеством событий сделать все в одном месте, но для среднего и крупного бизнеса такой подход губителен, т.к. из-за проблем с блокировками огромные ресурсы тратятся как на железо, так и на всевозможные доработки-оптимизации, которые и не нужны были бы при иной архитектуре. И у средних и больших компаний основное средство анализа часто Эксель, а не 1С, из которой дождаться отчета способен только очень много чаю пьющий линейный бухгалтер - главбух и финдир не лазят туда, а дают поручение кому-то из подчиненных вытащить нужные данные.

В общем все яйца в одном месте - это больно, но кто у нас начал заниматься бизнесом и не является при этом "мазохистом"? Такова жизнь и боль местных предпринимателей (((

По сути, такие проблемы только у крупняка. Там же и разделение и тд. 1С пытается туда залезть. Получится ли - это вопрос.

ООП - это возможности, а не проблемы. В 1С есть это самое ООП, но в "редуцированном" виде.

А может большие и не нужно? Не думаете, что дав больше свободы - будет больше хаоса, и типовые конфигурации превратятся в монстров типа ЗУП 3.?


Как раз хочу сказать обратное - героев осталось мало, если вообще они остались. В остальном мире героев не так любят, как у нас (примером тому таскание по всем шоубизам парней, которые на кукурузном поле посадили боенг - они реально герои, но кое-то на них нехило поднялся, походу). Там больше любят процессы, в которые любых обычных людей можно запрячь. Хотя... В гуглах и прочих очень крупных конторах разработчику вообще часто свободного времени дают на проекты собственные, потом из этого всякие реакты и ангуляры получаются, на которых потом весь мир решения пилит (вот, например, сейчас активно развивается dart и flatter, которые я на свой линуксовый ноут поставил за 10 минут, и еще через 5 минут я уже написал свою приложуху - скопипасченную с документации - и засунул ее в виртуальный андройд, автоматом запускающийся из vscode, при этом когда я добавляю в yaml-файл новую либу, то vscode автоматом грузит ее, а когда я записываю файл исходника, то на андройдовской виртуалке у меня приложение синхронизируется и сразу же доступен новый функционал - т.е. никакой компиляции, а могу и в браузере это запустить, кстати).

Ага, такие щедрые гуглы и такие жадные 1С. Опять штампы я смотрю.
1115. Darklight 32 10.03.20 18:16 Сейчас в теме
(1114)
А может большие и не нужно? Не думаете, что дав больше свободы - будет больше хаоса, и типовые конфигурации превратятся в монстров типа ЗУП 3.?

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

Ну а если ещё и макро-программирование появилось бы - вообще сказка была бы! Хотя да - макропрограммирование - вещь не всегда способствующая упрощению понимания кода - зато очень способствующая его сокращению и универсализации (в т.ч. с упрощением доработок). Тут главное не переборщить - вот в C++ с этим всё печально. А вот в Nemerle - реализация макросов, подающая надежды
1122. amd1986 10.03.20 21:04 Сейчас в теме
(1115)

Лично я считаю, именно из-за отсутствия ООП...

Думаете на другом языке программирования, разработанная типовая конфигурация имела бы меньше каши? Как бы не больше, т.к. свобода разрабам срывает башню и они начинают "творить". Ограниченный код задает стандарты. А вот по поводу общих модулей полностью согласен. Там каша. Описание типов и тд есть в едт, но хотелось бы и в конфигураторе + работа на 2 экрана + git. Директивы компиляции в общих модулях как бы есть, но не против их снять с свойств, и перенести в код. количество общих модулей уменьшилось бы в раза 3-4

Я бы пошел по пути глобальной модульности, а не глупости с функциональными опциями. Модули могут подгружаться из конфигуратора по интернету.
В конфигуратор можно было бы внести объект "Нечто", а из него лепить необходимую сущность.
Я бы еще с многопоточностью как на уровне клиента, так и на уровне сервера поработал бы.

Вообще, идей можно наклепать много.
acanta; RayCon; +2 Ответить
1127. Darklight 32 11.03.20 10:24 Сейчас в теме
(1122)
Думаете на другом языке программирования, разработанная типовая конфигурация имела бы меньше каши?

Дело не в другом языке. Можно и на 1С - если его усовершенствовать.
А свобода - да - она может срывать башню - поэтому тут важно не просто давать свободу - тут важно ещё и обучать правильно ей пользоваться - как минимум - обязательно читать книжки на подобии "Чистый код" Роберта Мартина. Смотреть обучающие видео. Формировать регламенты. И на своём примере (я говорю о типовых конфигурациях) показывать как применение этих рекомендаций упрощает программирование и анализ кода. Вообще нужно повышать культуру программирования. И да, сами технологии без культуры - бесполезны, какими бы крутыми они ни были.
Но сейчас типовой код 1С просто ужасен. Сдаётся мне - это вообще сделано намеренно - чтобы у программистов, которые потом будут это дорабатывать и обновлять, было больше работы - чтобы франчайзи смогли заработать. Обратная сторона - это отпугнуло молодые кадры - от того и кадровый голод!

Ограниченный код задает стандарты

Любой синтаксис задаёт те или иные стандарты. Но ограниченный - просто в итоге может начать загонять программиста в бутылку - код не будет легче - он будет становится всё запутаннее и запутаннее. Особенно когда мозг знает о крутых фишках в других языках - хочет их использовать и но в силу ограничений не может - и начинает изобретать велосипед с ромбическими колёсами!

Описание типов и тд есть в едт

Что Вы имели в виду?
Я говорил о возможности, скажем, задать тип аргумента функции (и возвращаемого значения):
функция МояФункция (Арг1 : Число(10,2),  Арг2 : Строка(100,.Фиксированная)) : 'СправочникСсылка'
     возврат Справочники[Арг2].НайтиПоКоду(Арг1);
КонецФункции


ну или задавать типы полей при описании класса

Класс МойКласс
     Перем Поле1 : Число(10);
     Перем Поле2 : Строка;
     Перем Поле3 : {Число, Строка};
     Перем Полe4 : 'ДокeментСсылка.ПоступлениеТоваровУслуг';
     Перем Поле5 : НекийМодуль.КакойтоКласс;
КонецКласса


Хотя переменным тоже можно задавать тип (хоть это, возможно, менее актуально)
Перем А : 'СправочникСсылка.Номенклатура' = МояФункция (1000001,"Номенклатура") КАК 'СправочникСсылка.Номенклатура';


Ну или с выведением типов
Перем А = МояФункция (1000001,"Номенклатура") КАК 'СправочникСсылка.Номенклатура';


ну или так - с выведением типа статически - т.к. тут все известно на стадии компиляции; и его фиксации для переменно А - "СправочникСсылка.Номенклатура"

Перем А = МояФункция (1000001,"Номенклатура") &СтатическаяТипизация


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

И да - я знаю, что это можно описать в комментарии, и да, я понял - что Вы имели в виде - то что EDT умеет это выводить в всплывающей подсказке. Это, конечно плюс, но всё-таки это всё через одно место и очень ограничено! Я за более масштабное описание - с проверками - полноценное контрактное программирование!
И да - конфигуратор это тоже умеет делать - см. прикреплённую картинку


работа на 2 экрана

Что Вам мешает работать в конфигураторе на два экрана - я, вот, без проблем работаю!

git

Есть в EDT - и надо полагать - это будущее разработки для 1С - когда туда всё перенесут - со временем от конфигуратора 1С, скорее всего, полностью откажется.
Да и к конфигуратору МОЖНО GIT прикрутить!

Директивы компиляции в общих модулях как бы есть

Да, поэтому я ставлю почти все свойства у общего модуля пишу вот так в рамках одного модуля

#ЕСЛИ Клиент ТОГДА
Функция МояФункция()
КонецФункции
#КОНЕЦЕСЛИ

#ЕСЛИ Сервер ИЛИ ТолстыйКлиент ИЛИ ВнешнееСоединение ТОГДА
Функция МояФункция2()
КонецФункции
#КОНЕЦЕСЛИ
Показать


И так с каждой функцией по отдельности - вместо того, чтобы просто написать перед ней "&НаКлиенте" и "&НаСервере&НаТолстомКлиенте&НаВнешнемСоединении" (лучше без приставок "На").

Правда, ещё - так отладчик 1С глючит - есть проблемы с точками останова - приходится - вносить директивы внутрь функций - тогда проблем меньше.

Но, я не могут так добавить "ВызовСервера" и "ПовторноеИспользование" (и "Привилегированный" - хотя в этом как раз особой нужды нет).
Приходится всё равно для этого создавать отдельные модули - просто блованки - и писать вот так

Отдельный модуль, например с ВызовСервера с именем "МойМодульВызовСервера"
функция МояФункция()
     возврат МойМодуль.МояФункция();
КонецФункции


Основной модуль с именем "МойМодуль"
функция МояФункция()
     #ЕСЛИ не Сервер ТОГДА
     возврат МойМодульВызовСервера.МояФункция();
     #КОНЕЦЕСЛИ

     //Какой-то алгоритм

КонецФункции
Показать



Я бы пошел по пути глобальной модульности, а не глупости с функциональными опциями

ну - модульность это да - вещь крутая была бы - но это отдельная тема.

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


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

Вот тут ничего не понял- что за страшное "НЕЧТО"?

Я бы еще с многопоточностью как на уровне клиента, так и на уровне сервера поработал бы.

Многопоточность - это тоже - отдельная тема - но её внедрение явно не сделает разработку легче

Вообще, идей можно наклепать много.

У меня их вагон - часть уже описана - когда-нибудь выложу в виде статей - может будет кому-интересно почитать - а может и вызовут обширную дискуссию - которая со временем сможет повлиять и на развитие 1С Предприятие - скажем для поколения 1С: Предприятие 9
Прикрепленные файлы:
1134. amd1986 11.03.20 12:05 Сейчас в теме
(1127)
Что Вы имели в виду?
Я говорил о возможности, скажем, задать тип аргумента функции (и возвращаемого значения):

В нем можно описать входные и выходные параметры процедур и функций. Если задать, то EDT будет проверять с учетом типов. Задаются типы не в коде, а в описаниях. Пример:

// Добавляет в справочник валют валюты из классификатора.
// При отсутствии обработки ЗагрузкаКурсовВалют валюты добавляются с наименованием "Валюта",
// символьный код соответствует цифровому.
//
// Параметры:
// Коды - Массив - цифровые коды добавляемых валют.
//
// Возвращаемое значение:
// Массив, СправочникСсылка.Валюты - ссылки созданных валют.
//

Что Вам мешает работать в конфигураторе на два экрана - я, вот, без проблем работаю!

Как? Может растягиванием формы на 2 экрана? В EDT любой модуль можно вытащить в отдельное окно.


Есть в EDT - и надо полагать - это будущее разработки для 1С - когда туда всё перенесут - со временем от конфигуратора 1С, скорее всего, полностью откажется.
Да и к конфигуратору МОЖНО GIT прикрутить!

Пока EDT слишком неудобен для этого. Посмотрим что будет дальше.


Да, поэтому я ставлю почти все свойства у общего модуля пишу вот так в рамках одного модуля

Удобно, но это костыль. Не уверен, что прошел бы аудит кода от 1С для 1С фреш.


А вот, функциональные опции - вещь хорошая - просто реализация хромает.

В описанном вашем варианте - все круто, но это совсем не похоже на текущие функциональные опции.


Многопоточность - это тоже - отдельная тема - но её внедрение явно не сделает разработку легче
. Вся многопоточность на клиенте реализована через фоновые задания. Это неудобно. Да и нюансы есть у фоновых заданий на сервере.


Вот тут ничего не понял- что за страшное

Чтобы с помощью "НЕЧТО" можно бы создавать новые виды объектов конфигурации. Через спец. конструктор описать его логику.

Или хотя бы иметь возможность наследовать объектам конфигурации процедуры/функции/г. переменные.
Не помешала бы и подписка на события для форм объектов конфигурации.
1136. Darklight 32 11.03.20 12:39 Сейчас в теме
(1134)
Если задать, то EDT будет проверять с учетом типов.

Про оторбражение в подсказке - написал, что и конфигуратор может тоже (хоть и более криво)
А вот что там EDT умеет проверят? Можете пояснить. Я просто пока не использую это IDE, но слежу за ней. Вот, в ближайшее время хочу-таки её опробовать.
Описание типов в комментария может и не самая ужасная идея - по крайней мере - если структура типов сложная - то задавать её в в самом списке аргументов может быть очень не красиво (об этом я в статье напишу - тут я много размышлял уже). Лично я не против возможности задавать типы и в коментарии (а ещё лучше в аннотациях - хотя это уже попахивает декораторами из Python - служащими для тех же целей - и мне это не очень нравиться, когда это становится основным механизмом указания типов) - просто нынешняя реализация не очень нравится. Нужно, чтобы проверки были как IDE (на лету и при компиляции) и в рантайм - для случаев, динамических вызовов.

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

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

Но, чтобы это появилось - нужно стековую машину очень перелапатить. Хотя, для управляемых форм это может и проще было бы сделать - ибо для WEB-клиента код 1С и так выполняется в браузере после трансляции в JavaScipt - хотя JavaScript то у нас тоже не многопоточный - но там научились выкручиваться (Node.js тому пример)!

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

Если сделать многопоточность внутри сеанса - потребность в фоновых процессах несколько снизится. Хотя, лично я не считаю, что это уж очень критично. Накрайняк - поддержку параллельности можно реализовать только на более дорогих лицензиях (а-ля КОРП). Оставив обычные без ней - само собой код конфигураций должен разрабатываться так, чтобы работать и синхронно и асинхронно.

Как? Может растягиванием формы на 2 экрана? В EDT любой модуль можно вытащить в отдельное окно.

Вот прямо сейчас сижу в конфигураторе и вывел себе содержимое таблицы и дерево конфигурации на другой монитор (текст модулей тоже так можно выводить).
Делается это через "Свободное окно" в подменю вкладки окна - смотрите приложенный скриншот

С остальными Вашими тезисами я согласен.
Прикрепленные файлы:
1138. amd1986 11.03.20 16:02 Сейчас в теме
(1136)
Про отображение в подсказке - написал, что и конфигуратор может тоже (хоть и более криво)
А вот что там EDT умеет проверят? Можете пояснить. Я просто пока не использую это IDE, но слежу за ней. Вот, в ближайшее время хочу-таки её опробовать.

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

Там много интересного есть, но лучше вам самим потестировать.

В том то и дело, что на клиенте вообще нет многопоточности.

Вроде как ее можно достичь, если использовать "Поле HTML документа". Можно запускать скрипты и js. Но там уже совсем другие технологии используются. И там пока сыро.

Посмотрим, как 1С выкрутится.

Вот прямо сейчас сижу в конфигураторе и вывел себе содержимое таблицы и дерево конфигурации на другой монитор (текст модулей тоже так можно выводить).
Делается это через "Свободное окно" в подменю вкладки окна - смотрите приложенный скриншот
Ого, и правда. 10++ лет в 1С и только сейчас узнал. Спасибо! В EDT без этих нюансов можно перенести форму.
1117. starik-2005 3043 10.03.20 18:18 Сейчас в теме
(1114)
По сути, такие проблемы только у крупняка. Там же и разделение и тд. 1С пытается туда залезть. Получится ли - это вопрос.
Даже у мелких компаний проблемы обычные: дубли, которые появились при синхронизации или каком-кривом добавлении, загрузке из экселей и прочими путями. Проблемы с закрытием месяца, расчетом налоговой базы и даже с примитивным формированием КУДиР, а вроде бы что там сложного, да? Но без программиста редкий бухгалтер долетит до середины Днепра. Проблем масса и никто толком их не решает. МДМ - дорого, BI - непонятно. Остается уповать, что ребята из минфига и налоговых органов допилят у себя онлайн-решения и бизнес будет свои РТУ в них засовывать, а не в 1С. А прайсы печатать - тут и экселя достаточно.

(1114)
и типовые конфигурации превратятся в монстров типа ЗУП 3.?
А что, ЗУП 3 - это не типовая? Был бы ООП - было бы разработчикам проще прежде всего, но у 1С тут тоже косяк - вряд ли они смогут вменяемо описать иерархию объектов и их методов в части прикладного решения и БСП.

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

А гуглы и прочее - это мэйнстрим, фронт развития технологий. И будет так, как они скажут, а не 1С. 1С только подражать способна, не более, а подражать плохо получается, т.к. понимания нет, куда все движется. А движется все (по Альтшуллеру) к идеальной системе, в которой функция выполняется, при этом минимальный объект ее выполняет. А сейчас 1С только разрастается, полностью игнорируя постулаты о сущностях без необходимости и простоте гениальности.
d4rkmesa; Quasar; +2 Ответить
1121. Господин ПЖ 10.03.20 19:48 Сейчас в теме
(1117)
Проблемы с закрытием месяца, расчетом налоговой базы и даже с примитивным формированием КУДиР, а вроде бы что там сложного, да? Но без программиста редкий бухгалтер долетит до середины Днепра.


ну дык... сначала 1с наколхозило в конфигурациях ибо баланс между производительностью и моделью метаданных такова. потом бухи налепили в базу "кривой" (какие в ... регистры!) первички. потом местный программист героически борется с последствиями того и другого



(1117)
И в этом тоже есть смысл, но он виден только тем, кто понимает, чем структурированный код отличается от объектно-ориентированного.


нету в этом смысла. никакого. ибо это есть как раз повтор ООП подручными средствами. нету у нас рефлексии и интерфейсов - а мы слепим их подобие. а отслеживать их реализацию будет разработчик (ему ж делать нехрен больше) и интерпретатор (который и так "быстрый" шта пипец)
1123. amd1986 10.03.20 21:19 Сейчас в теме
(1117)
Даже у мелких компаний проблемы обычные: дубли, которые появились при синхронизации или каком-кривом добавлении, загрузке из экселей и прочими путями. Проблемы с закрытием месяца, расчетом налоговой базы и даже с примитивным формированием КУДиР, а вроде бы что там сложного, да? Но без программиста редкий бухгалтер долетит до середины Днепра

И у мелких есть проблема, но для решения их проблем достаточно и "студента".

А что, ЗУП 3 - это не типовая? Был бы ООП - было бы разработчикам проще прежде всего, но у 1С тут тоже косяк - вряд ли они смогут вменяемо описать иерархию объектов и их методов в части прикладного решения и БСП.

Типовая, но с другим стилем разработки. Как будто они пытались реализовать ORM, но что то пошло не так. И теперь страдают.

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

Насчет профессионализма не согласен. Вполне профессионалы, но мне кажется, что они слишком ушли в стандарты, которые усложнили конфигурации. к БСП у меня ровно одна проблема - ее периодически изменяют без обратной совместимости.

А гуглы и прочее - это мэйнстрим, фронт развития технологий.

У гугла и прочих крупных куча бабла. Они двигают кучу технологий, какая нить из них выстрелит, остальные забудутся. Больше пеару. В 1С нет таких ресурсов, поэтому она старается использовать уже проверенные технологии. И если посмотреть - 1С мало подражает, т.к. уникумы.

А сейчас 1С только разрастается, полностью игнорируя постулаты о сущностях без необходимости и простоте гениальности.
1С выходит на новый уровень, на уровень крупняка(клиента). Мелочь они теряют. Пока тяжело, но они справятся, конкурентов, по сути, нет
1125. starik-2005 3043 10.03.20 22:00 Сейчас в теме
(1123)
И если посмотреть - 1С мало подражает, т.к. уникумы.
Они подражают, но делают это не очень хорошо (даже плохо). Вот еще в 8.4 (которая форкнутая 8.3.6, если не ошибаюсь) они начали думать о микросервисной архитектуре, встроенном веб-сервере, разделении сущностей. В итоге все вылилось в веб-сервер на 3 подключения без серверной лицензии (в файловой), непонятный механизм внешних таблиц и обвязка функций для работы с двоичными данными - потоки в памяти и файловые потоки, цепочки байт, битовые операции. Посмотрите, сколько публикаций на эту тему на Инфостерте, и увидите, что совсем немного, т.к. это особо никому не нужно, а затрачена масса усилий. Та же трехзвенная архитектура управляемого приложения с разделением клиентской части, работающей с интерфейсом, и серверной, работающей с базой. Но нет возможности толком с сервера оповестить клиента о промежуточном результате, сервер вообще теряет клиентский контекст без "keep-alive"-функций, которые должны раз в пять минут хотя бы дернуть сервер. Да и вообще, если я что-то такое запустил на сервере, а оно отрабатывает дольше 20 минут, то сервер и в этом случае забудет мою форму и не восстановит соединение, при этом, да, при перезапуске сервера все клиентские сеансы сохранятся и ничего не пропадет. А бороться с таким "странным" поведением системы рекомендуют с помощью фоновых процессов (т.н. "длительных операций", на тему которых запилили общие модули, не особо позаботившись о документации). Или, например, вот сделали историю объектов - просто отдельная таблица. Сделали фоновое помещение в историю, в итоге я включил историю для регистра сведений, после чего записав набор записей я упираюсь в жуткие тормоза системы в файловой. Смотрю, что делает 1С - создает на каждую запись набора записей отдельное фоновое задание и пишет в нем историю, пир том я один в базе, а эта хрень падает примерно раз в минуту на блокировках! Я в акуе - что тут сказать.

Вообще, вся эта клиент-серверная организация - это ровно то, что происходит при разработке веб-приложений в нормальном фреймворке: серверный код, код генератора форм, шаблоны форм, клиентский код на js. И это нормальный подход. Но если в разработке веб-приложений у тебя есть масса возможностей управления клиентской частью (сотни фремворков, да и bootstrap'а с jquery часто достаточно), то в 1С серьезные ограничения, в итоге многие вместо формы на 1С запиливают форму из HTML-поля. Так а нахрена 1С-то тогда? Не лучше ли сразу пилить все в HTML + js? Зачем мучить себя и окружающих? В вебе просто море генераторов форм (https://bootsnipp.com/forms, например), которые глупым 1С-негам помогли бы пилить нужные им формы, а умным помогли бы сделать часть бессмысленной работы. Вообще тонкий клиент - штука, ИМХО, бессмысленная (в принципе он и так HTML рендерит на экран, который сервер ему генерит).
selus; d4rkmesa; Quasar; +3 Ответить
1131. amd1986 11.03.20 11:38 Сейчас в теме
(1125)
Посмотрите, сколько публикаций на эту тему на Инфостерте, и увидите, что совсем немного, т.к. это особо никому не нужно, а затрачена масса усилий

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


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

Конечно, есть свои особенности, но может просто не умеете правильно готовить?

Сделали фоновое помещение в историю, в итоге я включил историю для регистра сведений, после чего записав набор записей я упираюсь в жуткие тормоза системы в файловой. Смотрю, что делает 1С - создает на каждую запись набора записей отдельное фоновое задание и пишет в нем историю, пир том я один в базе, а эта хрень падает примерно раз в минуту на блокировках! Я в акуе - что тут сказать.

Думаю, что файловых баз 1С этот функционал не нужен. Пусть переходят на клиент серверные. Но с ограничением фоновое задание на файловую базу - согласен, бред.


Вообще, вся эта клиент-серверная организация - это ровно то, что происходит при разработке веб-приложений в нормальном фреймворке: серверный код, код генератора форм, шаблоны форм, клиентский код на js. И это нормальный подход. Но если в разработке веб-приложений у тебя есть масса возможностей управления клиентской частью (сотни фремворков, да и bootstrap'а с jquery часто достаточно), то в 1С серьезные ограничения, в итоге многие вместо формы на 1С запиливают форму из HTML-поля. Так а нахрена 1С-то тогда? Не лучше ли сразу пилить все в HTML + js? Зачем мучить себя и окружающих? В вебе просто море генераторов форм (https://bootsnipp.com/forms, например), которые глупым 1С-негам помогли бы пилить нужные им формы, а умным помогли бы сделать часть бессмысленной работы. Вообще тонкий клиент - штука, ИМХО, бессмысленная (в принципе он и так HTML рендерит на экран, который сервер ему генерит).

Я думаю, что к этому придут, только фреймворк будет свой. Я экспериментировал на такой схеме, когда мессенджер Битрикс24 встраивал в 1С - пока кривовато, не всех инструментов хватает, да и баги..
1107. Darklight 32 10.03.20 17:10 Сейчас в теме
(1095)Насчёт переключения раскладки для ввода "{" и "}"
Во-первых - может всё-таки будущее языка 1С останется только в плоскости английского - тогда такой проблемы не будет (но не хочу подымать холивор по поводу нужна ли поддержка русскоязычных операторов в будущих поколениях платформы и языка 1С).
Во-вторых - Вас же сейчас не смущает, что для ввода "&" или ">", "<", "[", "]" - Вам всё-равно приходится переключать расскладку! А это не таки уж редкие символы в программах на 1С
В-третьих - IDE тут должна прийти на помощь - и ставить { } автоматически в местах, где их наличие почти 100% очивидно и статистически вероятно - как это делают все современные IDE для языокв, использующие данные скобки. Даже в 1С для этого можно настроить шаблоны (и уже есть настроенные шаблоны, скажем для ввода "<" и ">", например от Чистова). Ну, а стереть лишние пару символов - когда, в редких случаях, они будут не уместны - не проблема вообще
В-четвёртых - вручную ввести "{" и "}" можно и другими путями - например в местах, где их начличие ожидается - они могут быть в быстрой подсказке по "ALT+Пробел", или их можно вводить череp гор клавиши "ALT+Х" (русская хэ) и "ALT+Ъ" (они же "ALT+{" и "ALT+}"). Или через автозамену - вводишь (например) "Х_ " и "Ъ_ " (или боле длинные - коли охота - "начало_ " и "конец_ " соответственно) - и фраза тут же заменяется на "{" и "}" (не понравилось - нажал CTRL+Break или "ESC" - исходная фраза вернулась назад)
В-пятых - Скобки можно поставить и через рефактринг - выделил блок - нажал горячую комбинацию (да хоть "CTRL+ALT+Ъ"; или кнопку в меню) - и блок автоматически обрамился и отформатировался по отступу.
В-шестых - как было показано в моих примерах - фигурные скобки в ряде случаев вообще можно опустить.
А вот разновариативные словесные программные скобки так ставить куда сложнее! Впрочем - шаблоны 1С тут более менее помогают.

А насчёт читабельности - лично я считаю, что фигурные скобки (в общем в целом) читабельность как минимум не снижают, а я считаю - наоборот повышают. Ну а много чего ещё тут, для повышения читабельности, ещё может сделать IDE.
Я тут уже недавно спорил с автором Перфоленты на эту тему. И в результате вообще решил написать на эту тему статью - она уже в процессе - так что ждите - там будет и голосование. Надеюсь можно будет узнать мнение широкой аудитории.
1113. Darklight 32 10.03.20 17:58 Сейчас в теме
(1107)В-седьмых - забыл ещё вариант написания фигурных скобок добавить - через NumPad - "ALT+123" "ALT+125" - это "{" "}" соответственно.
Лично я так, очень часто без смены раскладки, ввожу (в порядке убывания частоты применения):
"ALT+35" #
"ALT+38" &
"ALT+60" <
"ALT+62" >
"ALT+91" [
"ALT+93" ]
"ALT+124" |
И иногда даже так (обычно в составе ">=" и "<="):
"ALT+61" =
И даже так
"ALT+59" ;
"ALT+34" "
"ALT+39" '
1124. amd1986 10.03.20 21:24 Сейчас в теме
(1113) эти комбинации знают единицы.
Проблема русского языка программирования - слишком много букв)
Понятно, что уже есть символы, для которых нужно раскладку переключать. С ними неудобно.
Если они будут ставиться автоматом - ничего не имею против фигурных скобок.
1128. Darklight 32 11.03.20 10:59 Сейчас в теме
(1124)
эти комбинации знают единицы.

Я просто привёл варианты - так сказать - при желании нормальный программист всегда может найти способы как упросить себе жизнь. А остальные - это просто дело правильной агитации и обучения, ну и поддержки со стороны IDE. Лично мне вариант с горячими клавишами "ALT+{" и "ALT+}" нравится больше всего (лучше - чтобы его поддерживала IDE, ну на крайняк - можно и в Autohotkey настроить - кстати надо себе такое там настроить а-ля "ALT+[" и "ALT+]" и "ALT+<" и "ALT+>" уже сейчас для 1С) - но это не исключает и возможность применения других вариантов вставки скобок. В т.ч. самой IDE - вот Visual Studio, например, сейчас очень удачно сама их расставляет. А компания JetBrains вон машинное обучение в IDE применяет и будет дальше ещё больше применять - для интеллектуальной помощи в быстром наборе и рефакторинге алгоритмов - прогресс в мире не стоит на месте - только 1С тонет в своём болоте!

Проблема русского языка программирования - слишком много букв)

Скорее не в многобуквенности больше дело (хотя и это тоже) а в в большой вариативности окончаний - русские падежи хороши для литературной речи, и ужасны там, где нужна чёткая и краткая формализация мыслей!
991. AlexO 135 06.03.20 11:43 Сейчас в теме
(905)
Экспорт - а как же инкапсуляция? Т.е. все функции всех модулей будут видны?
Не принимайте близко - там максимум, имитация вне 1С и подключение по COM.
906. CyberCerber 856 05.03.20 15:49 Сейчас в теме
(884) Тут заказывали лямбду, а мне еще интересно посмотреть на наследование прикладных объектов как можно реализовать. Сам бы делал.
912. Darklight 32 05.03.20 16:19 Сейчас в теме
(906)
наследование прикладных объектов как можно реализовать

Это тоже есть в наработках, но не завершено.
Но основа - это конечно кодогенерация интерфейсной части (через плагин) - с эмуляцией таблицы вызовов - для переопределений - это если говорить о классах, объявляемых в общих модулях. Наследование справочник/документов тоже возможно - через препроцессинг метаданных - и генерацию отдельного API в общем модуле.
В обоих случаях есть только загвоздка с реквизитами/свойствами - прямой доступ к ним без изменения синтаксиса языка не получается - только через вызов функций. Ну - язык можно расширить - пооводя трансляцию в классический 1С той же кодогенерацией через препроцессинг
918. brr 183 05.03.20 16:54 Сейчас в теме
(912) То есть надо над 1С делать еще один слой в котором и будет вестись "правильная" разработка и из которого в 1С будут отправляться инструкции как преобразовать фантазии разработчика в нативные объекты и код 1С?
922. Darklight 32 05.03.20 17:35 Сейчас в теме
(918)Да можно делать, а можно и не делать (но работать с этим будет гораздо менее удобно). Эта тема - скорее академическая - показать, что движок исполнительной среды 1С вполне может гораздо больше, чем позволяет синтаксис.

И да - можно сделать даже свой компилятор, который будет компилировать расширенный синтаксис 1С (и не расширенный тоже - для бесшовной интеграции) в байткод "1С opCode" - минуя лишние трансформации. Достаточно поставить его как плагин-прослойку между EDT и агентом конфигуратора платформы 1С: Предприятие 8 - и можно программировать на расширенном 1С, даже с отладкой (ну отладчик для расширенного 1С тоже нужно дорабатывать в качестве плагина к EDT, как и плагин синтаксической подсветки и контроля расширенного синтаксиса).
Но это всё реально! И привлечение компании 1С тут не обязательно - EDT построен на Eclipse - а это свободно расширяемая IDE. Ну а модули в байткодах (они же модули без исходных текстов) 1С конфигуратор и так поддерживает - нужен только сторонний компилятор - причём 1С Ассемблер тут уже был в прошлом году предствлен - осталось дело за малым - нужен синтаксический парсер и кодогенератор в операторы 1C Ассемблера
993. AlexO 135 06.03.20 11:57 Сейчас в теме
(922) извините, если резко отвечал.
Но вижу, что вы просто наивны, и полагаете, что 1С - это открытая развитая платформа, а не поделка на коленке с демо-СУБД.
И в мечтах улетели в космос ))
1059. Darklight 32 07.03.20 00:01 Сейчас в теме
(993)Ничего такого не полагал. Ни первого ни второго. Всё что написал - реально. Но пока рассматриваю лишь в академических целях.
985. AlexO 135 06.03.20 11:27 Сейчас в теме
(884)
Я могу Вам и ООП и лямбды сделать на текущем функционале и синтаксисе платформы 1С8
Извините, но вы только можете написать здесь сообщения. Вы либо не представляете, что такое ООП, либо - что такое 1С и как и на чем работает.
1060. Darklight 32 07.03.20 00:08 Сейчас в теме
(985)1С работает на стековой машине - вещь простая и в то же время универсальная. На ней много что можно было бы сделать, если отрешиться от языка 1С и компилировать сразу в "1C opCode" , только, вот, с асинхронностью да - будет проблема
825. CyberCerber 856 05.03.20 08:58 Сейчас в теме
(772)
Многие разработчики насмехаются не над русским синтаксисом, а над отставанием
По моему опыту, мимопроходящие прогеры просто видят русский текст, и им уже смешно. Они не изучали, не вникали в 1С, поэтому не знают, что там есть, а чего нет.

слишком низкоуровневым языком
как я понимаю, ты здесь говоришь о низком развитии? Потому как 1С как раз очень высокоуровневый язык.
833. neikist 05.03.20 09:54 Сейчас в теме
(825)
Поверьте, над русскоязычным синтаксисом давно никто не смеется, ну, по крайней мере в тех чатах в которых я сижу.
И нет, вы путаете фреймворк и язык. Языки высокого уровня от языков низкого уровня отличает наличие возможностей. То самое ООП, замыкания, лямбды, функции как объекты первого класса, паттерн матчинг, продвинутая работа с асинхронностью и прочие плюшки.
А фреймворк - это отдельный вопрос.
AllexSoft; Seaflame; +2 Ответить
836. CyberCerber 856 05.03.20 10:17 Сейчас в теме
(833) Ну нет, я знаю такие определения, они, кажется, официальные:
https://ru.wikipedia.org/wiki/%D0%9D%D0%B8%D0%B7%D0%BA%D0%BE%D1%83%D1%80%D0%BE%D0­%B2%D0%BD%D0%B5%D0%B2%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%­D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%­D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F
https://ru.wikipedia.org/wiki/%D0%92%D1%8B%D1%81%D0%BE%D0%BA%D0%BE%D1%83%D1%80%D0­%BE%D0%B2%D0%BD%D0%B5%D0%B2%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D­0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%­D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F
Т.е. низкоуровневый - это близко к процессору и машинным кодам, высокоуровневый - работа с абстракциями, с отвлеченными сущностями
Кстати, есть еще сверхвысокоуровненвые языки, и как раз к ним относится 1С, т.к. работает с предметными и бизнес- объектами:
https://ru.wikipedia.org/wiki/%D0%A1%D0%B2%D0%B5%D1%80%D1%85%D0%B2%D1%8B%D1%81%D0­%BE%D0%BA%D0%BE%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5%D0%B2%D1­%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%­D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%­D0%B8%D1%8F
840. neikist 05.03.20 10:38 Сейчас в теме
(836) Никоим образом к сверхвысокоуровневым 1с не относится. Даже согласно определению в лучшем случае SQL можно к ним отнести, но никак не 1с. В 1с мы описываем не что а как сделать.
Впрочем да, неправильный термин я выбрал для того чтобы описать почему над 1с смеются, но сути это не меняет, смеются именно над отсутствием возможностей которые я перечислил. Ибо современный высокоуровневый язык без таких возможностей для построения абстракций - курам на смех.
841. VmvLer 05.03.20 10:55 Сейчас в теме
(840) Вы глубоко и долго работали с БД, допустим в 500 гиг, а пару терр?

А ведь именно в эту область тянут 1С если бегло просмотреть новости на лентах последних месяцев?

Полагаю она(1С) жила бы в шоколаде и без области больших данных.
У нее масса других продуктов да и ларьки с середняками исправно платят по подпискам.
Парадокс в том, что в наших пенатах практически нет IT-гигантов которые готовы взвалить на себя груз "больших данных".
Главная задача 1С сейчас - прыгнуть выше головы и создать механизмы обработки
больших баз данных с приемлемой производительностью.
Сейчас в этом сегменте ситуация плачевна.

Балоболов- писателей с опп, жавой и прочими свистелакми на уровне двора хватает, но как только таких бросают в бездонную бочку ...они тонут и бегут
в свой мирок песочных продуктов для детишек.
selus; lefthander; user1094657; +3 3 Ответить
847. neikist 05.03.20 11:44 Сейчас в теме
(841)
Честно говоря не очень понял к чему ваше сообщение про большие данные. Я речь вообще о другом вел.
Отвечая на ваш вопрос - с крупными базами много не работал, но например участвовал в разработке одной коробки (ТОИР) и участвовал в нескольких проектах по ее внедрению, в т.ч. например в Магните, обычных пользователей было всего в районе 500, может чуть больше, к ним еще пара тысяч мобильных.
852. VmvLer 05.03.20 11:58 Сейчас в теме
(847) ничего другого бизнесу не нужно:
- ни блестящих менюшек,
- ни страданий разработчика по поводу отсутствия у него инструментов
- ни опп, ни жавы...

бизнесу нужно чтобы те же 500-1000 пользователей оперативно обрабатывали информацию, а не смотрели часами на зевающего с экрана кота
и
бизнесу нужно оперативно получать отчеты по данным анализа 100500
миллиандров строк за лет 5-10+
и еще бизнесу нужна отчетность в гос. органы

все, больше ничего реальному бизнесу не нужно, но 1С "буксует" и по этим простым требованиям. Думаю и вашу поделку в Магните положили под сукно по этому поводу,
ибо буксует.
858. neikist 05.03.20 12:13 Сейчас в теме
(852)
А так же бизнесу важна скорость и надежность разработки, внесения изменений. А это ООП и прочие фичи дают.
Ну и да, если смотреть только на то чего хочет бизнес - зачем же удивляться что старые разработчики сваливают, а новые не приходят.
Quasar; AlexO; sashocq; CyberCerber; +4 Ответить
873. VmvLer 05.03.20 13:09 Сейчас в теме
(858) толку от того, что приложение для бизнеса разработали быстро, но
под реальной нагрузкой оно загнулось?

Вас 1С укусила?)

Запилили за месяц, получили з/п и мутки, устроили презентацию с выпивкой
и топ-моделями на коробке с программой, а дальше что?

Для бизнеса важна скорость разработки только в том случае, если продукт будет работать стабильно под реальной нагрузкой!


Ну на фига ерп-продукт который из коробки работает только на демках
и презентациях, а на большой бд - это лопнувший после фуршета шарик,
где практичная логика в глобальном контексте развития?
Если логика мутить с бюджетом внедрения, а потом высасывать из заказчика все соки,
то да - вери гуд бизнес.
selus; d4rkmesa; +2 1 Ответить
876. neikist 05.03.20 13:25 Сейчас в теме
(873) Мда. А с чего вдруг повышение скорости разработки обязательно аффектить на производительность должно? Основные затыки по скорости в той же 1с не в прикладном коде а в запросах и вообще I/O
1002. Mikhail1972_ 06.03.20 12:37 Сейчас в теме
(840) как насчет метаданных разве это не признак языка высокоуровнего языка, работющего с бизнес объектами?
1003. neikist 06.03.20 12:42 Сейчас в теме
(1002) Это всего лишь признак неплохо спроектированного фреймворка. К языку это отношения не имеет от слова совсем. И уж тем более не дает описывать логику декларативно а не структурно.
1004. Mikhail1972_ 06.03.20 12:47 Сейчас в теме
(1003) что- то новое , раньше считалось чем ближе язык к базе данных тем ниже уровнь, чем больше абстракции и работы с предметными объектами тем выше.
889. Darklight 32 05.03.20 14:26 Сейчас в теме
(825)Чем язык 1С очень высокоуровневый - если в нём даже уровень процедурного программирования 70-х годов годов не реализован! По уровню возможностей, его даже Си - обгоняет (даже без системного программирования низкоуровневого взаимодействия с оборудованием). Не говоря уже о современном Visual Basic - с которого когда-то калькировали язык 1С. Ну а до C# и Kotlin, да даже до Python 3 - языку 1С как до небес!
904. CyberCerber 856 05.03.20 15:35 Сейчас в теме
(889) Да вы опять подменяете понятия. Вы говорите про развитие, "крутость" языка, тут спора нет. Но просто не надо использовать термины, которые имеют другой смысл. Я скинул определения выше. И 1С относится по этой шкале к предметно-ориентированным и сверхвысокоуровневым языкам.
Можно провести такую градацию:
1. Низкий уровень, Ассемблер. Идет работа напрямую с ячейками памяти.
2. Высокий уровень, Джава. Появляется абстракции. Например, объекты Файл, Таблица - такого в Ассемблере нет.
3. Сверхвысокий уровень, 1С. Появляются абстракции более высокого, предметного уровня. Например, РегистрНакопления, Субконто - таких объектов в Джаве нет.
selus; Quasar; irreal; +3 Ответить
909. Darklight 32 05.03.20 16:12 Сейчас в теме
(904)
Сверхвысокий уровень, 1С. Появляются абстракции более высокого, предметного уровня. Например, РегистрНакопления, Субконто - таких объектов в Джаве нет.

Ну Вы даёте. Эти понятия вообще к языку не имеют никакого отношения - это просто встроенные библиотечные компоненты!

То же и про высокий уровень - наличие в языке понятия "Файл" не относит его к высокоуровневому. Ибо, что есть Файл? Если это класс - тогда так и говорите - что наличие в языке классов - делает его высокоуровневым - но опять-таки - вот есть язык Pascal (и даже если взять его модификации аля Trurbo Pascal и Borland Pascal) - то там нет классов (но есть структуры) - такой язык относят к высокоуровневым. А язык Си - он какой? В нём тоже нет классов, но есть структуры! Тут мнения расходятся - многие считают его низкоуровневым, но когда он появился - он относился к высокоуровневым.
С другой стороны, скажем - язык IL - это выскоуровневый или низкоуровневый язык - он очень похож на ассемблер - но в нём есть типы и объекты (но очень урезанно)?
Многие относят его всё-таки к низкоуровневым языкам. И я тоже.

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

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

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

в wiki определение сверхвысокоуровневого языка дано верно - а вот примеры языков - тут я далеко не согалсен с тем, что и Python и Perl и Ruby и т.п. - сверхвысокоуровневые языки, как и 1С
1033. AlexO 135 06.03.20 15:49 Сейчас в теме
(909)
"Появляются абстракции более высокого, предметного уровня. Например, РегистрНакопления, Субконто - таких объектов в Джаве нет."
Ну Вы даёте. Эти понятия вообще к языку не имеют никакого отношения - это просто встроенные библиотечные компоненты!
В том и дело, что это всего навсего - описание структуры данных. А никакие не "библиотечные" понятия. Нет там никаких библиотек или "классов" - регистры, субконто...
Делаются скриптами (одноэсовыми, встроенными в платформу, чтобы у вас не возникало иллюзий от похожих слов). Не объекты ООП.
Вам правильно написали, что есть эти абстракции верхнего уровня, и таких нет в Яве, например. Но это и проблема - ну, вот есть они. Что с ними дальше делать? А дальше нужно работать с ними, изменять, дополнять, чтобы они взаимодействовали между собой, иначе - зачем все это, смотреть на них что ли...
И вот тут чем дальше - тем хуже, как в болотине - около берега вообще все прекрасно, "все в восторге" (как тут один написал), видится, что все можно запрограммировать (как пишет другой), ко всему можно получить доступ и обработать, не так - так по другому, через SQL, через библиотеки, ВК, нет - сами напишем (как пишет третий), любые данные получим из любой ОС и передадим на любое устройство (восторгается четвертый). Все получится, получим любой функционал, а база - та будет летать еще лет десять, пока сам сервер не устареет и не попросится на пенсию.
Но вот чуть глубже - уже засасывает, но слабенько же, можно не замечать. А слегка еще отойдешь - все, кранты, ступор, мгновенно утянуло на дно. И все настолько быстро, что и сообразить не успеешь - "ээ, а когда все сломалось/разрушилось/встало колом/ничего не получилось?".
У берега же все было так прекрасно, все в восторге..
1063. Darklight 32 07.03.20 00:14 Сейчас в теме
(1033)Считать на эту тему можно по-разному. В языке 1С эти элементы метаданных представлены объектной структурой, на подобии ООП (пускай и ограниченной). Лично я считаю их - просто автогенерируемой библиотекой ORM.
910. neikist 05.03.20 16:15 Сейчас в теме
(904)
Еще раз. По вашей же ссылке к сверхвысокоуровневым относятся языки в которых описываешь что а не как. А в 1с вы описываете именно как. Да еще и очень подробно. Без возможности свои абстракции по человечески создавать.
Darklight; +1 Ответить
914. Darklight 32 05.03.20 16:30 Сейчас в теме
(910)Там в wiki даны примеры языков - так вот они ошибочны - если сравивать 1С с Payhon - то да, они одного симейства (разве что Python просто куда более продвинутый язык) - но это не свервысокоуровневые языки! Практически ни один из приведённых там в wiki языков - не являеится сверхвысокоуровневым. Правильнее было бы сравнить с языком SQL- он куда ближе к сверхвысокоуровневой границе развития языков программирования - но я бы на 100% и его не стал бы туда зачислять!
801. AnatolPopov 168 04.03.20 21:50 Сейчас в теме
(771)
Показывать, в чем 1С реально сильна, что можно сделать программу для учета и хранения чего угодно буквально за полчаса ...

Вот только с обмана начинать не надо. Вся реклама так устроена, а по жизни получается долго и кропотливо. Я по этому поводу обычно вспоминаю рекламу какой-то софтины для презентаций из журнала где-то из 90-х. Начинается со слов "Вы только допили кофе и еще не стряхнули крошки, а шеф уже идет с заданием", ну и дальше по минутам расписана история успеха.
Хотя в чем хороша 1С, так это в возможности с нуля постепенно наращивать функционал, причем на каждом шаге у нас есть работоспособная и даже полезная программа.
... что можно потом превратить это в мобильное приложение, запускать в браузере и т.д.

Перед этим не забыть рассказать, чем хороший интерфейс отличается от слепленного за полчаса и для другой среды.
Quasar; irreal; +2 Ответить
827. CyberCerber 856 05.03.20 09:03 Сейчас в теме
(801) Ну почему же, вот взять автоматизацию учета на складе. Спр Номенклатура, док Прихода, Расхода, Ввода остатков, отчеты на СКД... Все это нормальный спец сможет сделать за полчаса. Да, это будет не супер крутое и удобное решение, но продукт рабочий, МЖП.
843. AnatolPopov 168 05.03.20 11:04 Сейчас в теме
(827) Это лишь подтверждает тезис: "Хотя в чем хороша 1С, так это в возможности с нуля постепенно наращивать функционал, причем на каждом шаге у нас есть работоспособная и даже полезная программа."
То, что "нормальный спец сможет сделать за полчаса", годится только для учета в домашней кладовке, да и то вскоре потребует развития.
Quasar; irreal; Darklight; lefthander; +4 Ответить
850. lefthander 05.03.20 11:49 Сейчас в теме
(827) Думаю если спец делает это первый раз действительно с нуля а не копипастом из предыдущих то примерно дня три, ну или пять 8 часовых рабочих дня. ;)
893. Darklight 32 05.03.20 14:38 Сейчас в теме
(827)Простые задачи - просто решать на любом современном фреймворке. 1С тут не выиграет много (хоть и в прошлом году именно на 1С победили в этом конкурсе на олимпиаде World Skills). Вот, когда система начнёт геометрически усложняться - вот тут 1С начнёт сдавать позиции. Вот поэтому типовые решения 1С, включая БСП - сейчас уже очень сложны и запутаны - но тут ясен пень - что для франчей делается - чтобы тем было как, на доработки этого хаоса, зарабатывать!
А ещё - 1С: Предприятие - это высокие затраты на лицензирование. Особенно для небольших контор. Особенно - WEB-ориентированных - а это уже более 90% всех сервисно/продажных организаций.
890. Darklight 32 05.03.20 14:32 Сейчас в теме
(801)
Перед этим не забыть рассказать, чем хороший интерфейс отличается от слепленного за полчаса и для другой среды.

Сейчас красивым интерфейсом 1С уже никого не удивишь. Ибо - разработка ушла в WEB - там полно готовых GUI фреймворков, подключаемых к разным платформам (в т.ч. офлайн), даже мобильня разработка на клиентах строится на идеологии построения WEB-GUI и есть свои мобильные фреймворки. Так что сделать красивый интерфейс не на 1С - это уже не проблема - хотя да, знаний пока требует чутка побольше. 1С - тут ещё в не конкуренции. Вот только с этой простотой уже связываться не особо кто и хочет - в силу её замкнутости и ограниченности такого опыта!
1009. AlexO 135 06.03.20 13:15 Сейчас в теме
(890)
там полно готовых GUI фреймворков, подключаемых к разным платформам
К 1С вы не подключите ничего от слова совсем.
1064. Darklight 32 07.03.20 00:15 Сейчас в теме
(1009)А причём тут 1С - если речь не про неё
1073. Quasar 07.03.20 17:39 Сейчас в теме
(1064) я так понимаю, что в (801) под
слепленного за полчаса и для другой среды
понималось мобильное приложение на 1С в среде Android или iOS.
824. Agrozentr 05.03.20 08:32 Сейчас в теме
(771)
Многие разработчики на других языках надсмехаются над русским синтаксисом 1С. Понятно, что объективно это предрассудки, но если думать о молодежи и международном рынке, то это может сыграть свою роль.


Согласен, что многие надсмехаются, и такие предрассудки тоже смешны;
согласен, что может сыграть свою роль, и тут стоит это улучшать,
НО:

Русский синтаксис это единственное на чем держится 1С,
это его лицо, без которого он станет незаметен для своих.
А для чужих все равно родным не станет!


Лично мне приятно и удобно писать на родном языке, и неприятно обратное, хоть и терпимо.
AlbinaAAA; AnatolPopov; +2 Ответить
894. Darklight 32 05.03.20 14:41 Сейчас в теме
(824)
Лично мне приятно и удобно писать на родном языке, и неприятно обратное, хоть и терпимо.

Мне кажется - для большинства - это вопрос привычки.
Но лично я уже задолбался постоянно раскладку туда сюда переключать (хотя этого и с англоязычным синтаксисом не избежать), и задолбался спрягать окончания русских слов.
936. acanta 05.03.20 19:11 Сейчас в теме
(824) будем вспоминать сколько было французского в бессмертных произведениях Л.Н.Толстого, и признаем, что современные разработчики переучиваться с английского в коде на русский не хотят, и правильно делают, потому что это потеря вложений в собственное обучение.

Обычные формы бог с ними, а уф можно нужно писать в английском варианте.
И да, один бухгалтер, программирующий отчеты в 1с, погоды не делает.
Журнал бумажный, прилагаемый к ИТС должен быть предназначен для директоров или финдиров. Бухгалтерский журнал можно прикладывать разве что к базовой бухгалтерии, а на нее и так подписки нет.
1034. AlexO 135 06.03.20 16:06 Сейчас в теме
(771)
Понятно, что многое здесь решится при использовании EDT
Ничего не решится. Очередная поделка, призванная не сделать ничего.
Громогласно презентована, планов громадье, выпуск - тут как обычно годами, и в конце - чего-нибудь реализуют кое-как и забудут как звать.
Что мешало развивать платформу? Зачем городить очередной "сервер" или "среду"? Причину вижу только одну - чтобы "а вот есть же <EDT, сервер взаимодействия, веб-модуль, ОФ, УФ>" - и списывать туда все хотелки, чаяния и желания, чтобы сообщество радостно улюлюкало и пиналось сладострастно в предположениях "а вот если реализуют.. а хорошо бы сделали... а вот уже кое-что раскрыто в планах..."
Потом все идет на свалку, и новые поколения неофитов учат про "скоро будут новые погремушки, и вот там-то...", и заучивают названия, выискивая тайный смысл и намеки в презентациях и агитках.
А воз и ныне там.
786. RayCon 785 04.03.20 19:00 Сейчас в теме
Какими, на Ваш взгляд, должны быть направления развития сообщества 1С-разработчиков?


Отвечу на этот вопрос в свете экспансии 1С на глобальный рынок...

1. Создание саморегулируемой ассоциации партнеров с целью:
1.1. Исключения межпартнёрской конкуренции
1.2. Исключения дублирования разработок партнёрами.
1.3. Коллективной разработки унифицированной библиотеки объектов метаданных (Applied Object Collection), отвечающих международным стандартам и обычаям делового оборота на основе бизнес-модели совместного производства на равных (Commons-based peer production).
1.4. Минимизации расходов при разработке решений.
1.5. Обмена знаниями и опытом для повышения компетенций.
1.6. Взаимного аутсорсинга.
1.7. Взаимного лизинга персонала.

2. Создание партнерской экосистемы в виде бизнес-инкубатора для портирования существующих в СНГ решений в решения, востребованные на Глобальном рынки:
2.1. Помощь партнёрам в продвижении решений (исключительные права остаётся у авторов).
2.2. Продвижении решений от лица партнёрской ассоциации (исключительные права выкупаются ассоциацией у авторов).
Зеленоград; +1 Ответить
789. ATropichev 04.03.20 19:47 Сейчас в теме
(786)
1.7. Взаимного лизинга персонала.


Ли́зинг — вид финансовых услуг, форма кредитования для приобретения основных средств предприятиями
Википедия

Вы, вообще, понимаете то, что пишете?
Рабовладение в России отменили в 1861 году.
790. ATropichev 04.03.20 19:50 Сейчас в теме
(786)
1.7. Взаимного лизинга персонала.


Пока модератор проверяет моё сообщение, объясните, пожалуйста, смысл этой фразы. Мне кажется вы не понимаете значение слова "лизинг".
849. RayCon 785 05.03.20 11:47 Сейчас в теме
(790) Мне самому не нравится этот термин по тем же причинам, что аренда людей - это нонсенс. Но на Западе он весьма распространён и подразумевает сделку, когда одна компания (подрядчик) временно откомандировывает своих сотрудников для работы в другую компанию (заказчик), за что получает вознаграждение. Этот разновидность субподряд, но с полным вовлечением в распорядок, действующий в офисе заказчика.
1036. irreal 32 06.03.20 16:27 Сейчас в теме
(786)
конкуренции
1.2. Исключения дублирования разработок партнёрами.
1.3. Коллективной разработки унифицированной библиот

Вякну может не в тему. Именно конкуренция франчей есть стимул для движения, не?
Неплохо бы вообще ревизировать проекты франчей, и не по выданным, а по бухгалтерски прибыльным проектам. Плесенью запахнет.
1038. AlexO 135 06.03.20 16:35 Сейчас в теме
(1036)
Именно конкуренция франчей
А её и нет, есть имитация конкуренции. И куча продуктов, ориентированных на одну нишу, и не закрывающую её полностью ни один.
И Николай давно уже в 1С варится (он не программист, специалист по ВЭД и юрист, а тут он, скорей, грамотный постановщик задач в данном случае), вы бы предметно с ним спорили.
1039. AlexO 135 06.03.20 16:37 Сейчас в теме
(1036)
Неплохо бы вообще ревизировать проекты франчей, и не поданным, а по бухгалтерски прибыльным проектам
неплохо бы вообще проверить все продукты франчей на соответствие надписям на их коробках. Но, увы..
RayCon; irreal; +2 Ответить
1057. RayCon 785 06.03.20 21:01 Сейчас в теме
(1036)
Вякну может не в тему. Именно конкуренция франчей есть стимул для движения, не?

Во-первых, на ранней стадии экспансии на глобальный рынок конкуренция вредна.
В-вторых, многие поделки фирм-франчайзи оставляют желать лучшего по той простой причине, что компетенций для серьёзного решения не хватает. Стандартная схема: заказчик что-то разжевал и в рот положил - вот и новое отраслевое решение. Но, как Вы правильно отметили, с точки зрения рентабельности, а также, добавлю, тиражируемости, оно часто оставляет желать лучшего. Помню, как-то общался с руководителем одной из крупнейших дочек фирмы 1С по поводу их тиражной разработки, и выдал ему перечень ошибок на 10 листах. В ответ же услышал: "А что вы хотите за 600 долларов?".
В-третьих, вместо конкурентной модели я предлагаю модель сотрудничества - пиринговой разработки, когда для создания тиражного и конкурентного на рынке решения компании-партнёры создают совместную команду из своих лучших специалистов. Это позволит гораздо быстрее делать решения и, самое главное, более грамотные решения, которые востребованы рынком.
Неплохо бы вообще ревизировать проекты франчей, и не по выданным, а по бухгалтерски прибыльным проектам. Плесенью запахнет.

Я предлагаю иную ревизию: скаутинг проектов, с целью выявления таких проектов, которые можно относительно быстро адаптировать для глобального рынка. Тот единственный пример 1C:Drive, который фирма 1С сейчас продаёт на глобальном рынке - это пример того, как не надо делать. Начинать надо с ядра системы - библиотеки международных стандартов и обычаев делового оборота, которое будет использовано во всех решениях для глобального рынке. Я, как соразработчик 1C:Drive, неоднократно это говорил коллегам ещё до того, как разработку подхватила фирма 1С, но... "у советских собственная гордость" (с) В.Маяковский.
787. Зеленоград 04.03.20 19:01 Сейчас в теме
Мир меняется с положительной второй производной, 1С не успевает и не сильно вроде бы хочет. Общий подход "Мыши плакали, кололись, но продолжали жрать кактус" однажды похоронит во-многом отличный продукт.

Теперь конструктивное:

1. Опубликовать адреса и телефоны всех сотрудников службы тестирования.
2. Отдать в public domain 77.
3. Дать право останавливать выпуск релизов сотрудникам службы тестирования.
4. Расширить службу тестирования.
haereticus; d4rkmesa; RayCon; +3 Ответить
798. AnatolPopov 168 04.03.20 21:32 Сейчас в теме
Я стал программистом 1С и админом 1С несколько лет назад, чтобы найти работу после сокращения. Так что вроде начинающий, а вроде и пенсия скоро.

1. Очень странным выглядит желание фирмы 1С считать братьями по разуму только обладателей желтых бумажек. И только им продавать комплект разработчика. Хотя давно уже стало очевидным, что в разработках на 1С свет клином не сошелся на регистре бухгалтерии и прочих подобных вещах, которые нужно изучить, за деньги сдать экзамен и никогда не пользоваться в своей практике.

2. Характерная особенность официальных руководств от 1С - это такие большие шпаргалки для тех, кто и так все знает. А кто не знает, тот не поймет, что с этим делать. В этом смысле 1С упорно следует традиции писать толстые книги одновременно обо все и ни о чем. Есть такой жанр в книжных магазинах. Из того, что есть на сайте 1С, разве что Заметки из Зазеркалья написаны человеческим языком и для людей. Поэтому люди учатся в основном на сторонних форумах.

Кстати, кто-нибудь может объяснить, зачем в коробке комплекта разработчика 100500 килограмм книг, половину из которых составляет распечатка синтакс-помощника? На ютубе есть ролик про распаковку той коробки, я ссылку на него даю всем, кто берется читать желтые обложки ;) Типа, когда эту книжку дочитаешь, не обольщайся, там еще есть ;)))

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

4. Не скажу за молодых, скажу за начинающих ;) Сколь-нибудь серьезное программирование в 1С лично у меня сопровождается матюгами. И администрирование тоже.

Первый раз я испытал недоумение, когда выяснил, как в отчете проверить, заполнены ли параметры. Получилась трехэтажная конструкция, в которой два этажа непонятно зачем пришлось громоздить.

А следующее яркое впечатление - это когда я три дня выяснял, как вывести табличку в окно УФ. Не только как это делается, но и как заставить работать конкретно у меня. Как легко и просто это делается в обычной форме, я к тому времени уже отлично знал. В общем, когда табличка нарисовалась, точнее, когда прошла эйфория, я люто ненавидел разработчиков платформы. НАХРЕНА так сложно делать востребованные вещи???

Из повседневных затруднений - вечный вопрос: вот это, что я получил по ходу дела - это объект, ссылка или особый третий тип ни то, ни се? Если с первыми двумя хотя бы перебором угадываешь, как дальше быть, то третий тип особенно доставляет. Вроде, означает нечто знакомое, и структура у этого нечто слева в окне видна, а нихрена он про ту структуру не знает и знать не хочет. Такое ощущение, что разработчики платформы сами толком не понимают фундаментальных вещей, ими же придуманных.

5. Насчет продвижения. Ну, про матюги см. выше.

Давно пора задуматься о единстве программного кода для Windows и Linux. Это насчет COM-объектов и прочих подобных вещей. При том, что 1С как будто бы в принципе платформонезависимая. Ну типа да... А как до дела доходит, то нет.

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

Удивляет, что постоянная доработка платформы сопровождается не только добавлением нового, но и отказом от старого. В этом смысле режим совместимости - сплошное огорчение. Я понимаю, что в режиме совместимости надо поддерживать старые вещи, но почему при этом надо запрещать новые, если платформа новая и в ней все реализовано?

Что уж точно не способствует продвижению платформы, так это нагромождение менеджеров у объектов конфигурации. Хочется спросить у 1С - вы там свою оргструктуру воспроизвели, что ли? Пытаешься применить метод или получить свойство - ан нет, низззя. Получи объект, найди менеджера, поди туда, поди сюда, потом обращайся. И вообще, вам на этаж ниже, методы и свойства там ищите.

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

Насчет кода. Впечатляет, когда видишь в БСП творческое развитие методов вроде ЗначениеЗаполнено(). А в самой платформе не судьба так сделать? Как будто разработчики никогда не слышали про язык C, где в одной и той же стандартной библиотеке есть _функция() уровнем пониже и функция() уровнем повыше.

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

Или в свое время я обрадовался, прочитав, что в платформе наконец-то реализовали что-то вроде ЧислоПрописью() или как-то так. То есть к тому времени уже была функция, делающая это самое применительно к какому-нибудь предмету, а отдельно от предмета еще не было. Хотя понятно, что внутри-то оно было, но только внутри. Хорошо хоть, догадались наружу вынести.
John_Davidson; AlexO; v3rter; DrAku1a; haereticus; morin; irreal; Darklight; FetisovAN; d4rkmesa; lefthander; brr; prestige; uginv; +14 Ответить
895. Darklight 32 05.03.20 14:50 Сейчас в теме
(798)Не стоит ядро 1С перегружать встроенными функциями. Там - должен быть определённый базовый минимум, требующий скоростной работы. Всё остальное - должно быть именно на уровне библиотек. В т.ч. входящих в состав платформы - но именно как внешние библиотеки. Которые легко должны подключаться как персонально к проекту, так и ко всем сразу

А книжки с описанием синтаксиса уже давно не кладут в коробку с 1С - от того книжек поубавилось
1041. AnatolPopov 168 06.03.20 16:56 Сейчас в теме
(895)
А книжки с описанием синтаксиса уже давно не кладут в коробку с 1С - от того книжек поубавилось

Я поначалу все думал, что за легендарное пятикнижие, где бы его взять да почитать? Наверняка, пять томов сплошь тайного знания и секретных кодов. А как узнал, что это распечатка синтакс-помощника - слава богу, что не сбылась мечта идиота ;)))
1061. Darklight 32 07.03.20 00:11 Сейчас в теме
(1041)Ну, вообще-то не распечатка синтакс-помощника. А вполне себе полноценная справочная библиотека. Другое дело - что смысла в ней сейчас особо уже нет. Ибо есть встроенная справка и документация на ИТС. Просто раньше этих электронных справочных материалов не было вовсе. А информация в синтакс-помошнике - всё-таки более ограничена
958. irreal 32 05.03.20 22:42 Сейчас в теме
(798) Я такой же, только втолкнули в 1с лет 15 назад, Бывший физик, знал Фортран, Pascal(Delphi), C++, чистый SQL, а сейчас уже на излете - 15 лет 1Ц и предмета отупляют. Все постигается методом проб и ошибок, книги толковые бывают. И интернет в помощь. И прежние знания. Был до 1с SQL-щиком - так и будешь все писать запросами. ЗУП 2.5 в этом поле была раем. Но развитие в сторону управляемых форм частично убило прозрачность SQL. SQL-щик теперь должен долго выяснять структуру связей и в итоге получать юнион пяти таблиц...
Молодежь рулит.
AnatolPopov; DrAku1a; +2 Ответить
1046. AnatolPopov 168 06.03.20 17:33 Сейчас в теме
(958)
Был до 1с SQL-щиком - так и будешь все писать запросами.

Я до 1С вообще с базами дела не имел, а про SQL имел самые общие представления. Но, поскольку изучать 1С начал с 8.3, SQL в реализации 1С нормально зашел. Зато когда на работу устроился, пришлось исправлять чужие косяки в самописных разработках под 7.7, ковыряться в типовых под 8.3 и переделывать чужое в режиме совместимости с 8.2. В общем, смена эпох в 1С у меня проходила по паре раз на дню во всех направлениях ;) Забавно было смотреть, как у коллег, воспитанных на 7.7, результат простенького запроса потом обрабатывается в цикле и добирает данные из базы ;)

Но развитие в сторону управляемых форм частично убило прозрачность SQL.

Насчет этого не понял. Не в курсе. Лично для меня каждый раз становится открытием, сколько всего навешано на SQL в серьезных СУБД. Все жду, что однажды увижу там команды ассемблера ;) Да и сам стандарт SQL все больше напоминает сооружение из костылей и подпорок. Прозрачность SQL убило то, что он был придуман таким лаконичным, сферическим в вакууме, но мало подходящим к реальной жизни. В итоге принялись приспосабливать, кто во что горазд.
1049. irreal 32 06.03.20 17:47 Сейчас в теме
(1046) Все помню. И 4 часа расчета взносов, когда вылезет результат и ничего промежуточного, и отладку этого, когда надо остановить на 2 часу).

К SQL нужно привыкнуть. Консоль запросов - обязательный инструмент, сначала там на данных, потом в конфу. И есть жопа, которая что в 1с, что в Аксапте -одна, только в профиль. Объектный и табличный подходы противоречат друг другу. Объектный понятен, но работает с одной строкой. Табличный туманнее, но позволяет оперировать одновременно неограниченным числом объектов.
809. пользователь 04.03.20 23:27
Сообщение было скрыто модератором.
...
810. пользователь 04.03.20 23:47
Сообщение было скрыто модератором.
...
811. buchhalter 21 05.03.20 00:44 Сейчас в теме
На все вопросы у меня два ответа (1 - стратегический, 2 - практический):

1. Не надо пытаться все сразу переводить на коммерческую выгоду. Поверьте, это выгода сиюминутная, но в будущем это аукается еще как. Для такой немаленькой организации, как 1С, это немаловажно - вести бизнес, планируя его в не очень скором будущем.

2. Необходимо сделать платформу и сервер 1С бесплатными, а оплату брать за разработанные конфигурации и их поддержку. В крайнем случае, сделать бесплатными для специалистов, имеющих сертификат специалиста 1С. Ведь человек, получивший этот сертификат уже обозначил серьезность своих намерений работать с 1С:Предприятие.
Quasar; RayCon; +2 Ответить
813. user1094657 05.03.20 01:17 Сейчас в теме
(811) Не согласен. Мое дело удовлетворить клиента, а фирме 1с предоставить все необходимое мне для этого, даже франч лишнее передаточное звено. Да и свое юридическое лицо держать геморой. Просто у меня с 1с долевое участие. Тут вопрос в обратной связи не нате жрите что мы тут наваляли. Гребитесь и доводите. Ценовая политика не сильно важно. Важно минимальные мои трудозатраты на максимально полное удовлетворение клиента.
Оставьте свое сообщение

См. также

Последний шанс купить билеты на конференцию «Анализ и Управление в ИТ-проектах 2024» со скидкой

Новость Aнализ&Управление Мероприятия

С 16 мая цены на участие в конференции «Анализ и Управление в ИТ-проектах 2024» изменятся. Если вы еще не успели купить билеты – не упустите последнюю возможность и воспользуйтесь финальной скидкой до повышения цены. 

сегодня в 12:28    48    user997184    0       

1

Онлайн-курс «1C:Предприятие для программистов: Запросы и отчеты»: старт уже завтра

Новость Обучение Программист

На курсе мы займемся изучением языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе «1С:Предприятие».

сегодня в 10:00    85    AnastasiaKl    0       

1

Таймлист – сервис для расшифровки и автопротоколирования совещаний и встреч получил обновления

Новость

Оставляйте заявку на демонстрационную встречу, где вы узнаете о новых функциональных возможностях сервиса «Таймлист» и корпоративной версии. После демонстрации вы сможете получить доступ к бесплатному тестированию функционала сервиса.

08.05.2024    600    AnastasiaKl    0       

3

Рассказываем о докладах секции «Кейсы крупных компаний»

Новость Aнализ&Управление Мероприятия

Постоянная «рубрика» конференций Инфостарт – Кейсы крупных компаний. В этой секции партнеры конференции делятся практиками и инструментами, с которыми работают в своих компаниях. И все это – на примере реальных кейсов.

08.05.2024    574    user997184    0       

15

«Библиотека стандартных подсистем» – курс для начинающих 1С-программистов

Новость Обучение Программист

Онлайн-курс стартует 15 мая, а значит до начала обучения осталась всего неделя. Продолжительность курса – 2 недели, и за это время мы изучим такой универсальный инструментарий разработчика, как «1С:Библиотека стандартных подсистем».

08.05.2024    595    AnastasiaKl    0       

1

«1С:Корпорация» расширяется: новые лицензии и новые продукты в составе поставки

Новость

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

08.05.2024    447    ЕленаЧерепнева    0       

1

16 мая состоится бесплатный вебинар «Тонкости работы с Infostart Toolkit»

Новость InfostartToolkit Маркетплейс

16 мая вместе с разработчиком решения Евгением Люлюком погрузимся в тонкости работы с Infostart Toolkit. Если вы хотите знать больше о неявных возможностях решения – присоединяйтесь.

07.05.2024    538    user997184    1       

1

Новый эксперимент по маркировке: бакалейная продукция

Новость ИТ-Новость Маркировка

С 1 июля 2024 года России может начаться маркировка некоторых товаров бакалеи. Пока экспериментально – участие производителей и продавцов бакалейной продукции по желанию.

07.05.2024    513    user1915669    0       

1

Готово расписание конференции «Анализ и управление в ИТ-проектах 2024»

Новость Aнализ&Управление Мероприятия

В расписании представлены активности шести тематических секций для аналитиков и руководителей проектов. Расписание составлено так, чтобы участники смогли построить удобный маршрут: куда пойти, какой доклад или мастер-класс посетить.

06.05.2024    835    eselyanina    0       

16

Не Документооборот, а Документооборотище: итоги форума пользователей 1С:ДО

Новость 1С:Документооборот ИТ-Новость

Фирма «1С» провела ежегодный форум пользователей 1С:Документооборота. Мероприятие длилось более 7 часов. Собрали в нашем обзоре несколько давно ожидаемых и почти сенсационных новостей, а также ссылки на наиболее интересные доклады.

06.05.2024    591    ЕленаЧерепнева    6       

2

Abedyabka – партнер конференции «Анализ и Управление в ИТ-проектах», отвечающий за игровой досуг участников

Новость Aнализ&Управление Мероприятия

Головоломки, конструкторы, пазлы и загадки – все эти развлечения для хорошего настроения и «прокачки» мозговой активности вы найдете у стенда компании Abedyabka. Игровой ассортимент подойдет для детей и взрослых.

06.05.2024    503    AnastasiaKl    0       

1

1С:Управление образования 2.0: новые возможности и условия поддержки версии 1.0

Новость Образование

Опубликована конфигурация 1С:Управление образования 2.0. Продукт позволяет консолидировать данные об инфраструктуре подведомственных образовательных организаций и предназначен для органов управления регионального и муниципального уровня.

06.05.2024    700    ЕленаЧерепнева    0       

1

Записывайтесь на курс для 1С-программистов по разработке запросов и отчетов

Новость Обучение Программист

14 мая стартует онлайн-интенсив «1C:Предприятие для программистов: Запросы и отчеты». На курсе мы займемся изучением языка запросов, возможностей системы компоновки данных и получим практические навыки по разработке запросов и отчетов.

06.05.2024    629    AnastasiaKl    0       

15

Контекстные обсуждения в 1С 8.3.27: показать все, что скрыто

Новость Зазеркалье

Фирма «1С» в очередном анонсе будущего релиза технологической платформы 1С:Предприятие 8.2.27 пообещала реализовать поиск по контекстным обсуждениям в Системе взаимодействия. Также ожидается обновление для интеграции с WhatsApp и Linux-пользователей.

03.05.2024    1093    ЕленаЧерепнева    0       

1

1С-Отчетность: дистанционный перевыпуск сертификата УЦ ФНС и бесплатный ЛК

Новость Отчетность Сервисы ИТС

В сервисе 1С-Отчетность появилась функциональность дистанционного перевыпуска сертификата УЦ ФНС для руководителя организации. Также продлевается бесплатное использование облачного «Личного кабинета» для контроля отчетности всех инфобаз компании.

03.05.2024    845    ЕленаЧерепнева    3       

1

Издательство МИФ дарит участникам конференции «Анализ & Управление в ИТ-проектах» промокод на скидку 10%

Новость Aнализ&Управление Мероприятия

Издательство МИФ – официальный партнер конференции «Анализ & Управление в ИТ-проектах». Это значит, что на конференции можно будет потрогать, посмотреть и купить книги об управлении, тайм-менеджменте и бизнесе

02.05.2024    826    user997184    0       

15

Росстат обновил правила заполнения отчета по основным показателям деятельности малого бизнеса

Новость ИТ-Новость Отчетность

С 10 апреля 2024 года изменились правила заполнения отчета в Росстат по форме №ПМ «Сведения об основных показателях деятельности малого предприятия». Сама форма осталась прежней.

02.05.2024    800    user1915669    0       

2

Онлайн-курс «Автоматизированное тестирование в 1С»: старт 6 мая

Новость Обучение Программист

До старта курса по автоматизированному тестированию в 1С осталось 4 дня. Количество мест на тариф с обратной связью от преподавателя – ограничено. Успейте записаться!

02.05.2024    1082    AnastasiaKl    0       

2

MAKER: экономьте время на составлении ТЗ и визуализации интерфейса при разработке в 1С «с нуля»

Новость Сервисы ИТС

MAKER – это первый онлайн-сервис для прототипирования, разработанный специально для 1С. Позволяет быстро создать прототип будущей системы или её отдельной функции. Попробуйте сервис MAKER для прототипирования и генерации ТЗ бесплатно

02.05.2024    3599    vikad    0       

28

Купите участие в конференции «Анализ и Управление в ИТ-проектах 2024» до повышения цен

Новость Aнализ&Управление Мероприятия

С 1 мая цена на участие в конференции «Анализ и Управление в ИТ-проектах 2024» станет выше. Если вы еще сомневаетесь, стоит ли вам участвовать – подготовили несколько аргументов в пользу того, почему билет стоит купить уже сейчас.

28.04.2024    1316    user997184    0       

16

Новый комплект для сметчиков и проектировщиков – «1С:Смета и Renga Professional»

Новость Строительство

Фирма «1С» выпустила новый комплект решений с расширенной функциональностью для выпуска и хранения сметной документации, а также автоматизации составления и расчета сметы на основе цифровой информационной модели (ЦИМ) объекта.

27.04.2024    1003    ЕленаЧерепнева    0       

3

Разработка прикладных решений с помощью Библиотеки стандартных подсистем: курс по 1С-программированию

Новость Обучение Программист

15 мая стартует онлайн-курс «1С: Библиотека стандартных подсистем для начинающих». На курсе мы будем изучать инструментарий разработчика и создавать прикладные решения на основе Библиотеки стандартных подсистем (БСП).

24.04.2024    2851    AnastasiaKl    0       

16

Знакомимся с модератором секции «Открытый микрофон» и продолжаем прием заявок

Новость Aнализ&Управление Мероприятия

Секция «Открытый микрофон» обрела своего модератора – им стала постоянный докладчик конференций Инфостарт, Елена Дуюн. Знакомимся с Еленой поближе и напоминаем, как подать заявку на доклад для «Открытого микрофона», если вы еще этого не сделали.

23.04.2024    1117    user997184    0       

16

Что будем осваивать в мае: онлайн-курс «1C:Предприятие для программистов: Запросы и отчеты»

Новость Обучение Программист

14 мая на Инфостарт начнется обширный онлайн-курс по запросам и возможностям системы компоновки данных в 1С:Предприятии.

23.04.2024    1292    user997184    2       

16