Как стать автором
Обновить

Комментарии 215

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

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

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

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

К тому же, запросы в цикле частенько и в типовых встречаются много где. А вообще надо думать головой. Если переколбасить 100-200 строк таблицы, то можно и в цикле запросом. А если ожидаемый объем данных миллионы строк то тут да, лучше углубиться в оптимизацию

Запросы в цикле, применение вложенных запросов и собственные группировки вместо виртуальных таблиц, встречаются повсеместно и вполне себе заслуживают право на жизнь

Да, все хорошо в меру. Товарищи, которые привыкли палить из пушек, будут и по воробьям из пушек палить, не взирая на "стоимость выстрела".
Клиенту нужны не красоты кода, а результат, вписывающийся в бюджет.

тоже на фрилансе и давно. мелкий бизнес.

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

Хотелось бы примеров. Звучит как банальное приосанивание.

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

окей. ну если придет через 30 лет практики, то ок. Пока что за 20 лет имеем то что имеем.

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

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

Там есть два способа вмешательства - можно вставить код до или после типового кода, а можно заменить кусок типового кода.

Блин, охрененный подход к разработке. Вот оно - будущее. Все эти ООП, наследование, полиморфизм, инкапсуляция - это все дурачки придумали, и оно уже давно устарело. Как я давно о таком мечтал в Java. Берешь просто библиотеку, и подменяешь ей код местами.

Как надоело бороться с этими разработчиками, которые все классы и методы public'ами не делают. Вот что им, жалко что ли ?

1С - это лучшая в мире Rapid App Development среда для приложений баз данных

Нет. lsFusion - гораздо лучше как RAD. Просто исторически 1С захватила большую долю рынка. А с технической точки зрения - это просто устаревший мамонт.

Ну мне то это не рассказывайте. Вы переборщили с декларативным подходом. Был бы такой же подход, как в 1С, цены бы вам не было. Хотя может Фузиной можно пользоваться, императивно, без всех этих триггеров?

Так Вы же сами, если мне не изменяет память, хвалили 1С 6й версии за декларативный подход. А потом они как бы все испортили, начиная с 7й версии, и все переделали под классическую императивщину.

Вам память изменяет. Это был не я. Я вообще не сравнивал 1с шестерку с Фузиной.

Чем плох декларативный подход? Вон в 1с скд тоже вполне декларативен.

И почему триггеры это декларативно?

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

Все же код на языке 1С пишется на 80% императивно и это хорошо.

Потому что большинство программистов все же пишут на императивных языках

НЛО прилетело и опубликовало эту надпись здесь

Конвертер чего куда? Не могу. На это нет бюджета, а я писал про ипотеку.

НЛО прилетело и опубликовало эту надпись здесь

Я вижу выход в разработке и продаже тиражных решений (обработок, расширений). Уже сейчас кое-что продаю, надо увеличивать объемы.

Почему если делают RAD систему, то обязательно придумывают свой уникальный язык (DSL)? Все равно код будет писать не менеджер или бухгалтер, а программист. Программистам же проще использовать привычные языки для разработки. Использовали бы, например, Python или Kotlin, на которых можно вполне сделать подходящий DSL и возможно RAD бы пользовалась большим спросом.

Язык в 1С - дело десятое. Язык в 1С по сути - это VBA (Visual Basic).

Я про IsFusion. В 1с язык более менее привычный.

ну да, но там вроде какая-то версия JAVA?

Да, нам часто задают этот вопрос. Мы даже статью написали, чтобы объяснить зачем : Зачем нам понадобился еще один язык программирования.

Все равно код будет писать не менеджер или бухгалтер, а программист

В этом основное заблуждение. Большинство разработчиков на lsFusion (по крайней мере у нас) никогда раньше не писали ни на каком другом языке программирования. И высокоуровневый декларативный SQL-подобный язык для них гораздо проще в изучении, чем Cи-подобный язык, который слишком сложен для такого рода задач.

Диалект SQL в общем.
Жаль что вы не пошли по императивному пути все же.

Декларативный подход - для гиков, не для жизни.

SQL - тоже для гиков ? Он же декларативный...

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

Должна быть императивность. А она там реализована только вставками JS

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

Пока 1с спасается только специфичным рынком на котором часто 1с это стандарт.

Увы, но сообщество 1с-ников и сама 1С никак не связаны между собой. У 1С свое "видение" и разработчики её особо не беспокоят.

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

А куда потекли ?

В "большое IT", классическое, я бы сказал. Там где есть git, code review и т.п.

То бишь молодежи счас в 1С идти не особо интересно.

Молодежь она хочет великих проектов, а не урывать куски, брошенные снисходительно от 1С.

Вроде в 1С есть git, code review и объем кода любой конфиги не меньше чем в великих проектах.

git можно даже к ассемблеру прикрутить. 80% 1сников не применяют это все, потому что реализовано это через одно место и не востребовано.

Да даже просто за большими деньгами. В 2019 сам так утек.

Есть и такая "текучка"

В смысле не пишет, на инфостарт давно заглядывал? Там чего только не изобретают.

Ну кстати да, даже на проприетарном барахле пет-проекты пишутся. ;-)
Конечно, не в таком масштабе, как на свободном.

Лучшая это ты все же перегнул, как язык отстал он любого ЯП лет на 100, как среда разработки так вообще не развивается, если не брать едб но и там тот же тормозной эклипс в основе.

нормальный там язык.

в целом 1с для баз данных очень даже хорошая вещь.

видал я индийский Zoho Books, популярная бух программа в USA, вот там да, каменный век.

А MS Navision - там вообще замшелый Access.

Бухгалтерам и учетчикам для бизнеса не нужны новинки особо. Поэтому в USA Кобол еще применяют.

в MS Navision не Access ниразу а CONCORDE XAL в основе (писал на таком в 2003 году), которую купил MS и развил до Axapta.

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

Не знаю, как там сейчас, а в 2006 году когда я изучал Navision, он был абсолютным Access.

Вот моя статья по сравнению 1С и Навижн:

https://infostart.ru/1c/tools/101933/

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

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

Еще можно сказать, что аналог статических методов это методы модуля менеджера, а методов объекта, соответственно методы модуля объекта)

Но все лирика) ООП в 1С как не было, так и нет)

ну и слава богу. в Access и Navision его тоже не было.

Да, 1с удобная платформа. Мне нравится.

Ну и что? Зато у нас душа и Пушкин)))

Полностью согласен. Ведь, например, в этой мерзкой фузине есть даже множественное наследование. А что это значит ? Что у класса может быть не только Родитель 1 и Родитель 2, а и Родитель 3 и так далее. Это же все скрепы наши разрушает. Куда смотрит Роскомнадзор. Надо срочно запретить.

Как "администратор 1С" (сисадмин, специализирующийся на поддержке продуктов 1С и их "обвязки") скажу: ты (или "вы", как удобней) страшный человек.

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

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

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

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

Вот как-то так. Вы правильно поняли - у меня бомбит. Простите.

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

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

Например, можно было бы не ломать типовой механизм расчета себестоимости, а сделать параллельно нужный - но тогда все отчёты пришлось бы переделывать. А это долго и бессмысленно в данном случае.

По настройке ms sql - на сайте ИТС есть неплохой мануал, рекомендую. Также там есть хорошая статья по блокировкам.

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

Да, снобизма и самомнения тебе (всё же остановлюсь на "ты", вежливая форма тут не уместна) не занимать. В целом это было ясно сразу по "нимбу" на аватарке и хвастливому "тритыщичас" почти сразу в первом предложении. Пассаж про сумму ипотеки завершил картину.

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

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

Большинство конечно (снова как и везде) - ремесленники, 'отбивающие" полученные когда-то знания за "среднюю ЗП по рынку". Ну и маргинальные группы странных личностей типа "вайтишников", "непризнанных гениев" и прочих - куда без них, их в IT наверное больше среднего процент.

Смешивать всех этих разных людей, клеить один ярлык на всех - зачем? Потешить ЧСВ, почувствовать превосходство? По мне так это как ссать в лифте: у кого-то и мысли такой не возникнет, а кому-то - "кайф"...

К чему это я... Собственно мой комментарий (и этот, и выше) - он даже не тебе адресован (уже ясно, что тут не поменять ничего), а скорее для других, кто прочтёт всё это: есть и другое мнение, не все меряют свой труд только "тыщечасами".

Да, я не страдаю синдромом самозванца, не зря вхожу в топ инфостарта.

А сумма ипотеки вас смутила разве? Каких-то 98к в месяц.

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

Вы если дозреете до конкретики, спрашивайте.

Так вы в блог сходите к автору

Спасибо за пиар.

Я продолжу. Вам раз в неделю говорят что 1С тормозит, говорят настройте еще, говорят надо уйти с виртуализации, потом что надо shared memory, потом "а давайте обратимся к Гилеву". Быстрее не становится, и заказчик таки тратит 3 миллиона на новые сервера и получает 8 секунд вместо 12 на тестовом прогоне, разводит руками и штатный программист говорит тебе:"ну это 1С, она говно".

Если мне предлагают оптимизацию, я говорю возможна они или нет. Причем под "возможна" я подразумеваю резкое увеличение производительности, а не "рефакторинг" ради 5% прироста скорости. ;-)

Рефакторинг это не прирост скорости. Иногда даже наоборот

а иногда очень даже и прирост.

Такое, конечно, забавное противоречие есть в содержании статьи, которое автор даже не замечает)

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

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

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

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

Все бы это было хорошо, если бы не мой опыт работы во франче, где командная работа заключается только в том, что если сотрудник А заболеет, то его заменит сотрудник Б. И таких франчей 80%.

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

Но в большинстве случаев все же в сопровождении 1сник работает 1:1 с клиентом, как и во фрилансе, разницы особой нет.

Так что извините, философию не до конца понял и ужасы.

У клиентов есть потребности, их решаю оптимально.

Я про ехать а не "шашечки".

У меня еще больше вопросов появилось)

  1. Выходит, критерием оптимальности выбрана скорость разработки, и соответственно снижение стоимости доработки для клиента? А почему именно такой шкурный и не очень объективный критерий? Как стоимость доработки соотносится с принципом KISS, если это больше инженерный, а не бизнесовый принцип?

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

  3. В связи с прошлым вопросом - заказчик знает об этом? Ему предлагается выбор хотя бы в формулировке "можем откостылить быстро и дешево, а можем собрать крепко, надолго и стабильно, но подороже и подольше". Когда заказчик дорастет до сторонней экспертизы, как в строительстве, как будете выкручиваться, если найдут ваши костыли?

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

  5. Я правильно понимаю, что при очередном контакте с заказчиком вы будете говорить, что у вас "десятки статей на хабре и инфостарте" и еще столько же на подходе? При этом статьи довольно провокационные и не несущие пользы никому, кроме вас?

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

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

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

....

страдает ... развалившаяся компания

Сказки какие-то

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

У больших кораблей большие проблемы. Я не про команды, а про гордый одинокий фриланс.

От софта компания разваливается крайне редко.

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

  2. Сигнатуры функций я не исправляю потому, что это вызовет доп. затраты у клиента в будущем при обновлениях 1с.
    А сложный запрас оттого и сложный, что в 1С не реализованы необходимые механизмы в SQL, чтобы запрос был простым.
    Не кратно, а лишние 1.5-2 часа работы там, где это не нужно. Ради чего?
    Человеко-часы хорошая и удобная сторонам система оценки, если есть доверие и работаешь по факту.
    Это проще, чем каждый раз ТЗ писать, куда риски закладывать.

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

  4. Конечно могут. На сайте и на инфостарте выкладываю свои решения в большом объеме. Мне стыдиться нечего. Комьюнити почитываю, по работе иногда задаю вопросы на инфостарте, тут норм.

  5. Вот моя страница для клиентов: https://geniy1s.ru/services/
    Но они обычно приходят или по сарафану или по статьям на моем сайте (по схожим проблемам), я даже выключил профиль на kwork, откуда изначально брал клиентов, т.к. входящий поток клиентов большой.

Выводы вы сделали странные про уши, но это ваше видение. Я как доктор, всегда честен с пациентами-клиентами. Я могу и дорого сделать, но ни клиент ни я не видят в этом смысла.

Время - лучший судья. Я уже 20 лет в 1С и пока ничего не заруинил. Ну и главный критерий - спрос со стороны клиентов. Так что за "социальными доказательствами" мне не надо далеко ходить...

Извените, чуть вклинюсь, только прочел)

  1. Т.е. заменить в запросе прим.: "Номенклатура.Ссылка = &Номенклатура" на "Номенклатура.Ссылка В (&МассивСсылок)" стоит 2 часа?

  2. Как то плохо коррелируется 20 лет опыта и 4 часа разбираться в типовом коде)

Ну если вы хотите деталей, то пожалуйста.

Оплата по заказу на дату Х получается как

РегистрНакопления.Оплаты.Остатки(&Х, Заказ = &Заказ)

Там календарь, то бишь много дат, много заказов. Допустим есть таблица Т с полями Заказ, Период

Можно было бы так:

ИЗ Т ЛЕВОЕ СОЕДИНЕНИЕ

РегистрНакопления.Оплаты.Остатки(Т.Период, Т.Заказ)

Но 1С так не умеет. Поэтому виртуальную таблицу Остатки надо расписывать через суммирование оборотов. Это геморрой.

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

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

Я не знаю, что у вас за конфигурация, но обращаться к ВТ Остатки в такой ситуации для меня странно.

то бишь много дат, много заказов

Можно сделать запрос к ВТ Обороты и отфильтровать данные по оплатам за период. И потом уже готовую выборку перебирать. Это уж точно лучше, чем делать кучу запросов в цикле к остаткам на каждую дату. И даже если это будет стоить лишний час, лучше пусть клиент переплатит эти жалкие 3000, но получит более надежную доработку.

Если я правильно понял ситуацию, то ваш подход это уровень начинающего джуна или стажера, но никак не опытного программера с 20летним стажем.

Вот для примера фрагмент запроса типового отчета РасчетыСКлиентами (лишние поля можно убрать):

ВЫБРАТЬ
	РасчетыСКлиентами.ОбъектРасчетов КАК Заказ,
	РасчетыСКлиентами.ОбъектРасчетов.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
	ВЫБОР
		КОГДА РасчетыСКлиентами.СуммаНачальныйОстаток > 0
			ТОГДА РасчетыСКлиентами.СуммаНачальныйОстаток
		ИНАЧЕ 0
	КОНЕЦ КАК ДолгПартнераНачальныйОстаток,
	ВЫБОР
		КОГДА РасчетыСКлиентами.СуммаНачальныйОстаток < 0
			ТОГДА -РасчетыСКлиентами.СуммаНачальныйОстаток
		ИНАЧЕ 0
	КОНЕЦ КАК НашДолгНачальныйОстаток,
	РасчетыСКлиентами.СуммаНачальныйОстаток КАК ДолгНачальныйОстаток,
	РасчетыСКлиентами.СуммаПриход КАК ДолгУвеличение,
	РасчетыСКлиентами.СуммаРасход КАК ДолгУменьшение,
	РасчетыСКлиентами.СуммаКонечныйОстаток КАК ДолгКонечныйОстаток,
	ВЫБОР
		КОГДА РасчетыСКлиентами.СуммаКонечныйОстаток > 0
			ТОГДА РасчетыСКлиентами.СуммаКонечныйОстаток
		ИНАЧЕ 0
	КОНЕЦ КАК ДолгПартнераКонечныйОстаток,
	ВЫБОР
		КОГДА РасчетыСКлиентами.СуммаКонечныйОстаток < 0
			ТОГДА -РасчетыСКлиентами.СуммаКонечныйОстаток
		ИНАЧЕ 0
	КОНЕЦ КАК НашДолгКонечныйОстаток
ИЗ
	РегистрНакопления.РасчетыСКлиентами.ОстаткиИОбороты(, , Авто, , ) КАК РасчетыСКлиентами

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

Я вам описал задачу, а вы вместо нее показали листинг типового кода.

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

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

Да вы сами себя обесцениваете, и за своим чсв не видите этого

Типовому коду я не доверяю, анализировать его корректность не в рамках бюджета

То есть вы даже посмотреть в ту сторону не желаете, даже не допускаете, что там могут быть хорошие идеи? Или просто он для вашего уровня слишком сложный?))

все равно нужны остатки на каждую дату календаря

Это все равно не повод делать запрос в цикле к остаткам. Если бы вы прислушались к моему совету походить по собеседованиям, то знали, что на собесах очень популярна задача получения или остатков или курсов валют срезпоследних на каждый день месяца, даже если в регистре нет записей на каждый день. И получать просят эти данные ОДНИМ запросом. Любой специалист выше джуна это умеет, а вы видимо это не умеете, раз костылите запрос в цикле. Отсюда и мои выводы про джуна, не на пустом месте

Не обесцениваю я себя, не приписывайте мне чужого.

Хорошие идеи в типовых я замечаю, но они обычно крайне редки, потому что код типовых пишут не для красоты, а для бабок. Впрочем, я копирую этот принцип у метрополии.

А при чем собесы к реальной жизни? Вы по-момему не поняли, что я умею собрать все в одном запросе, но не вижу в этом смыслу. Клиенту это точно не нужно.

Клиенту не нужна более быстрая база? При том, что ему это ничего не будет стоить. Если бы вы были грамотным спецом, каким себя считаете, вы бы сразу писали такие запросы и для клиента это никак не увеличивало бы оценку. Вы ведь за каждый трудочас корпеете. Ну вот, съэкономьте его деньги и нервы, напишите сразу качественно

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

На мисте было забавно, что самые дельные советы давал чувак с ником Ненавижу1С. Если экстраполировать эту обратную пропорциональность, выводы по поводу выбранного псевдонима получаются забавные) А по факту, ваши топовые публикации на инфостарте датированы преимущественно 2010-2016 гг., содержат специфичные простенькие инструменты, отстраненный пересказ официальной документации и полумеры исправления типичных заблуждений среднего специалиста на время переходного периода, пока не появился интерфейс "Такси" и куча ништяков от 1С. Мне кажется, гениальность все же по сути своей предполагает больший размах, нежели может обеспечить специфичный рынок фриланса.

Система 1С настолько плохо документирована и порочна

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

мой код и у меня на сайте и на инфостарте

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

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

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

Спасибо, что помните. Мой ник Ненавижу 1С забанили по причине нелояльного нейминга к вендору))

Ваши рыжие кудри примелькались

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

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

  3. Перепроверка стоит денег, да. А зачем она им, если они знают, что я делаю хорошо.
    Вот тут https://geniy1s.ru/category/practice1s/ есть мои решения у клиентов, обычно смысл решения публичен и коды есть и объемы работ. Можно смотреть.

  4. и про что же KISS на ваш взгляд? Не понимаю вашего возмущения. Про настоящую магию не понял - слишком сложно, а это нарушение KISS. Простота - залог успеха, в этом настоящий KISS.

Сперва добейтесь.

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

Основные алгоритмы .. черный ящик

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

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

и коды есть и объемы работ. Можно смотреть.

Сорян, косяк, не изучил ваш сайт подробно. Но то, что я сейчас там увидел ... Вот честно, первый случайно взятый пример: Не проставляется склад. Даже конфу скачал, чтоб поглядеть. Эммм... у меня нет слов. И старая, и новая методика проведения не просто описаны, а высосаны досуха, тут не оправдаться отсутствием документации.

Поставил заплатку на общий модуль проведения документов:

Это, по-вашему, нормально?! Каждый первый вымуштрованный на курсах джун знает, что надо идти в модуль менеджера и формировать данные для движения в специально отведенном месте согласно общей философии конфы. А потом пройтись по цепочке вызова и убедиться, что данные упали в движения.

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

Про настоящую магию не понял - слишком сложно

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

Блин как лайкнуть коммент) По моему мы с вами об одном и том ему говорим)

Рыбак рыбака видит издалека. Но я то охотник.

Ауф! У Стейтема цитату подсмотрел)

Похожие мысли приходят в голову разным людям. Сам придумал.

  1. Ну почему же, я считаю обесценивателей надо макать в "начни с себя"

  2. Ознакамливаться методом обратного инжиниринга? ОК, но кто за это будет платить? А документации нет. Отладчик под рукой? Ну отладьте типовой код, бог в помощь (намек на то что жизни не хватит).

  3. Не знаю о каких вы "высосона досуха", не встречал.

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

  5. ну про магию оставляю вам. я практик и моя магия - это когда у клиента все начинает дышать.

Маткой попой тоже можно дышать, но неэффективно почему то.

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

Единственная просьба от меня - не транслировать принцип KISS в массы в вашей интерпретации. Несмотря на заявленную простоту, этот принцип - один из самых сложных, многогранных, и очень плохо детерминируется. Ваш опыт по итогу обсуждения абсолютно нерелевантен этому принципу. Лучше подобрать другое слово, описывающее вашу деятельность, так будет и честнее, и прозрачнее для всех, в т.ч. ваших клиентов.

Я говорю как есть, подбирать термины хобби не имею.
Просто примите как мнение.
Или напишите своё видение в качестве нашего ответа Чемберлену.

Голословные утверждения и клейка ярлыков не убедительны.

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

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

  3. То же самое, что и в п 2. Зачем настолько выкраивать каждый час. И, разумеется, клиенту не нужны разбирательства, а вот вам как якобы специалисту нужны, см. п2

У клиента нет пару лишних часов.

Про какое саморазвитие идет речь?

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

Не знаю, какими галлюцинациями ваши предположения про овнокод пришли вам в голову. Давайте более конкретно.

Время надо экономить потому что копейка рубль бережет.

Основной посыл статьи - не нужно добиваться прироста в 0.1% производительности за счет часов работы.

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

Так вы же и работаете в этой области. Дорабатываете эти самые типовые модули и деньги за это берете. Чтобы что то дорабатывать, нужно это сначала изучить.

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

Давайте более конкретно

Так уже куча комментариев дали конкретику. Обращение через точку, цикл в цикле, неоправданная пересложненность решения. Все это и объединяют в термин говнокод

не нужно добиваться прироста в 0.1% производительности за счет часов работы

Во первых: заменить Регистратор.КассаККМ на ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Регистратор, "КассаККМ") займет не более 10 секунд. По крайней мере у меня) А если сразу так писать, то вообще ни секунды.

Во вторых: вы же сами выше писали про рефакторинг и увеличение производительности. То есть все же таки слова знаете))

Так вы же и работаете в этой области. Дорабатываете эти самые типовые модули и деньги за это берете. Чтобы что то дорабатывать, нужно это сначала изучить.

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

Так уже куча комментариев дали конкретику. Обращение через точку, цикл в цикле, неоправданная пересложненность решения. Все это и объединяют в термин говнокод

Это мелочи жизни. Если это все, я умываю руки. Обобщу термином буквоедство. Главный посыл статьи не уловили.

Во первых: заменить Регистратор.КассаККМ на ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Регистратор, "КассаККМ") займет не более 10 секунд. По крайней мере у меня) А если сразу так писать, то вообще ни секунды.

А зачем? А если эта процедура переедет в другой модуль?

Во вторых: вы же сами выше писали про рефакторинг и увеличение производительности.

Не на 0.1% ускорение

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

Все еще надеюсь, что вы так троллите. Либо если нет, то шифер давно потек на фоне взлетевшего чсв.

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

А во вторых, зачем вы вообще пошли в эту профессию и в эту область, если вам тут все так противно? Чтобы страдать каждый день?

Это мелочи жизни. Если это все, я умываю руки. Обобщу термином буквоедство. Главный посыл статьи не уловили

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

А зачем?

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

А если эта процедура переедет в другой модуль?

Уже сам этот вопрос показывает насколько вы вообще не знаете и не понимаете бсп и 1с в целом. Хотя и пытаетесь бравировать 20летним опытом. Я вам отвечу. 1с очень долго поддерживает обратную совместимость. Если они захотят перенести ее в другой модуль, то сначала появится актуальная функция в новом модуле, а старую тоже оставят, но поменяют описание. Напишут, что устарела пользуйтесь вон той. И так еще лет 5, а может 10, а может больше.

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

Все аналогии хромают, не страдайте буквоедством. Они нужны лишь для метафор.

А во вторых, зачем вы вообще пошли в эту профессию и в эту область, если вам тут все так противно? Чтобы страдать каждый день?

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

Но вот вы отказываетесь хотя бы чуть чуть уловить, или хотя бы попытться обдумать, конструктивные возражения на ваш посыл.

Что конструктивного вы написали? Не заметил ничего кроме оценок моего кода, которого вы даже не видели.

Если они захотят перенести ее в другой модуль, то сначала появится актуальная функция в новом модуле, а старую тоже оставят, но поменяют описание. 

Я в курсе и все же эти переезды - свидетельство плохой архитектуры. В Navision переездов на порядок меньше.

Все аналогии хромают, не страдайте буквоедством. Они нужны лишь для метафор.

Вы чего с обсуждения соскакиваете. Приведите тогда аналогию, которая не хромает. Кажется вы ничего по своей работе не можете грамотно объяснить. Так же как и по любым терминам. На том же уровне и результаты вашей работы.

Я в курсе и все же эти переезды - свидетельство плохой архитектуры

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

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

Потому что ваша же цитата:

Ощущаю себя ассенизатором - от типового кода воняет

Сами же говорите, как от типовых "воняет", называете их "калом", но при этом отрицаете, что вы страдаете при их доработке. Значит вам нравится копаться в кале уже 20 лет?

Что конструктивного вы написали? Не заметил ничего кроме оценок моего кода, которого вы даже не видели.

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

Забавно конечно, как вам 300тыс в месяц голову вскружили, что перестали что либо замечать. Я такого эффекта избежал, и все еще продолжаю развиваться как специалист, а вы остановились в своем развитии, видимо, еще 20 лет назад.

Почитал и не нашел, на что ответить. Скучное буквоедство, извините.

Все мы развиваемся, 1С не стоит на месте. Успехов.

  1. Пошли аргументы уровня пятиклашек "Сперва добейся")

  2. Согласен, но частично. Какие механизмы и правда плохо документированы, а какие то достаточно подробно на ИТС описаны. Не стоит обобщать

3 и 4: Тогда немного поспрашиваю про ваш код. И вот это по вашему отражает принцип КИСС?

&Перед("ЗаписатьНаборыЗаписей")
Процедура дор_ЗаписатьНаборыЗаписей(ДокументОбъект)
	Для каждого НЗ Из ДокументОбъект.Движения Цикл
		Если НЗ.Записывать 
			И ТипЗнч(НЗ) = Тип("РегистрНакопленияНаборЗаписей.ЗапасыНаСкладах") 
			И ТипЗнч(НЗ.Отбор.Регистратор.Значение) = Тип("ДокументСсылка.ЧекККМ") Тогда
			Для Каждого МЗ ИЗ НЗ Цикл
				Если Не ЗначениеЗаполнено(МЗ.СтруктурнаяЕдиница) Тогда 
					//Подставляем склад из шапки документа, если он не заполнен
					МЗ.СтруктурнаяЕдиница = НЗ.Отбор.Регистратор.Значение.КассаККМ.СтруктурнаяЕдиница;
				КонецЕсли;
			КонецЦикла;
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры

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

(Код взят отсюда https://geniy1s.ru/ne-prostavlyaetsya-sklad-pri-provedenii-cheka-kkm-roznicza-3-0/). Дата ноябрь 2023, значит вы до сих пор так пишете

И обращение через две точки в цикле. К величине, которая вообще от внутреннего цикла не зависит.

вполне норм. не запрос же городить.

Бсп учить

Даже "open source" библиотеку 1С сделала платной. Я не знаю пределов жадности 1С. Да и сама библиотека гниловата, в ней нет стабильности.

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

я в курсе этих методов, но не экономлю на спичках, поэтому демонстрирую потрясающую эффективность и результативность.

Скажите, что даст прирост в этом коде на 0.01% для клиента?

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

аргументы будут? А так то расходитесь, нет проблем.

О май гад. Да вы еще и БСП не знаете. Вообще есть предел вашей невежественности в разработке? (вопрос риторический)

а зачем знать этот проприетарный кал?

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

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

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

Поэтому да, код от 1С - это копрокод. А мой код элегантный, прекрасный и звонкий.

А мой код элегантный, прекрасный и звонкий.

Чистый, как слеза богоматери, ослепленной благолепием непогрешимого кода.

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

Написанный в одиночку гением, который поднялся выше бренности этого мира в своем поразительном осознании Оптимума и Элеганта.

примерно так, если отбросить ложную скромность.

Лол)

отож

вы же знаете что эффективность коллектива программистов обратно пропорциональна их количеству.

Не знаю. Впервые слышу. Что это за правило? Жду ссылок с подтверждением

1с использует прогрессивные методы управления типа agile?

Вообще то использует. И код ревью и сонар куб и гит с EDT. Я как то работал субподрядчиком у 1С. Знаю как у них все строго по коду и по стандартам. Даже строже, чем у нас.

То что там автотестами не пахнет, это я вам могу однозначно сказать по количеству багов

Зато ваш код идеально работает с первого раза и пройдет все нагрузочные тесты (сарказм)

А мой код элегантный, прекрасный и звонкий.

Ну тут либо шиза, либо троллинг от отсутствия аргументов. Выбирайте, что вам ближе

Не знаю. Впервые слышу. Что это за правило? Жду ссылок с подтверждением

Гуглите законы Мерфи

Вообще то использует. 

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

Выбирайте, что вам ближе

Это просто ТАК

Гуглите законы Мерфи

Вы об этом:

Как это связано с вашим изречением про неэффективность коллектива программистов?

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

Очередное нелепое отрицалово без конкретики. Как вы это видите? Из за патчей новых релизов? В разработке любого ПО есть баги, и до следующего мажорного релиза выпускают патчи. Вы приложения на телефон обновляете? А на пк?

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

Это просто ТАК

бубубу, забыли язык показать, молодой человек) Все ясно, и то и то

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

Я наблюдаю ошибки, которые при таком подходе просто не выжили бы.

Значит, 1с не делает автотестов.

Вы ведь понимаете, что регистратор это составной тип, да? А знаете что происходит "под капотом", когда мы обращаемся к полю ссылочного типа через точку?

и что? Вам религия точку не позволяет ставить?

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

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

Не знаю где вы там увидели возможность положить базу.

Думаю, у вас просто обостренный перфекционизм, вынуждающий экономить на спичках.

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

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

не стоит палить из пушки по воробьям.

Может поясните наконец, что вы понимаете под пушкой, а что под воробьями, и как привычка сразу писать корректный производительный код является "стрельбой из пушки по воробьям"?

еще раз - мы можем пожертвовать 1% эффективности ради экономии времени программиста. я все об этом же.

И кстати, вы так и не ответили на вопрос) Можете загуглить, если умеете)

На какой вопрос?

что происходит "под капотом", когда мы обращаемся к полю ссылочного типа через точку?

извлекается объект целиком из БД. И че? Вам полегчало? Вы что-то доказали? Если заменить на функцию, это даст 2х прирост скорости?

Классно. Гуглить умеете, хоть что то.

Только вот еще про соединения забыли. Регистратор это составной тип, поэтому будут создаваться левые соединения со ВСЕМИ таблицами в его составе, а еще со ВСЕМИ табличными частями этих объектов, т.к. в БД табличные части это отдельные таблицы. Представляете такого монстра запросного, и сколько будет затрачено ОЗУ и дискового пространства сервера на его выполнение? А если еще в цикле? Это я еще вопрос парралельности и блокировок не затрагивал. Вы и с этой стороны базу положите.

Если заменить на функцию, это даст 2х прирост скорости?

Скорее всего. А может и 4х, а может и 8х, зависит от объема данных. Вы же сами пишете в статье, про сократившееся время запроса с 300сек до 150сек.

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

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

Этот монстр только у вас в голове. На самом деле, это копейки - доли секунды.

Вы пугаетесь того, что не имеет значения.

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

Что любители строить атомные ракеты не понимают, что когда надо копать лопатой, эти правила не работают. Ну получите вы прирост на 0.01% за счет того, что потратите лишние 30 минут работы. Оно клиенту надо?

А что, лишние 30 минут будут стоить клиенту состояние? Вы ведь понимаете как это работает хоть. Сейчас прирост будет 0,01%, завтра конфа разрастеться прирост уже 0,1, а после завтра все 30% (это много если что). На такие же величины ваша кривая доработка их систему затормозит

Автор просто непоследователен в своих действиях.

Посудите сами, он не любит экономить на спичках:

не экономлю на спичках

Он отрицает важность прироста производительности:

что даст прирост в этом коде на 0.01% для клиента?

Но при этом... тииихо... Тихо! <задорнов.jpeg> Готовы?!

сериализация в структуру — лишние потери скорости и памяти

Это из еще одной статьи про REST и средства работы с JSON. Как, ну вот как в его голове сочетаются эти три цитаты?!

легко и непринужденно.

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

я понимаю, как это работает и прекрасно понимаю, что эти 0.1% абсолютно НИКОГДА не сделают клиенту погоды.

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

вы плохо себе представляете жизненный цикл решения у клиента.

и слишком идеализируете сотрудников франча. как я писал, это те же фрилансеры, работающие 1:1 у клиента.

Вернитесь в реальную жизнь из мира розовых соплей уже.

вы плохо себе представляете жизненный цикл решения у клиента.

Вы имеете ввиду жизненный цикл конфигурации у клиента, или жизненный цикл ваших доработок у клиента? Если не трудно, расскажите. Я фрилансером не работал. Сейчас мне искренне любопытно. И вот серьезно без стеба и сарказма интересно.

и слишком идеализируете сотрудников франча. как я писал, это те же фрилансеры, работающие 1:1 у клиента.

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

Вернитесь в реальную жизнь из мира розовых соплей уже.

А вы попытайтесь погуглить и почитать хоть что то про то, как функционирует платформа, даже просто платформа без типового кода

Боже мой, а есть высокосортные франчи?

Кстати, не отрицаю, может и есть, но со средним бизнесом работают средние франчи. И я все о них знаю.

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

Боже мой, а есть высокосортные франчи?

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

но со средним бизнесом работают средние франчи

Под средними вы понимаете размер штата или качество организации? Даже со средним бизнесом могут работать качественно организованные команды. Я не во всех работал, но проходил собесы во многие такие. И даже в некоторые те, кто с малым бизнесом работает на уровне УТ 11 и УНФ. Конечно всю внутреннюю кухню про всех не знаю, но по собеседованию очень многое можно сказать, и почти везде было хорошо все организованно. Там где сразу видно было плохую организацию, я даже оффер не рассматривал.

Писать расширения так, чтобы они жили максимально долго, а это значит После, Перед и Вместо а не КонтрольИзменения

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

https://its.1c.ru/db/pubextensions#content:55:hdoc

Если у вас не открывается, вот небольшой кусочек из текста

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

P.S. На последние комменты выше нет смысла отвечать, т.к. вы не смогли ничего мне возразить

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

Природа разнообразна и разные франчи есть, но думаю таких про какие вы написали 10%, остальные обычные, такие же, как фрилансеры.

Чудес не бывает и все упирается в бюджет. Если полировать то дорого, а дорого не всегда нужно клиенту.

Да, я вызываю прошлый код и добавляю свой до или после в Вместо.

Вы не правы и думать над вашими галлюцинациями я не планирую. Перечитайте статью, обдумайте ее посыл.

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

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

у нас разные понимания о KISS.

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

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

Вот он, настоящий KISS

Такой чуши давно не читал) Короче тут тейк такой же как и выше. Изучать конфигурации это ваше обучение и саморазвитие, а не только деньги клиента. Да и от лишних 3000 клиент не разорится, зато спасет сервер и базу.

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

А где критика? Критика - это аргументы, а не "фуфуфу, мне так не нравится". О вкусах не спорю.

Я изучаю конфигурации в процессе работы и задач.

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

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

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

Могли бы хоть чуть-чуть сил на реморализацию потратить, как в Ночном дозоре. Но это же сложно, "экономия на спичках". Проще как узколобый ограниченный эгоист твердить, что все нормально. А ваши критиканы тоже с гнильцой, хотят помешать вам зарабатывать 300 тыщ в наносекунду.

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

Типа миллионы леммингов не могут ошибаться? Если стая собак лает, это не значит, что в лае есть биты информации. Я слушаю только аргументы, а не количество комментариев.

Вам дают самые аргументные аргументы из официальных гайдов вендора. Но 1С же - "гнилая контора", ага? 

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

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

Так доводы я не разделяю, с чего мне с ними соглашаться. Где объективность та?

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

Мне они не помешают, у них своя ниша. На фрилансе бы с таким подходом к труду они бы не выжили. Клиенты бы к ним не пошли.

Да, контора гнилая

а зачем знать этот проприетарный кал?

Не впадлу на гнилых то работать и в кале копаться? Или деньги не пахнут?

я знаю про эффективность, красоту, надежность и понятность кода и еще много других страшных слов

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

Клиенты бы к ним не пошли.

Миллионы леммингов не могут ошибаться, выбирая настоящих гениев.

Если стая собак лает...

И что же нового произошло в мире АйТи и в 1С в частности?

Еще поговорка про собак есть: "Старого пса новым трюкам не научишь"

Не впадлу на гнилых то работать и в кале копаться? Или деньги не пахнут?

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

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

Какие есть, но мои. Ваших не видал. 1С зарабатывает больше? И че?

Еще поговорка про собак есть: "Старого пса новым трюкам не научишь"

Старых хватает. Пока ничего революционного в мире айти нет.

1с о бабках всегда была

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

Ваших не видал

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

Пока ничего революционного в мире айти нет.

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

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

Это ваши галлюцинации, не подкрепленные фактами.

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

Анонимы любят принимать "позу гуру". Насмотрелся таких пустозвонов. Поэтому только аргументы, JUNоша. Только факты.

А при чем тут вкусы? Тейк про стандарты и прозводительность это не наше мнение, это факты подтвержденные многими командами и авторами на инфостарте и хабре.

Вы можете бесконечно считать зеленое белым, и что 2+2=5, но против математики, тестов производительности и паттернов проектирования не попрешь

да, но это работает на больших объемах. А у клиентов объемы не большие. Не понимаю, почему эта очевидная мысль никак не доходит до вас.

А до вас никак не дойдет, что малые объемы это не повод игнорировать абсолютно все стандарты разработки. Особенно учитывая то, что соблюдение этих стандартов никак не увеличит срок разработки и выйдет клиенту ровно в ту же сумму. Только вот "мины" в его базе при этом не будет.

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

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

Поэтому снова: никакого личного мнения, только подтвержденные сухие факты

Повод. Об этом и есть моя статья. Это ее сермяжная суть
Если вы считаете не повод, то обоснуйте.

Зачем клиенту платить лишние немалые деньги за прирост скорости на 1%

Если вы считаете не повод, то обоснуйте.

Так только что обосновал

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

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

Зачем клиенту платить лишние немалые деньги за прирост скорости на 1%

Какие еще деньги. Я же выше объяснял, что если научиться, можно сразу писать с соблюдением стандартов без каких либо лишних денежных затрат по сравнению с вашим подходом. Если бы в течении 20 лет вы развивали свои компетенции, а не игнорили весь мир айти, то с легкостью это делали. Об этом часть моих комментариев выше. Будьте внимательнее.

А про лишние немалые деньги конечно мне субъективно из корп мира странно смотреть. 3-5тыс капец "немалые" деньги для полноценного бизнеса. Но даже если для вас сразу написать качественный код будет стоить на час-два дольше, то иногда можно и озвучить стоимость с учетом такой наценки. И вы за тот же срок больше заработаете, и клиент получит безопасный код - все же в выигрыше. Об этом уже я тоже говорил выше.

А еще если вы будете развиваться, и на работе, и немного в свободное время, не в ущерб личной жизни конечно, будете хотя бы по чуть чуть изучать типовые и бсп, почитывать статьи и лично копаться в коде и учиться его читать, анализировать архитектурные решения типовых, а не как сейчас, то дополнительные часы на грамотную разработку будут сокращаться, и ваши клиенты будут получать все более качественные доработки за все меньшие деньги. Неужели вашим клиентам или вам это не интересно. Обо всем этом я тоже много писал где то выше))

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

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

"безопасный код" - это что? не смешите мои тапочки. Вы опять не поняли суть статьи. У вас иллюзия что 1% скорости имеет смысл оплачивать.

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

Из за того, что вы потратите лишние 30 минут, итоговое решение будет проще. 2 строчки против ваших 30. Вот он настоящий Кисс. Простота в итоговом решении. Но такая простота достигается опытом и годами самообучения.

А ваши 30 строк вложенных циклов это полная противоположность кисс. Вы либо стебетесь, либо правда не понимаете, что 2 строчки кода проще, чем 30

нет, проще не будет. Будет то же самое, но только обойдется клиенту НЕОПРАВДАННО дороже.

НЕОПРАВДАННО дороже.

Это на 1000руб? Зачем им 1С, если они так мало зарабатывают.

Вы математику в школе проходили? Разобраться в 30 строчках сложнее ведь, чем в двух. Тем более специалисту вашего уровня)

копейка рубль бережет.

Перепроверка стоит денег, да. А зачем она им, если они знают, что я делаю хорошо

"делаю хорошо" просто omg?‍♂️

да, я делаю хорошо.

Простота - залог успеха, в этом настоящий KISS

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

А так вы пока выглядите как вайтишник, который понахватался терминов и пытается везде их применять, не понимая значения

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

про то как я выгляжу, не галлюцинируйте. Конкретику пишите.

когда применяю простые решения

Так вы не применяете простые решения. Вы применяете крайне сложные, в которых хрен разберешь. Хотя я то разберусь)

про то как я выгляжу, не галлюцинируйте. Конкретику пишите.

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

я применяю как раз простые решения. и надежные.

а то что вы страдаете буквоедством, это ваша проблема.

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

я применяю как раз простые решения. и надежные.

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

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

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

Я конечно фрилансером не работал, но зато разгребал после них конфигурацию клиента. У которых, кстати, при обращении к нам в фирму помимо основного запроса вроде обновления доработанной конфы или переход на ERP, был и побочный: "если там есть доработки фрилансеров - все убрать" - написал один прошаренный заказчик в своем функциональном ТЗ)

А в коде полный набор: найти по наименованию, обращения через точку (вплоть до 7 раз в одном месте), общий хардкод, который работает только здесь и сейчас или в лучшем случае до ближайшего обновления. Общая неоптимальность всего, что можно. Про читаемость я просто молчу.

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

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

>>  в коде полный набор: найти по наименованию, обращения через точку (вплоть до 7 раз в одном месте), общий хардкод, который работает только здесь и сейчас или в лучшем случае до ближайшего обновления. Общая неоптимальность всего, что можно. Про читаемость я просто молчу.

Все это лечится опытом и от формата работы франч/фрилансер не особо зависит. Я уже писал что 80% сотрудников работают с клиентом 1:1 без коде ревью, в своем стиле и вот это все. Поэтому отличить доработки франча от фрилансера невозможно.

>> ибо он уродует конфигурации, которые потом кому то другому придется за ним исправлять.

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

У корпоративщиков непонимание, что в реальном мире не всегда надо копать бульдозером, иногда эффективнее лопатой.

Все это лечится опытом и от формата работы франч/фрилансер не особо зависит. Я уже писал что 80% сотрудников работают с клиентом 1:1 без коде ревью, в своем стиле и вот это все. Поэтому отличить доработки франча от фрилансера невозможно

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

Как раз я и даю клиенту оптимальное решение

А как вы поняли, что оно оптимальное и не развалиться через неделю?

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

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

У корпоративщиков непонимание, что в реальном мире не всегда надо копать бульдозером, иногда эффективнее лопатой

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

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

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

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

  1. Code Review в 1с - не смешите мои тапочки. за 20 лет не встречал, хотя работал во франчах.

  2. То что решение оптимальное, я понял из своего опыта.

  3. Рекомендации ИТС часто высосаны из пальца, а следование им привело 1С к ужасному коду типовых в угоду производительности. Это мое мнение.

  4. Речь не про максимально дешево, а про оптимально.

  1. У меня сейчас в фирме в отделе используется и код ревью, и git, и EDT и сонар куб с регламентом утвержденным, еще и Vanessa планируют внедрить. Лучше вы расширьте кругозор и попробуйте поработать в нормальных местах - крупных франчах или интеграторах.

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

То есть для вас механизмы вроде Менеджера временных таблиц или списка текстов запросов являются "страшными в своей сложности"?

Рекомендации ИТС часто высосаны из пальца, а следование им привело 1С к ужасному коду типовых в угоду производительности. Это мое мнение.

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

Может вы так гениально зарабатываете: замедляете конфу заказчика, а потом повторно берете плату за якобы оптимизацию, после чего разводите плечами "ну это же 1С". Тогда понятно откуда этот ник "Гений 1С"))

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

Речь не про максимально дешево, а про оптимально.

Вы часто употребляете это слово, но можно спросить: какой смысл вы в него вкладываете?

Могу сказать про себя. Для меня оптимальное решение - решение, которое

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

  • является наиболее производительным в рамках решаемой задачи;

  • является наиболее расширяемым и читаемым другими разработчиками;

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

Почти все эти пункты как раз и достигаются соблюдением тех пресловутых рекомендаций ИТС по разработке. Все взаимосвязано.

-- у меня сейчас в фирме в отделе используется и код ревью, и git, и EDT и сонар куб с регламентом утвержденным, еще и Vanessa планируют внедрить. Лучше вы расширьте кругозор и попробуйте поработать в нормальных местах - крупных франчах или интеграторах.
Не думаю, что это выгодно. Я сейчас получаю 3.000 в час.
Работать могу только на полставки (на полную лень), при этом мне нужна зарплата в 300.000, чтобы хотя бы соответствовать тому доходу, что есть сейчас. Не видел предложений по 600, чтобы на полставке получать 300.

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

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

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

-- Вы часто употребляете это слово
Я не любитель давать термины. Как говорил один судья - когда я вижу "порно" я понимаю, что это "порно". Так и оптимально - это "вкусное" решение, soft-porn

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

Работать могу только на полставки (на полную лень), при этом мне нужна зарплата в 300.000, чтобы хотя бы соответствовать тому доходу, что есть сейчас. Не видел предложений по 600, чтобы на полставке получать 300.

Ну тогда действительно не найдете таких. Тем более с вашим "опытом". Жаль раньше в такое место не попали, и вас не научили качественно работать.

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

Вы же программист и должны уметь читать чужой код. При переходе в процедуру при взгляде на текст запроса можно понять для чего он и что делает. Если возьмете в привычку читать типовой код, а не боятся его, то они внезапно перестанут быть страшными и неудобными, и даже начнут казаться красивым решением. Проверено на себе) Не перестаю убеждаться в вашем джуновском уровне. Не обижайтесь, я где то выше называл вас джуном с 20летним опытом. Но это просто так и есть: БСП не знаете, типовой код читать тяжело, многочисленные заплатки и костыли, игнорирование вопросов производительности и читаемости. Жаль вас никто не научил вовремя, и у вас не появилось желание развиваться.

Я не замедляю конфу, это вы "экономите на спичках"

Так а под этим понятием вы что понимаете?) Предполагаю имеется ввиду, что мой подход затратит больше времени на разбирательство? Ну если вам так сложно выпросить у лояльных клиентов лишних час-два, то поделайте в свободное время. Вложитесь в саморазвитие. Сразу заметите как проще стало разбираться с типовым кодом и качество "заплаток" клиента возросло)

Я не любитель давать термины. Как говорил один судья - когда я вижу "порно" я понимаю, что это "порно". Так и оптимально - это "вкусное" решение, soft-porn

Понятно. Сами не понимаете) Потому что опыта нет. Годы работы <> Опыт.

Нет, ЖКК и ИТС - это не библия. На них не стоит молиться.

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

-- Ну тогда действительно не найдете таких. Тем более с вашим "опытом". Жаль раньше в такое место не попали, и вас не научили качественно работать.
Не знаю, что такое "качественно" в вашем понимании. По мне так я очень классно работаю. Не обесценивайте. Мой доход тому подтверждение.

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

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

-- Потому что опыта нет. Годы работы <> Опыт.
Опять галлюцинации. Вы меня не знаете, чтобы судить. А вот клиенты знают и платят. Голосуют рублем. Накушались таких "правильных"

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

По мне так я очень классно работаю. Не обесценивайте. Мой доход тому подтверждение

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

Не знаю, что такое "качественно" в вашем понимании

Я выше объяснял и про оптимальность и про качество. Для меня это максимальная производительность, максимальная простота и не в моей работе, а в итоговом решении, и максимальная читаемость. А вы до сих ни один термин не объяснили, будто сами не понимаете, что несете

Ага, комментарии придумали идиоты?

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

типовые 1С ужасно криво написаны и недокументированы.

Ну когда нет навыков, и не умеешь читать код, то да. Чужой код всегда ужасный ужасный)

Нет уж, я работаю проктологом только на платной основе

Но только проктолог, прежде, ччем брать деньги за свои услуги, сначала бесплатно все устройство кишечника изучил, и возможно сам доплатил за возможность этому обучиться. А вы хотите, чтобы без образования вам сразу платили за ваше самообучение и кривые от неопытности доработки. Хотя вроде получается, значит умеете в пиар. Единственный ваш навык в профессии.

Вы меня не знаете, чтобы судить

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

А вот клиенты знают и платят. Голосуют рублем

Опять же, видимо грамотный пиар, и общая неосведомленность таких клиентов, о том как некачественный код может положить их базы. Хотя, раз даже 1000 рублей для них неподъемные деньги, делаю вывод, что у они только начинают, и объем баз у них маленький. Потому и потерю производительности от ваших поделок пока не чувствуют.

Скажите, а вы случайно не всегда на красном свете стоите на переходе?

Чего? Не понял вашу гениальную аналогию. Да я всегда останавливаюсь на красный свет светофора

Очень похоже, что вы не понимаете, что иногда можно и через две точки

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

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

Насчет приседания на уши не знаю, до первого залета. Я нахожу клиентов через свою компетенцию. Они знают, что мне можно довериться.

Я выше объяснял и про оптимальность и про качество. Для меня это максимальная производительность, максимальная простота и не в моей работе, а в итоговом решении, и максимальная читаемость. А вы до сих ни один термин не объяснили, будто сами не понимаете, что несете

Да, пушки хороши и прекрасны и мощны. Но по воробьям все же лучше из дробовика. не доходит никак?

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

Я не про бсп, а про алгоритмы типовых. Они не документированы, та же себестоимость.

Ну когда нет навыков, и не умеешь читать код, то да. Чужой код всегда ужасный ужасный)

Ужасный, если нет описания и документации. Не передергивайте.

Но только проктолог, прежде, ччем брать деньги за свои услуги, сначала бесплатно все устройство кишечника изучил, и возможно сам доплатил за возможность этому обучиться. А вы хотите, чтобы без образования вам сразу платили за ваше самообучение и кривые от неопытности доработки. Хотя вроде получается, значит умеете в пиар. Единственный ваш навык в профессии.

Да, свои 20 лет опыта я тоже все это изучал, потому и беру 3000 в час.

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

Вы наверно, телепат, я так людей оценивать не умею. Завидую

Опять же, видимо грамотный пиар, и общая неосведомленность таких клиентов, о том как некачественный код может положить их базы. Хотя, раз даже 1000 рублей для них неподъемные деньги, делаю вывод, что у они только начинают, и объем баз у них маленький. Потому и потерю производительности от ваших поделок пока не чувствуют.

Опять ничем не подтвержденные оценки. Как мило.

Чего? Не понял вашу гениальную аналогию. Да я всегда останавливаюсь на красный свет светофора

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

 вы видимо не понимаете, что происходит с сервером, когда вы обращаетесь через две точки. 

И что же с ним происходит? На сколько процентов падает скорость? На 0.01%?

Насчет приседания на уши не знаю, до первого залета. Я нахожу клиентов через свою компетенцию. Они знают, что мне можно довериться.

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

Да, пушки хороши и прекрасны и мощны. Но по воробьям все же лучше из дробовика. не доходит никак?

Нет не доходит. Попытайтесь без метафор и поговорок. Учитесь формулировать свои мысли, сэр

Я не про бсп, а про алгоритмы типовых. Они не документированы, та же себестоимость.

Зачем же вы переобуваетесь на лету. Разговор шел как раз про код и процедуры, а не алгоритмы

При переходе в процедуру при взгляде на текст запроса можно понять для чего он и что делает.Ага, комментарии придумали идиоты? Код надо документировать, а не как в 1С

Когда мы с вами обсуждали невероятно сложный для вас код, состоящий из менеджера временных таблиц, который заполняется в разных процедурах. Припоминаете?

А если говорить про алгоритмы то, во-первых: большая часть основного функционала описана на ИТС. Если бы не поленились почитать, проблем и нелепого гнева вашего было бы меньше.

Во-вторых: за 20 лет в 1С вы уж точно должны были наизусть выучить этот злосчастный алгоритм расчета себестоимости и с закрытыми глазами знать что там к чему)) То же самое про остальной функционал, на котором вы якобы специализируетесь. Вы там перечисляли кажется зуп, бух, розница, все так?

Ужасный, если нет описания и документации

Документация частично есть на ИТС. А еще у вас есть глаза и должен быть навык чтения кода. С этими двумя факторами разобраться с функционалом любой типовой нет никаких проблем. У вас ведь такой опыт, с легкостью справитесь и без бухтения старческого)

Да, свои 20 лет опыта я тоже все это изучал, потому и беру 3000 в час

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

Вы наверно, телепат, я так людей оценивать не умею. Завидую

Прямо строчкой выше объяснил как строил оценку. Я ошибся в оценке?)

Опять ничем не подтвержденные оценки. Как мило.

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

Чего? Не понял вашу гениальную аналогию. Да я всегда останавливаюсь на красный свет светофора

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

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

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

Потому что даже не задумываетесь, почему разработаны правила, а свято в них верите

Я уже где то в 5+ комментариях вам объяснил, почему такое правило разработано. И про скуль подробно разъяснил, и про малый объем базы и почему это не повод игнорить рекомендации. Но вы эти объяснения называли в своей манере пушкой и спичками, никак не конкретизировав свои возражения.

А вы хоть про одни правила знаете, почему они появились? Или вы потому им не следуете, потому что не понимаете и не разбираетесь

И что же с ним происходит? На сколько процентов падает скорость? На 0.01%?

Даже 0,01% это много. То что вы апеллируете процентами, играет вам только в минус) Ибо 0,01% это больше чем 0,01сек, и такой прирост вполне значителен. Еще раз повторюсь. Сейчас это 0,01, а вот через месяц или год будет уже 150,01. И за это клиенты вам хороший отзыв не оставят. Если конечно, смогут допереть, что это ваша вина и не поведутся на ваши манипуляции

-- До первого рефакторинга в сторонней фирме

Опять сказки про "хороших и дешевых франей", избавьте меня от лапши.

-- Только вот это будет полнейшая ложь и манипуляция доверчивым бизнесменом

Доверчивые бизнесмены вымерли еще раньше, чем доверчивые лохи.

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

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

-- Документация частично есть на ИТС. А еще у вас есть глаза и должен быть навык чтения кода

Опять стокгольмский синдром? Я не одобряю подход закрытости 1С и не одобряю тех, кто любит этот БДСМ.

-- Тогда почему не знаете элементарных вещей про типовые конфы?

С чего вы взяли? Какие элементарные вещи я не знаю? То, что мне надо в работе знать, я выковыриваю из какашек типового кода.

-- Даже 0,01% это много.

Для клиента нет. Для него 1000 рублей много и не стоит 0.01%. Пообщайтесь с реальными людьми, а не со своим перфекционизмом.

Опять сказки про "хороших и дешевых франей", избавьте меня от лапши.

Чего? Где я так говорил, покажите? Снова ваш вброс без аргументации. А можете корректно аргументировано написать, что имеете ввиду? И что скажете по остальным аргументам из того же моего абзаца? Если я не прав, то почему конкретно.

Доверчивые бизнесмены вымерли еще раньше, чем доверчивые лохи.

  1. А как же поговорка про "Лох не мамонт.."?)

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

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

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

Еще раз: разумеется отсутствие подробной документации на ту же себестоимость это плохо, и с ней было бы гораздо легче. Но если уже вот так случилось, что ее нет, это не повод забивать болт и дорабатывать незнакомый "черный ящик") У нормальных программистов как принято: нет доки - изучаем по коду. Чтобы знать куда доработку влепить. Да и в доке обычно не пишется подробно какая функция следует за какой. Даже при наличии доки все равно пришлось бы читать код, чтобы доработать. Это я и имел в виду, когда говорил про ваши 20 лет опыта. И клиент не должен платить за ваше изучение типового кода. Вы должны уже придти к нему с этим знанием, и за полчаса в нужную функцию вставить нужную клиенту строчку. Это все обычно изучают в первые 5 лет работы, а не как вы.

Опять стокгольмский синдром? Я не одобряю подход закрытости 1С и не одобряю тех, кто любит этот БДСМ.

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

Да и кста. Может это у вас стокгольмский синдром? 1С вы не одобряете, не любите, там все для вас воняет и прочие ваши выпады. Ну так идите в другую сферу. Зачем вы в такой ненавистной сфере задержались так надолго. Заработать можно и веб дизайнером каким нибудь, и сайты на тильде делать. Там наверно меньше "воняет", я не вкурсе.

С чего вы взяли? Какие элементарные вещи я не знаю? То, что мне надо в работе знать, я выковыриваю из какашек типового кода.

Выше написано. Себестоимость не знаете, бсп не знаете, рег и опер учеты не знаете. Просто ничего о системе не знаете и пытаетесь пальцем в небо что то доработать или кривую заплатку поставить.

Для клиента нет. Для него 1000 рублей много и не стоит 0.01%. Пообщайтесь с реальными людьми, а не со своим перфекционизмом.

Станьте качественным программером, и клиент и 0,01% прироста получит, и 1000р съэкономит

P.S. Вы снова многие мои аргументы пропустили. Значит согласны по ним?

Много букв ни о чем. Жуете одну и ту же жвачку. Мы это уже обсуждали.

Типовые плохо документированы - это факт.

Изучать их все незачем.

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

Почему вы взяли что я не знаю себестоимость? Что по вашему "знать БСП"? Вы скатились до ничем не подтвержденных ярлыков.

Клиенту нужно не качество, а работающее решение. Ему нужна лопада, а не сферический экскаватор в вакууме.

Тут мы не сойдемся во взглядах.

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

Думаю вы до 2019 года 17 лет работали в разных низкопробных франчах, на обслуживании и поддержке преимущественно малого бизнеса. На протяжении 17 лет задачи были максимально однотипные и повторяющиеся. Вы после получения начальных знаний на старте карьеры никак в дальнейшем их не развивали, не актуализировали, почти не изучали ничего нового. Затем после ухода на фриланс начали появлятся немного разнообразные задачи, но привычка плохой практики разработки у вас сохранилась и перенеслась на новых клиентов. И помимо того, что необходимо конкретно по задаче, вы так и не начали изучать ничего нового.

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

У меня были коллеги, которые по 10, 15 лет в разработке 1С, но при этом по количеству навыков и знаний в платформе уступают моим 3м годам стажа, потому что однотипные задачи и отсутствие саморазвития.

Я не хожу "ради интереса", извиняйте. Если что, то где-то в 2012-2014 я и сам проводил технические собеседования на роль помощника программиста (30-50 собеседований). Так что эту кухню знаю. Вот моя статья 2011 года на эту тему: https://infostart.ru/pm/100837/

Я не знаю производство и ERP, например, но как вы верно заметили, моя ниша - оптовая и розничная торговля, бухгалтерия и возможно ЗУП. Тут я как рыба в воде. И вы меня очень удивите если расскажете что-то существенное, что я не знаю.

и? случай тонкий и ошибиться здесь не сложно. Что именно вы подразумеваете под "не знанием"?

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

Так стоп, собеседования проводили в 2012-2014, а статью выпустили в 2011, что то я запутался)

Да даже если брать 2014 - 9 лет прошло в IT да и в 1С в частности это уже целая жизнь прошла. Большинство проектных подходов точно устарело.

Какая разница какие конфигурации. Это все вполне востребовано. Но если пойдете побеседовать на должность програмера, то вас поспрашивают по общим техническим вопросам. Как писать запросы, что такое виртуальные таблицы, что такое таблица итогов и агрегатов, индексы, Web сервисы и Xdto пакеты, клиент-серверное взаимодействие, знания БСП и прочее. Как сами думаете, какой у вас уровень знаний?) Неужели не интересно себя проверить, и подтянуть подзабытые темы.

P.S. То есть в целом я угадал карьерный путь?)

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

-- Так стоп, собеседования проводили в 2012-2014, а статью выпустили в 2011, что то я запутался)
Буквоедство болезнь мозга, даты примерные, по памяти.

-- Да даже если брать 2014 - 9 лет прошло в IT да и в 1С в частности это уже целая жизнь прошла. Большинство проектных подходов точно устарело.
Серьезно? И что же нового произошло в мире АйТи и в 1С в частности? 1С 9.0 может вышла? Или типовые стали конфетками, которые приятно внедрять?

-- Но если пойдете побеседовать на должность програмера, то вас поспрашивают по общим техническим вопросам.
Фрилансер-1Сник не совсем программист, он внедренец. Программирование там 50%

-- Неужели не интересно себя проверить, и подтянуть подзабытые темы.
За 20 лет я это все щупал. Если надо вспомню или нагуглю. Абсолютно не интересно.

Нет, я не в курсе. В 1С такого нет.

Ну вообще то есть. Давно и повсеместно. Вы из своего мирка узкого ничего не видите и не слышите. Но это не значит, что этого нет.

Серьезно? И что же нового произошло в мире АйТи и в 1С в частности? 1С 9.0 может вышла? Или типовые стали конфетками, которые приятно внедрять?

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

Фрилансер-1Сник не совсем программист, он внедренец. Программирование там 50%

Ну так 50% работы это программирование. Должны же вы знать техническую начинку вашего главного рабочего инструмента. А по вторым 50% работы вы хотя бы подтягиваете знания? Там какие нововведения по буху, зупу и прочему? Или по тому же принципу: 20 лет назад выучили и хорошо. Ничего же не поменяется, а о новой форме отчетности клиенту знать необязательно)

За 20 лет я это все щупал. Если надо вспомню или нагуглю. Абсолютно не интересно.

А кажется, что вообще не щупали. Да и за 20 лет почти все изменилось. Придется заново изучать, а вы крайне против такого. Вы против обучения явно

Ну вообще то есть. Давно и повсеместно. Вы из своего мирка узкого ничего не видите и не слышите. Но это не значит, что этого нет.

По существу и конкретики нет. Понятно. 0 бит.

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

И люди поменялись, да? Нимбом обзавелись. Не рассказывайте мне сказки.

А кажется, что вообще не щупали. Да и за 20 лет почти все изменилось.

А вы креститесь, когда кажется. И что же радикально поменялось? ггг... я закончил в 1997 БГУИР по специальности программист. Революции в программировании не наблюдаю.

По существу и конкретики нет. Понятно. 0 бит.

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

А какая конкретика тут может быть. Я рассказываю о моем опыте. Я лично так делал, как некоторые мои коллеги. (Это мы про собеседования как часть обучения). Какая еще конкретика. Могу с hh накидать вакансий, почитаете сколько областей знаний я, и другие 1сники, периодически подтягивают, чтобы быть востребованным на рынке.

И люди поменялись, да? Нимбом обзавелись. Не рассказывайте мне сказки

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

 И что же радикально поменялось? ггг... я закончил в 1997 БГУИР по специальности программист. Революции в программировании не наблюдаю.

Вам что нужно, чтобы считалось радикально? Появилось много верхнеуровневых языков, чтобы разрабатывать гораздо более сложное ПО. Программисты пересели с громоздких пентиум 2 на миниатюрные макбук мини. В Java вышло дохренилион версий и огромный фреймворк. Так что еще. 1С платформа развилась от древней 7.7 (или какая была в 1997м), до вполне современной 8.3.23. С современными async await, регулярками и прочими крутыми трендами из программирования. Вы на полном серьезе, выучили что то в 1997 и утверждаете, что с тех пор ничего не изменилось и учить новое нет смысла?? Или просто лень? Крыть нечем?)

Видимо для своего удобства проигнорили целый мой абзац

Ну так 50% работы это программирование. Должны же вы знать техническую начинку вашего главного рабочего инструмента. А по вторым 50% работы вы хотя бы подтягиваете знания? Там какие нововведения по буху, зупу и прочему? Или по тому же принципу: 20 лет назад выучили и хорошо. Ничего же не поменяется, а о новой форме отчетности клиенту знать необязательно)

На него что скажете?)

Вам что нужно, чтобы считалось радикально? 

Да, ничего революционного. Все это эволюция, а не революция.

По остальному написанному нечего добавить, уже все разжевал ранее, а пустые споры не люблю.

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

Продолжаем наш хит парад кринжа от гения 1С. Вдруг кто то из ваших клиентов посмотрит, и ужаснется)

Процедура ЗаменитьВидыКонтактнойИнформации(Объект, Источник, Результат) ЭКспорт
	//Подменяем вид КИ
	Для Каждого Строка ИЗ Объект.КонтактнаяИнформация Цикл
		ВидКИ = Строка.Вид;
		ИмяПредопределенныхДанных = ВидКИ.ИмяПредопределенныхДанных;
		Если Найти(ИмяПредопределенныхДанных, Источник) <> 0 Тогда
			НовоеИмяПредопределенныхДанных = СтрЗаменить(ИмяПредопределенныхДанных, Источник, Результат);
			Попытка
				Строка.Вид = Справочники.ВидыКонтактнойИнформации[НовоеИмяПредопределенныхДанных];
			Исключение
			КонецПопытки;
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры

НоваяОрганизацияОбъект = Справочники.Организации.СоздатьЭлемент();
НоваяОрганизацияОбъект.ОбменДанными.Загрузка = истина;             
СкопироватьРеквизитыОбъекта(НоваяОрганизацияОбъект, Контрагент);
ЗаменитьВидыКонтактнойИнформации(НоваяОрганизацияОбъект, "Контрагента", "Организации");
НоваяОрганизацияОбъект.Записать();
НоваяОрганизация = НоваяОрганизацияОбъект.Ссылка;

НовыйКонтрагентОбъект = Справочники.Контрагенты.СоздатьЭлемент();
НовыйКонтрагентОбъект.ОбменДанными.Загрузка = истина;
СкопироватьРеквизитыОбъекта(НовыйКонтрагентОбъект, Организация);
ЗаменитьВидыКонтактнойИнформации(НовыйКонтрагентОбъект, "Организации", "Контрагента");
НовыйКонтрагентОбъект.Записать();
НовыйКонтрагент = НовыйКонтрагентОбъект.Ссылка;

https://geniy1s.ru/pechat-za-postavshhika-ne-pechatala-adres/

Вопрос знатокам: где здесь говнокод? Мало того, что лишние циклы замедляющие выполнение печати, кривая подмена предопределенного, чтобы не мучаться. Так еще и сокрытие возможной ошибки от пользователя с помощью Попытки, а это уже вредительство.

Если бы вы понимали БСП, вы бы знали, что то что делает процедура ЗаменитьВидыКонтактнойИнформации, можно настроить в пользовательском режиме.

А еще эта ваша "транзакционная печать". Это что за ужас? Печатать нужно по сделанным и проведенным документам системы, по движениям регистра и тд. А создание доков, а потом отмена транзакции, в которой был создан десяток документов после каждой печати, положит базу моментально. Хорошо, что вы еще предупреждаете, что это трудоемкая процедура и чтобы часто не пользовались. Значит хоть что то понимаете, или где то краем уха слышали.

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

ВидКИ = ПредопределенноеЗначение("Справочник.ВидыКонтактнойИнформации.ТелефонОрганизации");
ТелефонДляПечати = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформацииОбъекта(СсылкаНаОрганизацию, ВидКИ);

Если нужна таблица, то пожалуйста

УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(СсылкаНаОрганизацию, ВидКИ)

Сравните ваш код и мои две строчки. Где проще, практичнее, дешевле и надежнее для клиента?

а вас сама транзакционная печать не смущает? Ведь медленная же.

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

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

Ну по русски выражаясь вы облажались.

а вас сама транзакционная печать не смущает? Ведь медленная же.

Не совсем понял вашего противопоставления. Естественно. Потому и смущает, потому что медленная. И имеет другие угрозы для технических мощностей клиента

зато прозрачная.

Если вы про свою транзакционную печать, то вообще ни капли не прозрачная, так еще и крайне опасная

С какой целью вы пытаетесь оптимизировать код, который изначально работает медленно? И где скорость не главное

  1. То есть вы признаете, что ваша доработка медленная?

  2. Может вы не слышали, но обычно и оптимизируют тот код, который работает медленно. Чтобы он работал быстрее

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

Я прочитал описание в вашем блоге и ужаснулся такой нелепице. Объясните плиз, вдруг я правда что то упустил. Так что ж это такое и зачем используется? (и при этом вы ругаете типовую печать через запросы)

И вместо этого начали мне лепить, как получать КИ?

Ну судя по доработке, вы этого не умеете. Вот решил подсказать))

Ну по русски выражаясь вы облажались.

По русски говоря, комменты под этой статьей перечитайте)

Ну тут мы не сойдемся во мнениях.

Я считаю транзакционную печать шедевром. Потому что она позволяет использовать типовую 1С для печати данных. Не быстро, но надежно, как Калашников.

Вот для понимания меня помедитируйте и распишите плюсы транзакционной печати для клиента. Если не найдете, то мои доводы для вас тоже не дойдут.

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

Транзакционная печать позволяет не писать самому печатные формы, а использовать типовые.

https://geniy1s.ru/zabavnyj-glyuk-numeraczii-rko-unf-3-0/

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

Гений же

Просто любую доработку с вашего блога бери и угорай)

Как это не стал. Разобрался и патч написал.

Вы что там, в глаза долбитесь?

Хамить не надо. А патч кривой, как по реализации (все те же ошибки), так и по функционалу (некорректное поведение).

То есть патч все же работает, но с вашей точки зрения кривой.

И в чем же его некорректное поведение?

Номер зависит не только от организации, но и от периода даты.

&После("ОрганизацияПриИзменении")
Процедура Расш1_ОрганизацияПриИзменении(Форма, Объект)                                 
	ВосстановитьНомерПоВозможности(Объект);
КонецПроцедуры  

Процедура ВосстановитьНомерПоВозможности(Объект)

	Если Объект.Ссылка.Пустая() Тогда
		Возврат;
	КонецЕсли;
	ДанныеИБ = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект.Ссылка,"Организация,Дата,Номер");	
	Если ДанныеИБ.Организация = Объект.Организация Тогда
		Объект.Номер =ДанныеИБ.Номер;                                                       
		ОчиститьНомерДокументаВСлучаеНеобходимости(Объект,ДанныеИБ.Дата);
	КонецЕсли;

КонецПроцедуры

Грандиознейшая придирка. Как мило. Просто шедевр буквоедства.

Спросил - ответил. Что не так?

Я думаю, этот нюанс пользователь переживет. У него он из 1000 случаев выстрелит 1 раз. Это опять к вопросу адекватности оценки рисков в реальном программировании.

Зато если выстрелит. А нумерация в рко строгая. И заметят это очень не сразу. Это к вопросу о знании предметной области

??

Какие там знания) Для него это все непонятный "черный ящик", как он сам говорил

Сперва добейся 17 места на Инфостарте, потом расскажи мне о знаниях. Ну или сдай 4 спеца по 1С, как вариант.

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

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

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

Ну это один из критериев. Можно еще привести наличие 4х сертификатов специалиста по 1С. Это лучше чем ничего в спорах с анонимами с раздутым самомнением.

Про говнокод это ваши выдумки. Я против ненужного перфекционизма.

наличие 4х сертификатов

А у меня голубые погоны.

Про говнокод это ваши выдумки

Так не выдумки же, вам и на инфостарте про это говорят. Вот эталонный пример, как докопаться до столба на пустом месте.

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

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

Не понимаю, зачем вы это пишите, если мы мыслим по-разному.
Думаю, бесполезно рассказывать про какие-то абстрактные примеры "красоты кода".

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

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

Не страшно. Не дуйте на воду.

То, что вы сделали не попадает под всеобщее значение "разобрался". Вы лишь устранили последствия, а причина такого поведения программы осталась. И в будущем она обязательно проявит себя в виде других последствий.

Вы ведь знакомы с концепцией причина -> следствие?

Если колесо на дороге пробьет, что будет надежнее и с чем вы дольше проедете: заменить колесо или наклеить резиновую заплатку на дырку?

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

Возможно, 1с починит свой косяк и проблема сама уйдет и второй заплатки не понадобится.

Надо не быть фанатиком-перфекционистом, а жить реальной жизнью и решать реальные проблемы, а не выдуманные.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории