Переманить опытного PG SQL DBA на администрирование hiload проекта с JAVA на 1С практически не возможно.
так он знает, что его опыт практически бесполезен. 1с относится к хранилищу данных в виде субд еще с времен 7.7 как к мусорной куче
И без «Экспертов», «Эксплуататоров» (есть такие направления в экосистеме 1С) оно просто стает колом и не работает
имхо вы слишком высокого мнения об этом направлении. можно купить книжку, посмотреть курсы — ничего такого чего не знал бы нормальный DBA там не дают. все тоже самое, только в количестве 10% от реальных возможностей/потребностей по этому направлению + исковерканное подходом «доступно и всерьез»
Платформа в плане работы с данными застряла в 92м году.
тут не согласен — она теперь по крайней мере не считает итоги на клиенте во временных файлах… хотя чем бывает занят сервер приложений не всегда понять можно
кстати еще забыл — не работает переход в «служебных» списках (типа «Документы» из «Все функции») — должно быть перемещение по списку при наборе имени. Его нет. А в обычных формах есть
Кроме того вы забываете, что это чаще всего приложения на платформе 1С находятся на поддержке поставщика, то есть периодически ее приходится обновлять. И количество конфликтов при таких наследованиях будет очень большое.
а сейчас у нас гигантское количество конфликтов если пользоваться стандартными функциями БСП
поменяли версию — опять надо перепроверять всё. от проведения и печати до отчетов
Вот например в ERP есть расчет себестоимости с помощью СЛАУ, сейчас в платформе появился объект, который быстро решает СЛАУ. В isFusion такое есть?
нашли чем хвалиться… решать слау 1с начала еще в лохматом году в рамках УПП. Потом когда стало понятно, что на уровне языка делать это невозможно из-за адской тормознутости — утопили этот функционал в платформу. и снова выдаем это за очередной технологический прорыв
Я разрабатываю всю новую функциональность на управляемых формах с 2011 года, и у меня не разу не возникало неразрешимых проблем.
нуда… помним, знаем, любим… пихаем невидимых надписей и сплиттеров побольше чтобы масштабирование и центровка работала…
что? вам нужна форме сложнее чем два реквизита и кнопка «закрыть»? у меня для вас плохие новости — вы ее даже сверстать вменяемо не сможете — она просто будет виснуть
Какая альтернатива то? Но мне разработка интерфейса кодом нафиг не нужна, особенно когда я знаю какие по сложности бывают формы.
разработка интерфейса кодом (как в 1с принято) и верстка интерфейса «кодом» — это «четыре разных человека»
я вот нихера не понимаю зачем всех «заставили привыкнуть» к тому, что таблицу значений на сервер надо передавать в виде массива массивов
Оно включает в себя в том числе работу в браузере любого прикладного решения.
зачем? есть же тонкий клиент — ну доведите его до ума. или реально тогда все перекидываем в web и начинаем все делать «по взрослому»
двум богам служить нельзя, «запуск в любой кофеварке» все будет состоять из компромиссов, «не держите его так» и костылей… чем это оправдано кроме рекламных проспектов «а мы вот как можем»?
В платформе 1С исторически есть поддержка модальных окон, но сейчас это bad practice.
ага. а это значицо best practice:
Присвоение cсылочного параметра: Отказ
Этот пример по своему «диагностическому сообщению» очень похож на предыдущий, но решение его уже не такое простое. Например, исходный код выглядит так:
Если Ответ = ВариантыОтветов.Нет Тогда
Отказ = Истина; //форма не закроется
КонецЕсли;
КонецПроцедуры
Суть проблемы здесь та же, что и в предыдущем примере. После выполнения модального метода нужно присвоить значение переменной «Отказ». Но сделать это в контексте обработчика оповещения невозможно.
Дополнительная сложность заключается в том, что просто переставить местами строки кода, как в предыдущем примере, тоже нельзя. Отказ выполняется только при одном из условий.
Поэтому тут нужно применять решение, которое описано в разделе Вопрос в обработчике формы ПередЗакрытием. Выполнять закрытие формы «в два прохода». Первый раз безусловно отказываться от действия и только задавать вопрос. А второй раз уже закрывать форму. А чтобы не зациклиться, использовать переменную модуля для того, чтобы отличить первый проход от второго.
гениально!
Я сразу вспоминаю молодость на 7.7… Где чтобы вызвать действие на форме надо было вызывать «фальшивое» закрытие этой самой формы… тот же принцип был — взводится флаг, вызывается закрытие с «Отказ = Истина», нужное действие срабатывает, ура товарищи…
молодцы! новое поколение костылестроителей тчут заветы «предков»!
сейчас опять начнется — «чем вам BeginEnvokeИменемБорисаНуралиева() не async/await» и еще 150 постов в попытках объяснить, а потом еще 150 постов «докажите мне что без этого жить невозможно»
современный стек используемых технологий и результат. Результат нашей работы — это наши пользователи, довольные пользователи.
результат отменный, дыыыа…
сижу за 8.3.13.1644
в конфигураторе не работает ctrl+break на глобальном поиске — надо ждать пока перелопатит весь код во всех модулях в поисках какого-нибудь заветного «П0000200021_1»
далее сравниваем два cf, жмакаем в «показать различия в модулях». вместо целого окна появляется его «кусочек», работать с ним невозможно, кнопок нет, жмем заветные alt+shift+r — окно приходит в себя. ненадолго…
вы когда сборки платформы делаете — вообще не проверяете, что получилось? Такое не заметить при минимальном выпускном тестировании — просто нереально
хорошая, добротная основа для всех и небольшие затраты (если это делать грамотно) на кастомизацию под самые изысканные требования enterprise.
тоже какой булшит. как можно делать «грамотные кастомизации» в безграмотных решениях? вы же сами губите собственные идеи дурной реализацией клиент-серверного взаимодействия, декларируемого интерфейса, асинхронности
В моем понимании — это должен делать аналитик, он также должен состыковывать хотелки, чтобы то, что надо было одному отделу разработку не порушило работу другого отдела.
вообще такие рассуждения даже слышать странно… не потому что «это вам не нужно», а потому что если это обсуждают — значит этого нет
ну как так-то? ну даже у нас, ничем не примечательной конторы которая пилила свое отраслевое решение, 15(!) лет назад еще на 7.7(!!) БЫЛ свой отдельный менеджер по «входящим требованиям». который принимал решения, какие фичи будут реализованы, а какие «завихрения» клиентов останутся без ответа. у него была постоянная связь с отделом внедрения, с региональными представительствами, с бизнес аналитиками, с архитектором решения
если с 1С что-то случится, они пойдут на улицу милостыню просить.
ну что-то в этом есть, да… идти им будет особо некуда. ибо за пределами языка и фреймворка 20-ти летней давности вообще IT не знают. но с самомнением… часть народу еще твердо уверено, что бухгалтерский самолетик или fifo — это какое-то сокровенное знание, доступное только им. эту песню гагарин лично пел в космосе упр. формы это невероятное достижение 1с, текущая реализация асинхронности — даст ист фантастиш, мы тоже «можем в git»…
когда на пальцах объясняешь, что «всё не так ребята» и «вас уже 20 лет водят по пустыне» — начинаются наскоки, самое веселое — от людей по сути некомпетентных, не владеющих ничем кроме «конструктора запросов» и слаще брюквы ничего не евших
«представлена» и «работает» — это не совсем одно и тоже
продукт с «огромным но «минимально требуемым» объемом функциональности»
а к этому вообще большиииииие вопросы… можно попасть как в УПП. который был флагманом, «с огромным объемом функционала». А потом в сухом остатке оказалось, что проектный учет не работает, МСФО не работает, упр. учет не работает, казначейство не работает, планирование производства не работает…
1с много чего «декларирует», но по факту часть «огромного функционала» карго-культ. муляж из глины и веток
либо кривые архитектурные решения с костыльными сущностями из-за кривой платформы — привет 3 субконто на счете.
И будет 15 временных таблиц в запросе, потому что сборка какой-нибудь отчетности по страховым взносам требует залезть почти во все модули учета, включая кадровый, зарплатный, добавить ПДН-ы, развернуть это все по периодам, перегруппировать, и т.п.
тогда вероятно имеет смысл озаботится о снижении числа временных таблиц. банально за счет расширений возможностей языка запросов. да, например за счет файловой версии и поддержки оракла — файловая версия все равно уже вынуждена эмулировать в себе сервер приложений для работы типовых, а поддержка оракла/db2 — это всё для маркетологических листовок…
банально научить конструктор не тереть комментарии. хотя конечно есть шанс, что разработчики ЗУП там напишут «спасите нас» и дадут адрес
Кстати, обратите внимание — вменяемых конкурентов прикладным решениям 1С мало, ИМХО, потому что такой вот огромный, но «минимально требуемый» объем функциональности, вкупе с регулярными обновлениями, в коробке, и за выносимые деньги, разыскать невозможно. И войти в этот рынок теперь тоже, т.к. объем инвестиций в готовый минимальный продукт просто какой-то нереальный, что конечно же скажется на конечной стоимости, либо отсечет даже попытки начать.
я думаю что все понимают — на кого нацелена коробка/минимальный продукт — скоро загонят либо в SaaS либо просто в ЛК налоговой инспекции. Т.е. повторять весь путь 1С и воевать за рынок который начнет схлопывается уже просто смысла нет…
все равно конфигурация будет представлять из себя кучу и сильно и слабосвязанных архитектурно различных модулей (что общего между лизингом и интеграцей с онлайн-кассами?)
значит нужны сервисы и шина данных. а в 1с проблемы уже на стадии описания сущностей. я писал на хабре недавно — уже невозможно описать сущность «Работник» или «ОС» в одной таблице. Это уже 2-3 справочника и целый пук регистров сведений, защиты «консистентности» состояния сущности нет, каждый отчет интерпретирует состояние сущности как захочет
так он знает, что его опыт практически бесполезен. 1с относится к хранилищу данных в виде субд еще с времен 7.7 как к мусорной куче
имхо вы слишком высокого мнения об этом направлении. можно купить книжку, посмотреть курсы — ничего такого чего не знал бы нормальный DBA там не дают. все тоже самое, только в количестве 10% от реальных возможностей/потребностей по этому направлению + исковерканное подходом «доступно и всерьез»
тут не согласен — она теперь по крайней мере не считает итоги на клиенте во временных файлах… хотя чем бывает занят сервер приложений не всегда понять можно
кстати еще забыл — не работает переход в «служебных» списках (типа «Документы» из «Все функции») — должно быть перемещение по списку при наборе имени. Его нет. А в обычных формах есть
«наши пользователи, довольные пользователи»… дада
а сейчас у нас гигантское количество конфликтов если пользоваться стандартными функциями БСП
поменяли версию — опять надо перепроверять всё. от проведения и печати до отчетов
нашли чем хвалиться… решать слау 1с начала еще в лохматом году в рамках УПП. Потом когда стало понятно, что на уровне языка делать это невозможно из-за адской тормознутости — утопили этот функционал в платформу. и снова выдаем это за очередной технологический прорыв
такова «селяви» в 1С — декларируют в 10 году, а работать начинает в 17-18-ом…
нуда… помним, знаем, любим… пихаем невидимых надписей и сплиттеров побольше чтобы масштабирование и центровка работала…
что? вам нужна форме сложнее чем два реквизита и кнопка «закрыть»? у меня для вас плохие новости — вы ее даже сверстать вменяемо не сможете — она просто будет виснуть
разработка интерфейса кодом (как в 1с принято) и верстка интерфейса «кодом» — это «четыре разных человека»
вы разработчиков типовых спрашивать не пробовали — зачем вам функция которая этот фокус-покус делает?
все это лишнее парни, гоняйте каждую запись отдельно. желательно в фоновом задании
ну давайте уже «привыкать к хорошему», а?
я вот нихера не понимаю зачем всех «заставили привыкнуть» к тому, что таблицу значений на сервер надо передавать в виде массива массивов
зачем? есть же тонкий клиент — ну доведите его до ума. или реально тогда все перекидываем в web и начинаем все делать «по взрослому»
двум богам служить нельзя, «запуск в любой кофеварке» все будет состоять из компромиссов, «не держите его так» и костылей… чем это оправдано кроме рекламных проспектов «а мы вот как можем»?
в итоге — очередной мертворожденный функционал. который работает только в PowerPoint
это же очередное произведение отдела карго-культа. неработоспособное
но «партия сказала надо» и теперь codebehind формы выглядит еще более угандошенным, чем ранее
больше асинхронности богу асинхронности
ага. а это значицо best practice:
Присвоение cсылочного параметра: Отказ
Этот пример по своему «диагностическому сообщению» очень похож на предыдущий, но решение его уже не такое простое. Например, исходный код выглядит так:
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
Ответ = Вопрос(«Закрыть форму?»)
Если Ответ = ВариантыОтветов.Нет Тогда
Отказ = Истина; //форма не закроется
КонецЕсли;
КонецПроцедуры
Суть проблемы здесь та же, что и в предыдущем примере. После выполнения модального метода нужно присвоить значение переменной «Отказ». Но сделать это в контексте обработчика оповещения невозможно.
Дополнительная сложность заключается в том, что просто переставить местами строки кода, как в предыдущем примере, тоже нельзя. Отказ выполняется только при одном из условий.
Поэтому тут нужно применять решение, которое описано в разделе Вопрос в обработчике формы ПередЗакрытием. Выполнять закрытие формы «в два прохода». Первый раз безусловно отказываться от действия и только задавать вопрос. А второй раз уже закрывать форму. А чтобы не зациклиться, использовать переменную модуля для того, чтобы отличить первый проход от второго.
гениально!
Я сразу вспоминаю молодость на 7.7… Где чтобы вызвать действие на форме надо было вызывать «фальшивое» закрытие этой самой формы… тот же принцип был — взводится флаг, вызывается закрытие с «Отказ = Истина», нужное действие срабатывает, ура товарищи…
молодцы! новое поколение костылестроителей тчут заветы «предков»!
там просто если читать its.1c.ru/docs/v8nonmodal такие конструкции выплывают роскошные…
сейчас опять начнется — «чем вам BeginEnvokeИменемБорисаНуралиева() не async/await» и еще 150 постов в попытках объяснить, а потом еще 150 постов «докажите мне что без этого жить невозможно»
результат отменный, дыыыа…
сижу за 8.3.13.1644
в конфигураторе не работает ctrl+break на глобальном поиске — надо ждать пока перелопатит весь код во всех модулях в поисках какого-нибудь заветного «П0000200021_1»
далее сравниваем два cf, жмакаем в «показать различия в модулях». вместо целого окна появляется его «кусочек», работать с ним невозможно, кнопок нет, жмем заветные alt+shift+r — окно приходит в себя. ненадолго…
вы когда сборки платформы делаете — вообще не проверяете, что получилось? Такое не заметить при минимальном выпускном тестировании — просто нереально
тоже какой булшит. как можно делать «грамотные кастомизации» в безграмотных решениях? вы же сами губите собственные идеи дурной реализацией клиент-серверного взаимодействия, декларируемого интерфейса, асинхронности
ну да
«а зачем тебе бензин, вождь (с)»
мы уже поняли…
вообще такие рассуждения даже слышать странно… не потому что «это вам не нужно», а потому что если это обсуждают — значит этого нет
ну как так-то? ну даже у нас, ничем не примечательной конторы которая пилила свое отраслевое решение, 15(!) лет назад еще на 7.7(!!) БЫЛ свой отдельный менеджер по «входящим требованиям». который принимал решения, какие фичи будут реализованы, а какие «завихрения» клиентов останутся без ответа. у него была постоянная связь с отделом внедрения, с региональными представительствами, с бизнес аналитиками, с архитектором решения
извините, но это просто дно дна…
за такие штуки весь отдел надо просто сжечь в бочке с бензином
ну что-то в этом есть, да… идти им будет особо некуда. ибо за пределами языка и фреймворка 20-ти летней давности вообще IT не знают. но с самомнением… часть народу еще твердо уверено, что бухгалтерский самолетик или fifo — это какое-то сокровенное знание, доступное только им.
эту песню гагарин лично пел в космосеупр. формы это невероятное достижение 1с, текущая реализация асинхронности — даст ист фантастиш, мы тоже «можем в git»…когда на пальцах объясняешь, что «всё не так ребята» и «вас уже 20 лет водят по пустыне» — начинаются наскоки, самое веселое — от людей по сути некомпетентных, не владеющих ничем кроме «конструктора запросов» и слаще брюквы ничего не евших
а к этому вообще большиииииие вопросы… можно попасть как в УПП. который был флагманом, «с огромным объемом функционала». А потом в сухом остатке оказалось, что проектный учет не работает, МСФО не работает, упр. учет не работает, казначейство не работает, планирование производства не работает…
1с много чего «декларирует», но по факту часть «огромного функционала» карго-культ. муляж из глины и веток
либо кривые архитектурные решения с костыльными сущностями из-за кривой платформы — привет 3 субконто на счете.
тогда вероятно имеет смысл озаботится о снижении числа временных таблиц. банально за счет расширений возможностей языка запросов. да, например за счет файловой версии и поддержки оракла — файловая версия все равно уже вынуждена эмулировать в себе сервер приложений для работы типовых, а поддержка оракла/db2 — это всё для маркетологических листовок…
банально научить конструктор не тереть комментарии. хотя конечно есть шанс, что разработчики ЗУП там напишут «спасите нас» и дадут адрес
я думаю что все понимают — на кого нацелена коробка/минимальный продукт — скоро загонят либо в SaaS либо просто в ЛК налоговой инспекции. Т.е. повторять весь путь 1С и воевать за рынок который начнет схлопывается уже просто смысла нет…
значит нужны сервисы и шина данных. а в 1с проблемы уже на стадии описания сущностей. я писал на хабре недавно — уже невозможно описать сущность «Работник» или «ОС» в одной таблице. Это уже 2-3 справочника и целый пук регистров сведений, защиты «консистентности» состояния сущности нет, каждый отчет интерпретирует состояние сущности как захочет