Код по цене пачки пельменей и сорок бочек скрама

10.01.19

Разработка - Рефакторинг и качество кода

Быстрый код по цене пачки пельменей и сорок бочек скрама пятому столику.

Достаточно часто на ресурсе выходят статьи представителей франчайзи. Иногда - интересные и нужные. Иногда - не очень интересные. А еще регулярно статьи, чтение которых способно ввести в депрессию.
И то - скромные авторы пишут о стандартах разработки, о том, как надо писать код, о том, как надо внедрять, как работать с заказчиками, как персонал мотивировать, как проекты вести и “как сделать за пять минут то, на что у других уйдет год труда”. Статьи обильно приправляются сентециями типа “В нашей компании мы всегда работаем по самым высоким стандартам и тому-же молодых сотрудников учим”, “у нас есть в компании правила разработки, правила групповой работы, а еще мы внедрили скрам и стали на 99% процентов эффективнее”. Читаешь и чувствуешь, что сам-то ты отстал от сверх-высоких стандартов, что надо догонять, что все вокруг программируют на недостижимом уровне, и ты - никому не нужный мастодонт, реликт и музейный экспонат.
Для тех из коллег, у кого подобные мысли возникают, я и решил тоже несколько живых кейсов привести. Только не из неких заоблачных стандартов - а из самых что ни на есть актуальных продуктов. Продуктов, которые отдельные “партнеры” вполне себе продают клиентам. Ну и раз уж я Agile упомянул - скажу пару слов и о живых примерах групповой работы во франчайзи - из того, что лично видел.
Итак - как накодить за 20 секунд то, на что другие целый день убьют? Нужно придерживаться золотого правила минимализма. Например - зачем вот нужны регистры сведений? Дураку понятно, что это все от лукавого. Вместо регистров сведений вполне можно обойтись реквизитами справочников! И вот живой пример - продукт от “партнера 1С”, который вполне себе клиентам продается. 

зачем нужен регистр цен?

Справочник “Номенклатура” - смотрим и ценим (часть реквизитов я стер на скриншоте, чтоб решение не сразу угадали). Люди вводят реквизит - цена1, и не нужно никаких там разных регистров сведений и документов установки цен тем более. Просто, быстро, красиво. Правда вдруг может понадобиться еще один вид цен - ну не беда, добавим еще один реквизит. И еще один. На моем скрине 12 видов цен - 12 реквизитов. Ну и цена закупки отдельно. Пока, видимо, не нужно было больше. 
Точно так же можно (и нужно) упрощать все остальное. Вот, например, - нужно добавить информации в справочник. Фирма 1С придумывает для этого не-пойми чего. Какие-то регистры сведений, планы видов характеристик, табличные части с доп реквизитами. А потом, чтоб эту информацию извлечь, хитрые запросы к данным строят. Для “эффективного” кодера все это лишне. Добавил два-три реквизита прямо в справочник или документ - и проблема решена. А как же быть, если заранее неизвестно, какая информация нужна будет? А очень просто - заранее добавить реквизитов и назвать их просто и красиво. 

зачем нужны регистры

Как на скриншоте - “Свойство1”, “Свойство2”. Просто и красиво, прямо как в 1С 7.7 было. Этот продукт люди пользователям продают. И разумеется - с контрагентами все точно так же. “Категория1”, “Категория2”.

Все прочее - тоже реквизитами. ABC категория, должностное лицо-руководитель, должностное лицо - главный бухгалтер - все строго реквизитами. Зачем придумали регистры сведений? Не нужно это, и без того продукт можно “впарить” клиенту. И доработать быстро - нанял студента за пачку пельменей, он и добавит еще реквизит (или два реквизита, или сто - все одно не дороже пачки пельменей выйдет).   
Что на сайте самой компании, которая такие чудо-продукты производит, сказано? “один из крупнейших российских системных интеграторов и независимых разработчиков типовых программных решений на базе "1С" для автоматизации… Основная сфера деятельности группы компаний  полный комплекс услуг по автоматизации бухгалтерского и управленческого учета предприятий и организаций любых отраслей бизнеса, от индивидуальных предпринимателей до холдингов. Группа компаний  ...основана в 1993 году. С 1997 года ... является партнером фирмы "1С". За время сотрудничества накоплен обширный опыт внедрений в различных сферах бизнеса и в области государственного управления. Это подтверждают сертификаты и статусы, полученные ... а также статистика работы”.
Является партнером 1С с 1997 года.
Является партнером 1С с 1997 года!
Является партнером 1С с 1997 года!!

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


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

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

И снова живой пример. Делаем справочник партий.

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

ФИФО и всякое скользящее - это от лукавого. Ставим просто - списывать самую старую.

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

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

Ну и раз уж мы заговорили о франчайзи - нельзя несколько слов не сказать и о методах работы отдельных из них. Как говорится - не скрамом единым. 
Помнится, в свое время меня потряс список требований одного франчайзи к удаленным разработчикам. Документ был большой, детальный, расписывалось, куда и как ставить точки, какие отступы в коде делать, требования к комментариям. Отдельно и очень много - что надо делать все, что в техзадании расписано. А если в техзадании вдруг что-то не указано - то надо догадаться, что это подразумевается, и тоже сделать. И на сладкое - приводили пример реального диалога с разработчиком, которого совестили и стыдили. Я начал этот диалог читать, и понять ничего не могу. Вернулся к началу - ну да. “Читайте этот диалог снизу вверх”. 
Читайте этот диалог снизу вверх!
Читайте этот диалог снизу вверх!!!

Может это и был самый мудрый в мире франчайзи - но меня охватило глубочайшее отвращение. Писать километры требований к чужому коду - и не взять за труд себе даже эти требования хотя бы читаемо оформить. 
Еще, помнится, очень понравился ролик одного франчайзи, чье название что называется - “на слуху”. Лукавый человек с хитрым взглядом в ролике долго рассказывает, какая у них замечательная фирма. И какие стандарты высокие - и в разработке, и во взаимодействии. И что они бы могли еще сильнее развиться, но не хватает разработчиков. И в конце просто шедевральную фразу выдает: “У нас нужно в проекты вписываться. У нас вот недавно устроился разработчик, он сидел, ждал пока ему работу дадут - ну и уволился через месяц, не дождался”. Человек на голубом глазу подает, что вот, какой не шустрый разработчик оказался, не стал сам бегать и искать, чё кого. Про то, что у человека по идее должен был менеджер быть, который хотя бы какие-то правила игры мог бы и объяснить (ну или HR на худой конец, который должен был провести мероприятия адаптации) - про это ни пол-слова. То есть у вас в компании такая “замечательная” культура, что новым людям не оказывается никакой поддержки - это ладно. Но зачем тогда говорить, что вам разработчиков не хватает? Может быть, с себя стоит начать, подумать, отчего люди приходят, сидят в недоумении и уходят? Ну это ведь не так интересно, как рассказывать басни про скрам и выигранные тендеры. 
Чтоб не голословно было - вот несколько цитат с сайта компании (про скрам и agile - тоже есть). “в приоритете индивидуальный подход к каждому сотруднику”,  “Этому же учим сотрудников, повышая их мотивацию на собраниях и тренингах, есть коуч-тренером в отделе, мы изучили множество тематических вебинаров по программам 1С, и адаптировали их под специфику работы своего отдела.. совместное обсуждение в коллективе позволяет сотрудникам глубже изучить материал, досконально освоить используемое в работе программное обеспечение. ”, “руководитель отдела всегда готова ответить и помочь коллегам, у которых в работе случается всякое: опускаются руки, снижается мотивация, энтузиазм. Тогда ищет нужные слова и стимулы, которые помогут раскрыть потенциал человека, вдохновить, подбодрить, показать перспективу. С каждым детально разбирает ситуации, которые привели к сложностям, ищут варианты решений”
Месяц человек просидел за столом и уволился!
Месяц человек просидел за столом, никто к нему не подошел и он уволился!!
Месяц человек просидел за столом, ему не дали работы и его зарплата по итогам месяца была никакой и он уволился!!!
Индивидуальный подход к каждому сотруднику!!!!!
“Тема обсуждения: почему IT отдает предпочтение именно Scrum” (с)
“Если есть необходимость быстро получить рабочее ПО то смело выбирайте технологию Agile” (с)
.
  Еще случай из практики франчайзинга (другая фирма). Менеджер берет заказы у клиентов в обход руководства. И программистам также в обход руководства кидает. В итоге несколько команд в одном коллективе - одни вроде б и заняты, но заказы у них “тощие”, и работа ведется кое-как. А другие вроде б и не заняты почти, и выработка минимальна - но жирные заказы уходят к ним слева, и времени у них по факту нет - а уж на групповые стандарты и командные методы им просто фиолетово - люди по факту в другом месте работают. В итоге может быть несколько десятков разработчиков - а поставить на проект и некого.
И нельзя ни сказать о замечательной и чудесной практике под названием “Кому отдать проект? Тому, кто поставит меньше часов”. Как это выглядит? Примерно так же, как написано. Поступило ТЗ от заказчика. Большое такое, основательное ТЗ. Страниц на 50, к примеру. Кому отдать такой заказ, если у вас под началом 50 голов разработчиков? Разумеется, тому, кто меньше денег попросит - то есть тому, кто выставит за работу как можно меньше часов. Выглядит это примерно так. На корпоративном портале появляется новость - “Есть ТЗ, кто возьмется?”. Разработчик Вася со стажем в 15 лет разработки в серьезных проектах только заканчивает читать 30-ю страницу ТЗ, думая при этом, что 90% описанного уже есть в продукте “1С-Совместимо”, с которым он раньше работал, а вот оставшиеся 10% - с ними нужно месяц возится, потому что сложно. А студент Петя, который вчера сдал на “Профа” по платформе, уже пишет - “Возьмусь за проект, 80 часов”. Как мы видели по приведенным выше примерам архитектуры - любое задание действительно можно сделать за 80 часов - отказ от регистров, от методологии, и на выходе получается проект из разряда - “Наверное, это все же лучше, чем в экселе посчитать.. или не лучше?”. В итоге проект уходит студенту Пете. Ну а опытный разработчик Вася, несколько подивившись такому пиру жизни, через какое-то время уходит на фикси, куда его давно звали.    
И чтобы уж совсем закрыть тему, еще два слова о наболевшем. Пришлось не обновленную адаптировать УТ 11.3 к переходу на 20% НДС. Мне казалось, что задача не будет сложной. Добавить новое значение в перечисление “Ставки НДС”, потом проверить, и всех дел. Я оказался сильно не прав. Отчего-то в типовом решении 1С этого было недостаточно. Потому что были буквально сотни строк кода, типа 

И для новой ставки НДС нужно было добавить еще кода. Сотни таких мест, увы. Что мешало вообще сделать “Ставки НДС” не перечислением, а справочником, что мешало сделать одну обработку значения ставок в функции и вызывать эту функцию везде? Вы знаете ответ на этот вопрос. Так что - когда вы читаете очередной рассказ о скраме, Agile и прочих зарубежных словах, не спешите впадать в депрессию и считать себя безнадежно отставшим. Вполне возможно, что у рассказчика дела с высокими стандартами обстоят еще хуже, чем у вас, увы.    

Alexander Chernykh

Вступайте в нашу телеграмм-группу Инфостарт

франчайзи правила разработки

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Нейросети Рефакторинг и качество кода Запросы Разработчик 1С 8.3 Абонемент ($m)

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

10 стартмани

02.11.2026    375    2    nedomolkov.ivan    3    

3

Рефакторинг и качество кода Разработчик 1С:Предприятие 8 Россия Бесплатно (free)

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

29.10.2026    385    YA_777378709    0    

4

Рефакторинг и качество кода Разработчик Бесплатно (free)

Рассказываем, почему качественный код – это не техническая прихоть, а актив, который помогает бизнесу быстрее адаптироваться к изменениям и запускать новые фичи без бесконечного преодоления техдолга. Показываем, как объяснить бизнесу ценность рефакторинга через понятные признаки: замедление разработки, неточные оценки, страх перед legacy и хрупкость системы. Разбираем, почему неправильный рефакторинг может быть дороже его отсутствия, какие анти-паттерны ломают процесс и как не превратить улучшения в бесконечную переделку ради переделки. Объясняем, как сделать рефакторинг частью культуры команды: договориться с бизнесом, научить разработчиков видеть проблемные места, закрепить правила и поддерживать улучшения на уровне тимлидов, архитекторов и всей команды.

28.10.2026    501    Pavel791    0    

2

Рефакторинг и качество кода HighLoad оптимизация Системный администратор Разработчик Стажер 1С 8.3 Абонемент ($m)

Если к HTTP-сервису 1С обращаются сразу несколько программ, сколько запросов в секунду он успеет обработать? Я опубликовала простой HTTP-сервис на нашей "подопытной" конфигурации «Нано-УТ» (файловая база, Apache, без прав администратора) и нагрузила его скриптом на Python. Ответ: около 15-16 запросов в секунду, сколько бы клиентов ни обращалось одновременно. Запросы ждут своей очереди, и при 32 клиентах ответ приходит через 2 секунды вместо 64 мс. Заодно разобрала скрипт из первого варианта статьи: он «проверял» сервер, который отвечал по одному, и считал ошибки вместе с успешными ответами. В архиве исправленный скрипт, учебный сервер, HTTP-сервис для 1С и инструкция по запуску.

1 стартмани

23.10.2026    533    Ninel_S    3    

2

Рефакторинг и качество кода Разработчик 1С 8.3 Абонемент ($m)

Запустили Analyzer 1C 2.7.65 на промышленной конфигурации (596 модулей, 13 669 функций) и исследовали перегруженные функции (до 1887 строк), циклические зависимости и экран «Циклы» (кольцо из 64 модулей). Разобрали, почему популярные метрики (McCabe, связность) не представлены в продукте вендора, и составили пошаговый план разделения модуля. Привели проверенный платформой 8.3.27 пример до и после рефакторинга и выявили скрытую ловушку загрузки модулей с точкой в имени.

9 стартмани

19.10.2026    469    Ninel_S    2    

2

Рефакторинг и качество кода EDT СКД Разработчик 1С 8.3 1С 8.5 1С:Бухгалтерия 3.0 Бесплатно (free)

Одиннадцать граблей схем компоновки, которые не видно в конструкторе и не ловит EDT, на реальных отчетах БП КОРП. Формат числа задается в двух местах, и условное оформление варианта перебивает формат поля. Ресурс складывает штуки с часами, и помогает выражение «только когда единица одна». Ресурс пуст в детальных записях, параметр не появляется в шапке без userSettingID, valueListAllowed ломает границы периода, Остатки и СрезПоследних с параметром периода падают с «Несоответствием типов», title без xsi:type дает «Исключение XDTO» при загрузке. В конце код проверки схемы из файла до обновления базы, сводная таблица и чеклист.

16.10.2026    550    Konstmax13    2    

2

Инструментарий разработчика Нейросети Рефакторинг и качество кода EDT Разработчик 1С 8.3 1С 8.5 1С:Бухгалтерия 3.0 Бесплатно (free)

Как ИИ-агент (Claude Code) работает в живом EDT-проекте 1С:Бухгалтерии КОРП 3.0: из чего собрать стенд с MCP-сервером для EDT, как ставить задачи агенту, где он ломает проект и какие проверки это ловят. Реальные случаи: рукописные метаданные, ронявшие конфигуратор; четыре дня зависшего обновления из-за порядка блоков в Rights.rights; ошибки, которые EDT пропускает, а платформа нет; сплошная сверка вместо «вроде работает». В приложении шаблон CLAUDE.md, шаблон правила, чеклист перед обновлением базы и скрипты проверки ролей и схем СКД.

15.10.2026    3517    Konstmax13    11    

11

Рефакторинг и качество кода Тестирование QA Разработчик 1С 8.3 Абонемент ($m)

Инженерный анализ влияния (Impact Analysis) при изменении общего метода в 1С:Предприятии: почему штатный поиск ссылок скрывает 99% зависимостей и как обратный обход графа вызовов выявляет 370 скрытых потребителей на глубине 3 уровней. В статье — верификация сквозной цепочки обмена с маркетплейсом; в архиве-компаньоне — автономный BFS-анализатор на Python, слепки графа и план регрессионного тестирования.

1 стартмани

12.10.2026    335    Ninel_S    0    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Hans 3 10.01.19 15:34 Сейчас в теме
Еще один гуру?
oleg-m; pfilyk; jONES1979; +3 –3 Ответить
2. Timur.V 84 10.01.19 15:38 Сейчас в теме
Группа компаний ...основана в 1993 году

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

быстро - дешево - качественно (выберите два из трех критериев)
В России, кажется, большинство выбирает - быстро и дешево.
Neuroproton; +1 – Ответить
145. AnryMc 851 12.04.21 14:11 Сейчас в теме
(2)
Не обращайте внимание - это подражание западу, где (в отличии от ..) чтут традиции, дорожат репутацией и следят за качеством.


Клуб Енох
"Клуб Енох — ассоциация владельцев частных компаний, существующих не менее 200 лет."
Старейшая организация среди участников ассоциации — семейная фирма «Хоси» из Японии, занимающаяся гостиничным бизнесом с 717 года. (!!! ФИРМЕ 1304 ЛЕТ)
Самая крупная из участников клуба — оружейная корпорация «Beretta» из Италии была основана в 1526 году
3. biruk 7 10.01.19 16:43 Сейчас в теме
Попробую угадать поставщика... ГК "СофтБаланс"? А продукт - что то из линейки "Далион"? :-)
Mechanik21; Jeka44; jONES1979; MCV; +4 –1 Ответить
8. Petr54-ru 95 10.01.19 19:21 Сейчас в теме
(3) Я очень плотно много лет работал с продуктами линейки Далион Авто. Приходилось ставить и "как есть" и основательно кастомизировать.

Мне эта линейка понравилась, и еще понравилась дружелюбная поддержка.

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

Что понравилось в Далионе Авто - весь код функционала был открыт, что не понравилось в магазине и тренде - часть функционального кода закрыта.
Bukaska; top_1c; +2 – Ответить
24. Неопределено 112 11.01.19 07:14 Сейчас в теме
(8) Я смотрел скрытую часть кода, ничего интересного/особенного там нет. Сам работал с УМ и Трендом. УМ очень понравилась. Трактир всегда казался тёмным лесом.
30. MCV 11.01.19 09:11 Сейчас в теме
(8)
Что понравилось в Далионе Авто - весь код функционала был открыт

Условно открыт.

Перем DalionAuto Экспорт; // Внешняя компонента, все защищенные функции вызываются через эту функции
.....
	Файл=Новый Файл(ПутьDLL);
	Если Не Файл.Существует() Тогда
		Попытка
			ПолучитьОбщийМакет("DalionAuto").Записать(ПутьDLL);
		Исключение
			Предупреждение("Не удалось установить компоненту защиты """+ПутьDLL+"""
					|Попробуйте запустить программу от имени администратора", 30);
			Возврат Ложь;
		КонецПопытки;
	КонецЕсли; 

	Попытка 
		ЗагрузитьВнешнююКомпоненту(ПутьDLL);
		DalionAuto = Новый("AddIn.DalionAuto2");	
	Исключение
		Предупреждение("Не удалось загрузить компоненту защиты """+ПутьDLL+"""
					|Попробуйте запустить программу от имени администратора", 30);
		Возврат Ложь;
	КонецПопытки;
Показать


И дальше килограммы вызовов этой ВК во всех ключевых документах.

DalionAuto.ПересчитатьСуммуНалогиСтрокиДокумента(СтрокаДокумента,ДокументОбъект,ИмяТабЧасти,"Всего");
DalionAuto.ТабЧастьНоменклатураПриИзменении(СтрокаДокумента,ДокументОбъект,"Товары");


Всем понятно, что внутри этих закрытых процедур ничего сверхестественного нет.
Alex_Japanese_Student; +1 – Ответить
33. Alex_Japanese_Student 460 11.01.19 10:00 Сейчас в теме
(8)
Я очень плотно много лет работал с продуктами линейки Далион Авто. Приходилось ставить и "как есть" и основательно кастомизировать.
Мне эта линейка понравилась, и еще понравилась дружелюбная поддержка.


я очень много лет работал с 7.7. Мне очень нравилось это решение... пока не появилось версия 8. Когда верссия 8 уже десятилетия на рынке, как-то стыдно писать код в стиле 7.7
Liris; DarkUser; PLAstic; +3 – Ответить
36. starik-2005 3309 11.01.19 10:02 Сейчас в теме
(33) да вообще писать код в процедурной парадигме структурного программирования без замыканий, лямбда-функций и объектов стыдно, но что делать - 1С иначе не умеет. 8.3 от 7.7 не далеко ушла.
45. biruk 7 11.01.19 10:40 Сейчас в теме
(8)Вот уж позвольте не согласиться с Вами по поддержке. В принципе, если вопросы задавать простые - то отвечают достаточно оперативно и точно. Но как только спросишь что то более сложное - это швах. Особенно порадовала ситуация, когда в руководстве пользователя было написано одно, а программа делала другое. Причем тех. поддержка отвечала по руководству. Разговор про Тренд, если что... С Авто не сталкивался...
50. Petr54-ru 95 11.01.19 11:31 Сейчас в теме
(45) По Тренду и магазину поддержка - "как у всех", по Авто - хорошая, дружелюбная поддержка, что скорее всего объясняется отсутствием первой лини поддержки, сразу попадаешь на вторую.
15. JohnConnor 59 11.01.19 03:27 Сейчас в теме
(3) в их продукте Трактир сплошь и рядом запросы по документам. Но у гуру1С запросы к докам не тормозят
35. Alex_Japanese_Student 460 11.01.19 10:02 Сейчас в теме
(15)
в их продукте Трактир сплошь и рядом запросы по документам. Но у гуру1С запросы к докам не тормозят

да, просто и быстро, а регистры их сначала создай, потом еще запросы к ним... напридумали
18. neuromancer_aza 49 11.01.19 06:21 Сейчас в теме
(3) Кодерлайн это, легко гуглится.
Shmell; PLAstic; Maxis; MCV; +4 – Ответить
46. PLAstic 296 11.01.19 10:42 Сейчас в теме
(18) О, приглашали туда. Посмотрел видосы на сайте и понял, что их сторониться надо побольше первого бита даже. Рад, что не вляпался.
dabu-dabu; +1 – Ответить
78. Alex_Japanese_Student 460 11.01.19 17:25 Сейчас в теме
(18)
статья все же о разных франчайзи, не об одном
продукты - одного
подход к работе - второго и третьего
20. top_1c 4200 11.01.19 06:35 Сейчас в теме
(3) СофтБаланс считаю ИМХО лучшими в интерфейсе, функциональности и техподдержке, насчёт кода не смотрел, так как фактически доработок не требовалось, многим следовало бы у них поучиться.
Неопределено; +1 – Ответить
37. Alex_Japanese_Student 460 11.01.19 10:04 Сейчас в теме
(20)
СофтБаланс считаю ИМХО лучшими в интерфейсе, функциональности и техподдержке, насчёт кода не смотрел, так как фактически доработок не требовалось, многим следовало бы у них поучиться.


приведен конкретный пример
считают оплату по приходникам - раз приходник и два
у клиента был еще расходник (вернули деньги или что-то в таком духе)
в логике оплат по приходникам - все гуд
клиент получает дорогостоящий товар и счастливо уходит
а так то да - функционал прекрасный
139. severnyj 18.01.19 13:32 Сейчас в теме
(37)
Добрый день.
Посмотрели у себя. Правильно ли я понял, что это код, который вызывается при печати Справки-расчета из Расходной накладной и только в случае если расчеты по договору ведутся в у.е.?

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

В принципе аналог таблицы "Расшифровка платежа" есть и в других конфигурациях. В Бухалтерии например есть таблица, в которой можно разбить платеж по нужным договорам/счетам. Но тут уже человеческий фактор влияет.
Прикрепленные файлы:
34. Alex_Japanese_Student 460 11.01.19 10:00 Сейчас в теме
(3)
Попробую угадать поставщика... ГК "СофтБаланс"? А продукт - что то из линейки "Далион"? :-)

вот так и никакой интриги
144. пользователь 06.03.19 10:33
Сообщение было скрыто модератором.
...
4. AnderWonder 27 10.01.19 16:43 Сейчас в теме
Накипело, поделился - молодец. Это все, конечно, возмутительно, но похоже так везде, не только в 1С и не только в России - так что не стоит сильно переживать, смотрите на жизнь философски.
Дамир1; h00k; Aleskey_K; Liris; Tavalik; mityushov.vv; o.nikolaev; ixijixi; Ponommax; MCV; top_1c; Perfolenta; Fox-trot; +13 –1 Ответить
38. Alex_Japanese_Student 460 11.01.19 10:04 Сейчас в теме
(4)
Накипело, поделился - молодец. Это все, конечно, возмутительно, но похоже так везде, не только в 1С и не только в России - так что не стоит сильно переживать, смотрите на жизнь философски.


смотреть философски - хорошо
а выплеснуть возмущение и после этого смотреть философски - еще лучше
xantif_2000; Liris; lunjio; Vladimir Litvinenko; +4 – Ответить
5. kernelio 4 10.01.19 17:06 Сейчас в теме
Это печально. Потом о продуктах 1С и кто их разрабатывает ходит дурная слава.
xantif_2000; +1 – Ответить
39. Alex_Japanese_Student 460 11.01.19 10:05 Сейчас в теме
(5)
Это печально. Потом о продуктах 1С и кто их разрабатывает ходит дурная слава.


- да. Это печально, потому и надо писать чтоб люди стыдились
xantif_2000; +1 – Ответить
6. ZOMI 400 10.01.19 18:07 Сейчас в теме
Это защита от копирования продукта такая)
14. CRD_82 11.01.19 01:22 Сейчас в теме
(6)
преврати свой продукт в неуловимого Джо.
7. Kamikadze 46 10.01.19 18:50 Сейчас в теме
9. starik-2005 3309 10.01.19 19:24 Сейчас в теме
Автор слово scram и проблемы местного звездного скопления путает. Нужно уметь жить в онтологии скрама, аджайла, гибкой разработки и прочих синонимичных иногда подходов. Но это никак не влияет на качество продуктов, если процессы в компании изложены только на бумаге, а по факту покер планирования применяется как торги на портале. Есди бы автор потрудился вникнуть в критикуемую методологию, то хаос непрофессионализма в отсутствии процессов он бы не ассоциировал ни со скрамом, ни с чем другим похожим...
tulakin_s; Vladimir Litvinenko; +2 – Ответить
40. Alex_Japanese_Student 460 11.01.19 10:07 Сейчас в теме
(9)
Есди бы автор потрудился вникнуть в критикуемую методологию, то хаос непрофессионализма в отсутствии процессов он бы не
ассоциировал ни со скрамом, ни с чем другим похожим...


автор все же пишет не о скраме, а о тех, кто семинары по скраму проводит
xantif_2000; +1 – Ответить
42. starik-2005 3309 11.01.19 10:22 Сейчас в теме
(40)
автор все же пишет не о скраме, а о тех, кто семинары по скраму проводит
Я прочитал статью, и у меня, лично, сложилось мнение, что автор слишком много плохого говорит о людях, решениях, возникающих проблемах, периодически (видимо, в качестве междометий) вставляя "ругательства" "Скрам" и "Аджайл". И какой остаток сухой от статьи у прочитавшего формируется? Правильно, Аджайлы и Скрамы - это жуткая хрень.

Совсем недавно была сформулирована в одной из статей идея, что "незаменимые сотрудники" - это цена, которую не хочет платить компания за организацию процессов. Скрам и Аджайл - это методологическая база для организации процессов, за которую платится определенная цена, а сами процессы в результате оплаты этой цены становятся ценностью компании, фактически увеличивают ее стоимость на рынке. Но т.к. у нас такой локальный экстремум управленческой функции двигает массы воздуха человеческих ресурсов, что в нем принято декларировать, а не обеспечивать процесс. Обеспечение функционала процесса как минимум трудоемко, написать это все на бумаге - тоже, но написать можно всего один раз, а двигать приходится постоянно. И ленивые управленцы выбирают "декларировать", а не "двигать". А неленивых управленцев мало, т.к. в управленцы идет тот, кому лениво (один мой друг постоянно говорит, что ему лениво программировтаь, в итоге он пошел работать Scram-мастером в СберТех, где часть руководителей проектов откровенно саботировали данный подход. После этого он пошел в Альфа-Банк - там все подобные проблемы решаются мгновенно и ничья голова не удержится на месте больше 15 минут при попытке подобного саботажа, сейчас он там руководитель чего-то большого и красивого).
gc1c; OerlandHue; kalyaka; +3 – Ответить
79. Alex_Japanese_Student 460 11.01.19 17:28 Сейчас в теме
(42)
Я прочитал статью, и у меня, лично, сложилось мнение, что автор слишком много плохого говорит о людях, решениях, возникающих проблемах, периодически (видимо, в качестве междометий) вставляя "ругательства" "Скрам" и "Аджайл". И какой остаток сухой от статьи у прочитавшего формируется? Правильно, Аджайлы и Скрамы - это жуткая хрень.


потому, что слова эти уже употребляют к месту и не к месту. Еще через какое-то время уже ругательствами будут (примерно так со ловом - "демократия" произошло в прошлом веке)
вам самому не смешно, когда какой-нибудь болтливый директор сберкассы , любящий переодеваться и кассиров пугать, начинает рассуждать про аджайл и о методологиях разработки? При том, что методологии в компании этого человека - слишком хорошо известны
10. dsdred 4355 10.01.19 20:48 Сейчас в теме
Код страшный, слов нет.
НО! Как мне показалось враг тут не Аджил. Автор не поленись и прочитай книжку по SCRUM красного цвета, там описана покер методика и собственно про разработку в группе.
Это не торги кто меньше скажет того и тапки. Есть проект, он бьется на куски и каждый кусок оценивается всеми, если оценки сильно разнятся, все обосновывают почему дали такую оценку и еще раз оценивают. Задачи выполняет группа, а не студент сказавший меньше всех.

П.С. Сам я по скраму не работал еще, но почему бы и нет, очень даже интересно попробовать.
41. Alex_Japanese_Student 460 11.01.19 10:09 Сейчас в теме
(10)
Как мне показалось враг тут не Аджил. Автор не поленись и прочитай книжку по SCRUM красного цвета, там описана покер методика и собственно про разработку в группе.


-- само собой враг не Agile а люди, которые берутся проводить семинары по нему, понимая при этом несколько меньше, чем средний обыватель
собственно статья о людях, а не о agile
11. acanta 10.01.19 22:41 Сейчас в теме
Иногда человек, чье призвание к примеру автоматизация розничной торговли одеждой попадает на производственное предприятие, производящее те же пельмени.
Вместо размеров одежды в качестве характеристики вносит расфасовку готовой продукции (10 по 0,5 вместо зеленое 36 размера или 12 по 0,2 вместо желтое 50 размера).
Тоже очень интересно получается.
d4rkmesa; +1 – Ответить
55. MCV 11.01.19 12:00 Сейчас в теме
(11)

Сплошь и рядом.
К сожалению в нашей Стране сильно развиты родственные связи. А это влечет найм работников не по профессиональным качествам , а "своих пристроить".
61. sergathome 4 11.01.19 13:54 Сейчас в теме
(55) ЛОЯЛЬНОСТЬ - ключевое слово, коллега. Это исторически сложилось, когда ещё "Три кита" через ногинские таможни контрабандой мебель таскали (а кое-где и до сих пор так работают и там иначе нельзя) :)
71. Aggressorak 11.01.19 16:19 Сейчас в теме
(55) Это во всем мире развито. И это нормально. У такого подхода есть немало своих плюсов. К тому, что описано в (11) это даже напрямую отношения не имеет.
12. milkers 3047 10.01.19 23:42 Сейчас в теме
Потому что были буквально сотни строк кода, типа

И для новой ставки НДС нужно было добавить еще кода. Сотни таких мест, увы. Что мешало вообще сделать “Ставки НДС” не перечислением, а справочником, что мешало сделать одну обработку значения ставок в функции и вызывать эту функцию везде?




Только что делал эту же операцию в старой ERP, там этого кода в несколко раз больше. Мысли были те же самыми.
PLAstic; Alex_Japanese_Student; EMelihoff; MCV; +4 – Ответить
13. mkalimulin 1651 10.01.19 23:50 Сейчас в теме
Будьте добры, приведите весь код списания по партиям. Там, где вы про ФИФО говорите. Очень интересно.
JohnConnor; +1 – Ответить
80. Alex_Japanese_Student 460 11.01.19 17:29 Сейчас в теме
(13)
Будьте добры, приведите весь код списания по партиям. Там, где вы про ФИФО говорите. Очень интересно.


прошу прощения. Я добавил скрин
16. Perfolenta 207 11.01.19 05:21 Сейчас в теме
к сожалению, жизнь сложная штука... хотя обычно я стараюсь писать красиво и методически верно, но нет-нет и напишу чего-то подобное показанному в статье... просто иногда действительно нет лишних 30 секунд, а иногда заказчик фактически требует сделать фуфло и не идет на компромис... и другие случаи бывают... в общем, такой код появлялся и будет появляться...
17. PerlAmutor 162 11.01.19 06:13 Сейчас в теме
(0)
Ну и раз уж я Agile упомянул - скажу пару слов и о живых примерах групповой работы во франчайзи - из того, что лично видел.
. Вроде бы упоминали Скрам...

Пара слов о перечислениях в 1С. Когда я только начал изучать синтаксис 1С и сравнивать его с C++, то пришел в замешательство. Как так - перечисление есть, а значения перечисления - нету? В C++ ведь как:

Либо так
enum color { RED, GREEN, BLUE };

Тут ясно, что значение RED = 0, GREEN = 1 и т.д.

Либо так:

enum Suit { Diamonds = 5, Hearts, Clubs = 4, Spades };


Тут ясно, что Diamonds = 5, Hearts = 6, Spades = 5.
А в 1С кроме имен нет ничего. И какой толк тогда от перечисления, если это не более чем ссылка на строку? Почему это не аналог фиксированного соответствия хотя бы? С таким же успехом можно было бы в качестве типа поля НДС поставить просто список с элементами типа Число и рассчитывать налево и направо без всяких проверок.
Vladimir Litvinenko; Darklight; +2 –1 Ответить
44. ambabas 11.01.19 10:37 Сейчас в теме
(17)

Тут ясно, что Diamonds = 5, Hearts = 6, Spades = 5.
А в 1С кроме имен нет ничего. И какой толк тогда от перечисления, если это не более чем ссылка на строку? Почему это не аналог фиксированного соответствия хотя бы? С таким же успехом можно было бы в качестве типа поля НДС поставить просто список с элементами типа Число и рассчитывать нале


Забавный пример, а если и Diamonds и spades =5, как с таким перечислением работать?
48. PLAstic 296 11.01.19 10:57 Сейчас в теме
(44) Видимо, по именам элементов перечисления. Просто автор хотел сказать, что ему было бы удобно видеть что-то вроде справочника с предопределёнными элементами и в реквизитах нужных типов иметь нужные ему значения, но он ещё не обнаружил эту возможность платформы.
62. sergathome 4 11.01.19 13:58 Сейчас в теме
(48) автор не вкурил смысла 1С-перечисления. от слова совсем. и с БД не работал ;)
94. PerlAmutor 162 11.01.19 22:43 Сейчас в теме
(62) автор работает с БД и с языками программирования ниже ЯВУ уже более 15 лет...
49. starik-2005 3309 11.01.19 11:06 Сейчас в теме
(44)
Забавный пример, а если и Diamonds и spades =5, как с таким перечислением работать?
А перечисление в Си - это по-факту числовая константа. Т.е. некое А = 1, некое Б = 2, какое-то Ц = снова 1. Дальше это перечисление нужно для описания некоторой "сучности" с целью понять, что это за хрень на понятном кодеру языке. В 1С перечисление - это не отягощенная правами сущность неизменяемого справочника без реквизитов, определяющая некий тайный смысл.

Закаким хреном 1С-ники сделали ставку НДС с помощью перечисления? Тут сложно гадать. Может быть они думали, что это такая константа околовечная, что не стоит из-за нее целый справочник городить, ибо кроме самой сущности ставки ничего другого к ней привязать невозможно (т.е. это не расширяемое понятие, для которого справочник нужен). Может быть следовало бы сделать что-то типа перечня ставок налога, а в каком-то регистре привязывать к этой ставке имя и саму ставку, но это было бы пложением сущностей без необходимости, от которой еще дедушка Оккам предостерегал всех правоверных католиков еще в XI-м веке.
63. sergathome 4 11.01.19 14:03 Сейчас в теме
(49) c НДС, судя по всему, так исторически сложилось. Ибо когда оно было ещё 20% (до18), его расчет не ложился в общий алгоритм по причине непродуманности округления вида суммаНДС от общей суммы не равна суммеНДС от сумм строк. И разъяснений на эту тему никаких не было, и каждая букашка требовала по-своему ей счета-фактуры писать. Тут никаких справочников не напасёшься ;))
Я тогда совершил ошибку - ввёл общий справочник налогов со ставками (не на 1С) и задолбался потом его править....
64. starik-2005 3309 11.01.19 14:09 Сейчас в теме
(63)
И разъяснений на эту тему никаких не было, и каждая букашка требовала по-своему ей счета-фактуры писать.
А тут, кстати, простой математический парадокс очень просто разрешается. Вот выписываешь три строки с товаром, в каждой из которых 0,33. В итоге получаем копейку разницы, т.к. строка округляется до "0", а итог - до "1". Но теперь разбиваем СФ на три штуки. Сколько итого? Правильно, "0". Поэтому правильные пацаны округляют построчно и суммируют уже округленное. А кому надо с долями копеек возиться - идут в лес.
66. sergathome 4 11.01.19 14:15 Сейчас в теме
(64) неправильным пацанам пришлось для особо умных букашек рекурсивный алгоритм подбора копеек написать, потому как сумма заказа оплаченная должна точно совпадать и всё такое. До сих пор помню, что идеальной является цена для 20% - кратная 6 копейкам, а для 18 - 59 (вот когда пацанам полный жопяк настал). ;)
67. starik-2005 3309 11.01.19 14:28 Сейчас в теме
(66) ну вот есть сумма заказа оплаченная, допустим, на 1000 рублей. НДС в том числе. НДС нужно взять из счета на оплату - не нужно его придумывать из головы. А в счете на оплату НДС будет для 18% 152,50, например (если там несколько строк, в которых что-то куда-то округлилось), вместо 152,54. Ну потеряли 4 копейки - и хрен с ним. Если этот товар продавать несколькими счетами, то в итоге те самые 4 копейки "пропадут" сами по себе.

Вообще, тема НДС - бессмысленная и беспощадная. Бухгалтера боятся санкций налоговой, т.к. она может ни с того ни с сего взять и не признать принимаемым к зачету часть НДС, по которым счета-фактуры оформлены с нарушением. Но суд в данном случае налоговую может поддержать только тогда, когда представитель организации вообще ничего не понимает в деле. Алгоритм расчета суммы НДС для суда не является существенным, особенно если налоговая сама его не прописала в законодательных актах.
68. sergathome 4 11.01.19 14:31 Сейчас в теме
(67) это оно всё так, но в 90-2000х всё было гораздо хужее - никто настоящего НДСа не платил, всё было на прокладках и все старались свою задницу сделать гладкой настолько, чтобы любой РУБОП скользил дальше ;))

PS Помню одна букашка настолько мне нервы измотала, что я написал официальное письмо от имени руководства её конторы в налоговую с требованием дать официальные же разъяснения по поводу. Письмо было отправлено. Ответа не было год минимум, дальнейшую судьбу этой истории не отслеживал.
81. Alex_Japanese_Student 460 11.01.19 17:31 Сейчас в теме
(63)
c НДС, судя по всему, так исторически сложилось.


но когда это правишь, то становится крайне вот обидно за потраченное время, да
83. starik-2005 3309 11.01.19 17:39 Сейчас в теме
(81)
но когда это правишь
А что мешает поправить так, чтобы было одно место? Выделить все эти проверки в функцию или процедуру и передавать с параметрами данные ставки и суммы.
93. PerlAmutor 162 11.01.19 22:42 Сейчас в теме
(44) Тут нет противоречий. Действительно, множество элементов перечисления может иметь одно и то же значение и это нормально.
47. PLAstic 296 11.01.19 10:55 Сейчас в теме
(17) Если тебе приходится в коде писать конструкции вроде
Если а = Перечисление.КакоеТо.Значение1 Тогда
	б=1;
ИначеЕсли а = Перечисление.КакоеТо.Значение2 Тогда
	б=2;
ИначеЕсли а = Перечисление.КакоеТо.Значение3 Тогда
	б=4;
КонецЕсли;

то это следствие неправильной архитектуры, а не ограничения языка.
53. Darklight 38 11.01.19 11:41 Сейчас в теме
(47)Да, архитектура не правильная - тут ноги из 1С7.7 растут. Там не было предопределённых элементов, зато были такие вот перечисления. Конечно, при дальнейшем развитии платформы (уж при переходе от 1С8.x к 1С9.0) правильнее было бы пересмотреть архитектуру перечислений. Я бы сделал следующее:
1. Отвязал бы их от БД - т.е. сделал бы чисто метадантными, не хранящимися в БД (ну и, условно, не требующим реструктуризации
2. Сделал возможным связывать элементы перечислений со значением (заданного у перечисления типа - как у планов видов характеристик) в конфигураторе (только примитивные типы (включая UUID, Тип, которые сейчас 1С8 примитивными типами считать не хочет) и значения ссылок на предопределённые элементы).
3. Сделать возможным задавать у реквизитов тип - такого перечисления как сейчас - в БД будет сохраняться само значение, но в объектной модели будет автоподставляться значение перечисления (если есть несколько одинаковых значений - выбирается первое - ну или запретить такие случаи)
4. Сделать возможным вводить такие перечисления не только глобально (я бы перенёс их в раздел "Общие"), но и локально - т.е., например в обработках (в т.ч. внешних) или в справочниках, и даже в формах (но типообразующиими для сохранения в БД будут только введённые в Общих или у владельца, сохраняющегося в БД; введённые у формы или обработки могут быть использованы только в контексте своего владельца, и не могут использоваться в реквизитах, сохраняющихся в БД как тип перечисления - но по значению - конечно могут).
5. Наверное, ещё бы сделал событие - получения значения перечисления - чтобы там можно было свой алгоритм написать - и сделать значение динамическим.


А то, что в конфигурациях Ставка НДС - это перечисление - да, можно было бы считать архитектурным просчётом, тянущимся десятилетиями - справочник кажется очевидным - но.... вот не задача - будет значение ставки значением реквизита - то для его получения пришлось бы обращаться к нему через точку - в тонком клиенте это уже сразу было бы не возможно, в остальных случаях - это приводил бы к обращению к СУБД (хотя кеширование тут поможет избежать падения производительности), но это уже не "красивый" код - его нужно избегать. Вот идея перечислений-метаданных-со связанными значениями - это было бы красивое решение!
Vladimir Litvinenko; +1 – Ответить
54. PLAstic 296 11.01.19 11:52 Сейчас в теме
(53) Если не ошибаюсь, когда-то давно, может и в 7.7, переводили НДС на справочник. Потом опять перечисление сделали.
57. muskul 11.01.19 12:26 Сейчас в теме
(54)В Рарус управление аптекой ставки в справочнике......вот взял тока что их новое обновление и думаю, а зачем я тут мучался ждал обновления......если оно в справочнике.....
112. Angealtor 25 13.01.19 14:31 Сейчас в теме
(47) С НДС в УТ 11 то же самое сейчас. Видимо, есть в этом какой-то "скрытый" смысл.
19. top_1c 4200 11.01.19 06:34 Сейчас в теме
21. json 3438 11.01.19 06:44 Сейчас в теме
(19)
В ректальном вроде другие вопросы разбираются.
Лично мне интересны статьи на подобные темы от разных авторов.
Во первых, это разные точки зрения
Во вторых, регулярное появление таких публикаций - это хоть какая-то борьба со злом
sergathome; Batman; PLAstic; Vladimir Litvinenko; MCV; +5 – Ответить
82. Alex_Japanese_Student 460 11.01.19 17:34 Сейчас в теме
(19)
Было уже -

да, читал в свое время, но у человека сборник говнокода - а у меня про продукты от франчей, которые даже за живые деньги продаются
(ну и вообще моя статья лучше по моему субъективному мнению)
22. Shmell 678 11.01.19 07:05 Сейчас в теме
Да, чего только не увидишь в жизни. Бывает открываешь код, а там комментарии конструктора запроса и сам запрос за 1 минуту состряпан по остаточному регистру, где все условия на измерения в секции "ГДЕ"...

Статья жизненная, мне понравилась.
PLAstic; MCV; +2 – Ответить
25. MCV 11.01.19 08:46 Сейчас в теме
(22) Это наименьшее зло из тех, что я встречал ))
27. json 3438 11.01.19 08:52 Сейчас в теме
(22)
а вы в курсе, что есть случаи, когда условие ГДЕ работает быстрее, чем отборы в параметрах виртуальной таблицы регистра?
28. starik-2005 3309 11.01.19 09:02 Сейчас в теме
(27) а еще есть вумный механизм в SQL от мелкомягких, пытающийся всю ту хрень, что понаписали вдинэснеги привести к минимуму чтений с диска. А т.к. диски стали шустрыми вельми, то их главный враг Postgre еще и может учитывать стоимость чтения, и если она не так велика, то он и прочитать лишнего не посчитает зазорным))
29. Shmell 678 11.01.19 09:10 Сейчас в теме
(27) Конечно вкурсе, но все решает оптимизатор запросов СУБД: он по сути из секции "где" подставляет параметры в вирт таблицу. Но сделать это может не всегда. Да и к тому же делает так ms sql. Pg умеет так делать с 10 версии только. Поэтому, строить так запросы нужно основываясь на опыт и знания о том как строится план запроса СУБД, а не лепить так - потому что "не запрещено" - значит - "разрешено".
107. PerlAmutor 162 12.01.19 22:19 Сейчас в теме
(29) При чем тут оптимизатор запросов СУБД и параметры виртуальной таблицы? Когда запрос дошел до оптимизатора СУБД, то все параметры виртуальной таблицы уже перекочевали в секцию WHERE. Виртуальная таблица это зачастую код сервера приложений 1С, который может сделать из одного запроса к виртуальной таблице - десяток, сотню запросов, при этом что-то делать с промежуточными результатами относительно своей логики. СУБД об этом ничего не знает.
109. starik-2005 3309 13.01.19 01:32 Сейчас в теме
(107) виртуальная таблица - это частг соединение с подзапросом, из-за этого экспертов учат искать внешние условия и засовывать их внутрь, а специалистов учат писать условия внутри. Но учат вообще мнтго кого много чему, а научить не могут. А то, что оптимизатор все-равно попытается минимум чтений сделать, и у него это может получиться - вопрос второй. На то он и оптимизатор, чтобы косяки за 1сниками подтирать.
110. PerlAmutor 162 13.01.19 01:41 Сейчас в теме
(109) бро, я понимаю, что пятница и праздники. Тебе тяжело излагать мысли, мне тяжело их воспринять Предлагаю дискуссию отложить немного на потом...
111. starik-2005 3309 13.01.19 12:12 Сейчас в теме
(110)
Предлагаю дискуссию отложить немного на потом.
Да без проблем.
23. Droonimus 11.01.19 07:13 Сейчас в теме
Автору респект! Как с языка снял)) Лет 8 об этом уже думаю.

По поводу бардака в отраслевых конфигурациях:

Это так. Наверное просто нет времени переделать всё качественно, ведь основная разработка ведется по ТЗ и там "вроде как" всё продумано и даже есть системный подход, отсутствие избыточности в хранении данных. Но вот потом... Обкатывают продукт на каком - то предприятии - там уже пошло - поехало - тут не так, здесь вообще не так. В общем - пошли костыли Цена1, Цена2...ЦенаN. Я за другое переживаю - как такое проходит сертификацию "1С: Совместимо"?

По поводу партионного учета:
На самом деле попытки написать его заново, либо несколько упростить имеют под собой основания. Есть проблема, которая с каждым годом никак не решается - это оперативность получения информации по себестоимости, которая напрямую зависит от регламентной операции расчет себестоимости выпуска / товаров . Особенно это важно в рознице, где цена напрямую зависит от цен партий. Вот представь, что у тебя сеть из тысячи точек, на которые идут закупки как централизовано, так и непосредственно на местах. Десятки тысяч накладных в день. И наценка у тебя 2 - 5 %, котрая меняется каждый день. Цена ошибки очень велика. При этом есть передачи товара напрямую между точками. РАУЗ хорош, но нет возможности сказать всем СТОП, сейчас мы быстро посчитаем себестоимость и можете дальше работать)) Есть варианты считать характеристики партиями и использовать РАУЗ по средней - тогда оно хотя бы не уходит в многодневный анабиоз. Поэтому иногда и такие вещи простительны, так как решают проблемы бизнеса, хоть и далеко не изящны.

По поводу ставки НДС:
Полностью согласен. Ощущение, что уровень кода в типовых решениях упал за последние годы. Ранее неоднократно дорабатывал на проектах УПП / ЗУП и другие - одно удовольствие. Сейчас же без мата не обходится. Некоторые считают, что уровень вхождения программиста стал выше для разработки, например в той же "УТ 11". Соглашусь. Но не по причине того, что код там стал уж так хорош, а по причине того, что местами там хаос и нужно иметь крепкие нервы и более высокий уровень, чтобы разобрать его логику на составляющие. Это конечно не ко всем блокам относится, но уж к половине подсистем точно.
milkers; manlak; PLAstic; ambabas; MaxxiMiliSan; MCV; +6 – Ответить
32. MCV 11.01.19 09:40 Сейчас в теме
(23)
Поэтому иногда и такие вещи простительны, так как решают проблемы бизнеса, хоть и далеко не изящны


Понимаю. Локально -да. Я это называю "заколхозить" ))
Но автор пишет про коробочный вариант поставки. Там такое недопустимо (имхо).
PLAstic; товарищ Ын; +2 – Ответить
58. Droonimus 11.01.19 13:10 Сейчас в теме
(32)Верно)) Колхозинг - удел фикси и кодеров на местах. В коробках такое недопустимо. Мне однажды стало понятно, почему запаролены некоторые модули конфигураций - не от того, чтобы какое - то ноухау стало достоянием общественности. Посмотрите на код некоторых из них. Да там если прогнать объекты той же самой Автопроверкой конфигураций, то процент гомнокода по разделу "1С: Совместимо" - это будет максимум 10 % от общего числа ошибок. Всё остальное - это тупо несоблюдение стандартов разработки.
ZOMI; sergathome; +2 – Ответить
140. severnyj 18.01.19 13:45 Сейчас в теме
(23)
В общем - пошли костыли Цена1, Цена2...ЦенаN

На практике если в справочнике Номенклатуры 3 млн. позиций, то данное решение работает гораздо лучше чем доп. регистры и прочие усложнения структуры данных.
141. Octopus 351 18.01.19 15:28 Сейчас в теме
(140) Пока не потребуется получить данные старых периодов, связанных с уже изменившимися ценами
142. genayo 18.01.19 15:48 Сейчас в теме
(140) Обоснуйте, почему лучше?
26. shalkovpv 18 11.01.19 08:50 Сейчас в теме
Да, действительно, за примерами далеко ходить не надо. Взять конфигурацию УАТ от Раруса... Ребята это не может быть 1с-совместимо... Что в старых редакциях, что в новых на управляемых формах... Так разрабатывать нельзя.
h00k; Aleskey_K; software1c; товарищ Ын; EMelihoff; +5 – Ответить
31. MCV 11.01.19 09:29 Сейчас в теме
(26) Рарус- отдельная тема :-(((
Aleskey_K; d4rkmesa; +2 – Ответить
43. mkalimulin 1651 11.01.19 10:29 Сейчас в теме
Автору спасибо за хороший материал. И хочется пожелать, чтобы он научился отвечать на все вопросы. В том числе, неудобные для него.
84. Alex_Japanese_Student 460 11.01.19 18:16 Сейчас в теме
(43)
Автору спасибо за хороший материал. И хочется пожелать, чтобы он научился отвечать на все вопросы. В том числе, неудобные для него.


вы про код списания по партиям?
я привел скрином прямо в статье, посмотрите
автор отвечает, просто не сразу - и проекты крупные внедряются у автора с нового года, и 20% ндс - все навалилось
88. mkalimulin 1651 11.01.19 18:54 Сейчас в теме
(84) Да, конечно, понимаю что загрузка. Спасибо за ответ. Я все это писал только для того, чтобы вы обратили внимание на ФИФО, которое в этом коде присутствует.
51. KapasMordorov 418 11.01.19 11:34 Сейчас в теме
В 7.7 были ставки НДС справочником.
Всё равно колонки в книгах продаж/покупок жестко фиксированы и без проверки ставок в коде не обойдешься.
sergathome; +1 – Ответить
52. Octopus 351 11.01.19 11:40 Сейчас в теме
(51) Ну так учет не из одних колонок этих книг состоит... В конфигурациях для управленческого учета, которые как правило, перепиливаются в усмерть, а после годами не обновляются вообще, эти книги никому не сдались, а вот решение запилить ставки НДС справочником было бы удобнее
56. MCV 11.01.19 12:22 Сейчас в теме
Хотел бы внести свои 5-ть копеек по НДС.
Для тех инженеров, что имеют непосредственный контакт с кассами он-лайн.
Не надо в таблице налогов в кассе тупо менять ставку НДС с 18 на 20%!
Да, вы решите проблему с тем, что не зависимо от того, какую ставку налога передала уч. система в драйвер, сама касса рассчитает по ставке 20%

Приведу пример на Штрих-М.
таблица налогов должна иметь вид:
НДС 10% = 1000
НДС 18% = 1800
НДС 20% = 2000
Следовать они должны строго в этом порядке.

Соот-но уч. система должна начать пользовать 3-ю строку ставки налога , которая =20%.
Многие инженера изменяют значение 2 строки с 18% на 20%.
Получается примерно так:
НДС 10% = 1000
НДС 20% = 2000
НДС 20% = 2000

Сама касса корректно рассчитает ставку налога и в чеке выдаст 20%. Все верно. НО!
Если смотреть этот чек в ОФД, то там будет 18%.

Не попадитесь на этом.
Всем добра!
VampirRo; Aleskey_K; PLAstic; d4rkmesa; neuromancer_aza; +5 – Ответить
59. d4rkmesa 11.01.19 13:21 Сейчас в теме
(56) Это просто невероятно. Подробнее не хотите статью написать на Инфостарт? А то народ не в курсе совершенно, как одновременно и 18, и 20 в таблице ставок Штриха установить. Многие спрашивают, как печатать чеки с 18% по отгрузкам прошлого года, и 20% - этого.
69. MCV 11.01.19 15:10 Сейчас в теме
(59) К чему сейчас этот пост?
72. d4rkmesa 11.01.19 16:31 Сейчас в теме
(69)
Перевожу: это НЕ сарказм.
74. MCV 11.01.19 16:47 Сейчас в теме
(59) Вы не поняли.
Возможно я некорректно выразился.
Дело не в том, как напечатать чек с различными ставками НДС в одном документе. Понятно, что у Вас тут скилл вкачан!
При отправке в ОФД, ставки налогов в таблице должны идти в порядке увеличения и никак иначе.

Сама касса передает тут ставку , которая находится в её таблице на тек. момент. Ей все равно.
Зашить их можно так:
1. 18%
2. 10%
3. 20%
На чеке ККМ все будет нормально. В ОФД по суммам налогов будет тоже корректно.

Но если посмотреть в Л.К. ОФД значение ставок будет так:
1. Всего 118 р. в том числе НДС 10% =18 р.
2. Всего 110 р. в том числе НДС 18% =10 р.
3. Всего 120 р. в том чисте НДС 20% =20 р.

Т.е. сумма НДС верная, а ставка отразится кривая.
Понятно, что это всего лишь отображение ставки в личном кабинете. Но тем не менее.
120. VampirRo 14.01.19 15:32 Сейчас в теме
(74) В первую очередь как посмотрит налоговая на эти художества и когда заявится с проверкой, т.к. кривые ставки уйдут не только в ОФД но и в ФНС.
122. MCV 14.01.19 16:38 Сейчас в теме
(120)

Уже пошли. На моей прошлой работе так и косякнули. Соб-но, чего и пишу. Звонили в ОФД. они умывают руки.
Типа "ничего не знаем , от нас пуля ушла" ) В общем то они правы. Им что прислали, то они и перекинули в ИФНС.
И никто не знает, что делать дальше ) Сидят и ждут, вдруг пронесет :-D
125. VampirRo 15.01.19 06:31 Сейчас в теме
(122)
якнули. Соб-но, чего и пишу. Звонили в ОФД. они умывают руки.
Типа "ничего не знаем , от нас пуля ушла" ) В общем то они правы. Им что прислали, то они и перекинули в ИФНС.
И никто не знает, что делать дальше ) Сидят и ждут, вдруг пронесет :-D



Если читать 54-ФЗ, то вроде как при выявлении некорректных сведений нужно делать коррекцию, но это ИМХО, на самом деле даже в самой налоговой еще до конца не определились. Зато были проверки, при которых проверяли что на кассе стоит именно тот продавец что и указан в чеке. Одна из небольших торговых сетей, с которой я работаю, добыла фотографии проверяющих, и повесила в своих торговых точках перед кассирами.
126. MCV 15.01.19 07:03 Сейчас в теме
(125) Это понятно.
Чек коррекции работает на корректировку сумм (в плюс или минус). В данном случае с суммами все в порядке. Отображение значения ставки НДС некорректно ;-)
127. VampirRo 15.01.19 07:12 Сейчас в теме
(126) Чек коррекции применяется не только при разнице в суммах, но и когда пробили не с той налоговой ставкой. В данном случае с общей суммой по чеку все нормально, а вот с суммой налога уже нет. Но повторяю, это ИМХО, конкретики пока нет даже у самой налоговой, по крайней мере у тех специалистов с которыми общаюсь.
129. MCV 15.01.19 10:29 Сейчас в теме
(127)



(127)
но и когда пробили не с той налоговой ставкой


Не нашел, где ставку НДС изменять.
Сумму-да, вижу. Интересует ставка.
Прикрепленные файлы:
128. VampirRo 15.01.19 07:24 Сейчас в теме
(122) По налоговым ставкам нарвался на конфигурациях ТИС 7.7. (представьте на семерке работает еще немало народа), там на фискальниках от Атолла использовалась двухкомпонентный драйвер, собственно сам драйвер и интеграционная компонента соответствующая формату 1С. Но при переходе на ФФД 1.05 товарищи из Атолла в прошивке поменяли порядок налоговых ставок в таблицах, не поправив собственно интеграционую компоненту 1С и поэтому чеки стали улетать с другой налоговой ставкой, тут есть пара статей про это. Обработку им конечно поправили, а вот по уже пробитым чекам бухгалтерша ездила объясняться в налоговую...
130. MCV 15.01.19 10:31 Сейчас в теме
(128) По ходу и нам тоже предстоит.
А не уточните, что в налоговую надо подать/написать?
138. VampirRo 18.01.19 10:28 Сейчас в теме
(130) В теории на каждую такую коррекцию создается акт. В налоговой нам не ответили, требуется ли его передача в ИФНС, по закону-требуется, но наши налоговики не в курсе что с ними делать, как они должны быть оформлены (делали в свободном формате). Ответ был мы пока не знаем сами, но вы не беспокойтесь, раз вы сами поправили, то мы вас штрафовать не будем.. Так что пока они просто подшиты у главбуха на случай проверки. Просто если расхождение и коррекция делается по итогам проверки, то на предприятие налоговики захотят наложить штраф. Пока как то так.
119. VampirRo 14.01.19 15:29 Сейчас в теме
(56) Соот-но уч. система должна начать пользовать 3-ю строку ставки налога , которая =20%.
Многие инженера изменяют значение 2 строки с 18% на 20%.


Такое возможно когда пытаются сэкономить на перепрошивке кассового аппарата, сейчас все производители устроили аттракцион жадности и выпускают индивидуальные прошивки с 20 процентами НДС под конкретный аппарат привязывая его к серийному номеру. Естественно за дополнительную денюжку.... И желающие сэкономить на прошивке (примерно 2000 за саму прошивку плюс стоимость работы ЦТО) могут и "сколхозить" подобным образом.
121. MCV 14.01.19 16:33 Сейчас в теме
(119)

А я то думаю, какого фига из обычной таблички , ЦТО по кассам устроили целый ритуал с заменой прошивки.... Теперь понятно!
Спс за ответ.
124. VampirRo 15.01.19 06:26 Сейчас в теме
(121) Там в первую очередь даже не ЦТО (хотя кто из них откажется от денег за перепрошивку) а производители касс.
60. nyam-nyam 11.01.19 13:44 Сейчас в теме
Хех, вот Вы про код кривой говорите - он то хоть какие-то проверки проходит, хоть и косячит в бою... А как Вам продукт от 1С за 1,25 млн. руб. , некоторые релизы которого просто не работают без прав Администратора?
sergathome; +1 – Ответить
65. feva 542 11.01.19 14:14 Сейчас в теме
И нельзя ни сказать о замечательной и чудесной практике под названием “Кому отдать проект? Тому, кто поставит меньше часов”


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

Жиза жизненная
70. kser87 2485 11.01.19 16:14 Сейчас в теме
К чему все это? Статья про то, как человека взяли на работу, а а он потом совершенно бесплатно написал на профессиональном ресурсе гадостей про
компанию, работодателяя, коллег и совершенно незнакомых ему людей. Да ещё и выложил в общий доступ куски конфигурации, которые вероятно защищены авторским правом (какими бы они не были).
85. Alex_Japanese_Student 460 11.01.19 18:21 Сейчас в теме
(70)
К чему все это? Статья про то, как человека взяли на работу, а а он потом совершенно бесплатно написал на профессиональном ресурсе гадостей про
компанию, работодателяя, коллег и совершенно незнакомых ему людей. Да ещё и выложил в общий доступ куски конфигурации, которые вероятно защищены авторским правом (какими бы они не были).


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

если называть черное - черным, а белое - белым, это говорить гадости - то да, статья полна гадостей
выложенные куски конфигурации имеют отрицательную ценность
90. kser87 2485 11.01.19 19:54 Сейчас в теме
(85) понятно, то есть вы просто посмотрели кусок кода и решили, что конфигурация плохая. Ни контекста исполнения, ни полноты картины программного продукта вы понятное дело ни видите.

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

Если называть чёрное черным и тд, то статья полна гадостей. Но мир многообразен и не делится исключительно на чёрное и белое. Если бы вы умели хотя бы специалисту объяснить, почему описанные решения неверные, а конфигурация не имеет ценности, то претензий не было бы. А так вы просто ругаете чужой труд ни за что. Представил себе ситуацию в суде. Вам говорят, что программа столько-то стоит, продано n лицензий, приносит стабильный доход, даёт работу штату целой компании. А вы что? Бу- у бу бу так не делают, это отстой. Не смешно разве?
pm74; kalyaka; +2 – Ответить
91. Alex_Japanese_Student 460 11.01.19 20:54 Сейчас в теме
(90)
понятно, то есть вы просто посмотрели кусок кода и решили, что конфигурация плохая. Ни контекста исполнения, ни полноты картины программного продукта вы понятное дело ни видите.


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

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

то возможно, конечно, что это непризнанный гений
но используя бритву Оккама я предположу все же что это некомпетентный лодырь и халтурщик
snood; AlX0id; Vladimir Litvinenko; genayo; +4 – Ответить
99. kalyaka 1190 12.01.19 13:59 Сейчас в теме
(91) Согласен с автором из (90). Нельзя просто взять без контекста чужое решение и критиковать. Посмотрите как Мартин Фулер объясняет мотивацию выбора написания кода.

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

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

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

В статье не хватает мотивации критики и, конечно, контекста. И если уж критиковать профессионализм других, то нужно это делать тоже профессионально, а это тоже сложно. Особенно сложно, когда в представленных примерах нет явного "говнокода", т.е. нечитаемого, перегруженного и т.д.
131. Vovan1975 13 15.01.19 11:50 Сейчас в теме
(99)
Без контекста не понятно, что за архитектурное решение было применено, какова система?


интересно, конечно, услышать в каком контексте оправдано зафигачивание цены в реквизиты справочника.
snood; MCV; +2 – Ответить
133. kalyaka 1190 15.01.19 21:07 Сейчас в теме
(131) Например у нас имеются следующие требования: в системе для отдельной номенклатуры можно назначить две цены. Для системы в целом можно определить две роли для цены, например: оптовая и закупочная. Из системы нужно получить обороты отгрузки в ценах ролей 1 и 2.

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

Вопросы без подвоха, просто хочется понять ход ваших рассуждений.
134. Vovan1975 13 16.01.19 11:43 Сейчас в теме
офигенно умный вопрос. А я ведь очень простой вопрос задал, не?

Ну так я услышу наконец, когда оправдано заносить цену в реквизиты справочника номенклатуры?
135. genayo 16.01.19 12:02 Сейчас в теме
(134) Когда эта цена никогда не будет меняться, конечно :))
136. genayo 16.01.19 12:05 Сейчас в теме
(133) Какой бюджет проекта? На каком типовом решении?
143. MCV 24.01.19 10:03 Сейчас в теме
(131) +1 , вот мне тоже оооочень интересно услышать.

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


Компания занимается автобизнесом! Что бы было понятна специфика работы: продажа авто, запчастей,оказание услуг по ТО , trade-in и пр.

Так вот: с НГ массово меняются цены. Други мои НА ЗАПЧАСТИ И РАБОТЫ! На все! Каталог сейчас содержит около 5 млн. записей.
Только одного Mersedes самолично загрузил 986 тыс. наименований.
И ещё есть несколько известных брендов.
Цены должны быть изменены с 01.01.2019 г.
Представьте себе, ещё неделя до НГ и уже есть новые цены. А загрузить, сцУко, не можем только потому, что тупой программист впихнул их не в периодический регистр сведений, а МляДь, в реквизит (ему должно сейчас икаться)!!
Все, что мне остается - это под бой курантов запускать обработку по смене цен. Ес-но справочник заблокирован транзакцией.
А 02.01.2019 авосервис начинает работать. А работать не могут, потому что цены еще не обновились. Не успел сервер за сутки обработать такую махину.

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


P.S.
Тот, кто тупо вхерачил цены в справочник: удали 1С ; выключи комп и больше не занимайся этим.
105. kser87 2485 12.01.19 19:05 Сейчас в теме
(91) программный продукт это не утка. Его невозможно понять просто взглянув на один справочник.

Вообще не сложно взять и полить нечистотами чужую работу. Критиковать все умеют. Очень сложно в таком случае найти слова, которые поймет только что вышедший из универа молодой разраб. И не думаю, что вы эти слова найдете. Вряд ли вы можете назвать хоть одну причину делать цену или ответственных в регистре кроме той, что так сделано в типовых конфигурациях. Что касается суммы оплат, то я по приведенному примеру не возьмусь ничего конкретного сказать.
oleg-m; pm74; kalyaka; +3 – Ответить
73. chavalah 1108 11.01.19 16:32 Сейчас в теме
Друзья, я вам так скажу: 80% продукта, который продается, это маркетинг. И есть много замечательных по технологичности программ, которые так и остались на полках.

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

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

PS: но я ни в коем случае не против красивого кода))
severnyj; lunjio; +2 – Ответить
76. Vladimir Litvinenko 2949 11.01.19 16:56 Сейчас в теме
(73)

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


Такое лучше всё-таки приводить со ссылками на первоисточники. Поискал подтверждающую информацию - не нашёл.

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


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

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

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

Извините за занудство.
PLAstic; AnderWonder; +2 – Ответить
77. papami 55 11.01.19 17:07 Сейчас в теме
(73)
И еще как-то встречал в стандартах разработки Майкрософт, что если программа может работать в течении часа (!) и не выдает ошибок, то она готова к коммерческому использованию.

Интересно, Windows по этому стандарту релизят?
86. Alex_Japanese_Student 460 11.01.19 18:23 Сейчас в теме
(73)
Поэтому хорошая программа это та, которая надежно работает. Быстро, стабильно и предсказуемо.


в общем-то в статье приводится живой пример - почему указанный код не работает, и чем чревато, когда итоги считают по документам
87. Vladimir Litvinenko 2949 11.01.19 18:30 Сейчас в теме
(86) При этом программа продана )) К сожалению, многие отраслевые решения покупаются не потому что они умело проданы, и даже не потому что они могут работать и решать проблему предприятия, а потому что нет выбора и их можно использовать как заготовку для доработок.

Иными словами, производителя спасает низкая конкуренция (вспоминаю ранние релизы УСО 1.3 и документы закрытия объекта строительства, часть из которых корректно работала только при РАУЗ, а часть только при партионном учете, а по отдельности эти документы смысла не имели).
75. MishaD 14 11.01.19 16:48 Сейчас в теме
А с партиями что не так ? Могли бы ведь и просто документ использовать в качестве партии.
89. starik-2005 3309 11.01.19 18:59 Сейчас в теме
Вывод из всего этого напрашивается один: как бы мы плохо что ни делали, всегда найдется тот, кто будет делать это еще хуже )))

Всем добра!
92. GROOVY 2516 11.01.19 22:07 Сейчас в теме
Коллеги, вы бы локализацию некоторых типовых для Казахстана посмотрели. Вот там кровь из глаз...
Запрос по амортизации ОС вызывается 38000 раз. В закрытом модуле. Но мы то умеем посмотреть что там.
Тут смайлики: убьюсь-об-стену и рукалицо.
d4rkmesa; MaZaHacKa_13; +2 – Ответить
100. nvv1970 12.01.19 14:23 Сейчас в теме
(92) Да ладно... ))) Локализованный ЗУП3.
Документ НачислениеЗП. В нем есть кнопка отчета для отдельной строки "Карточка начислений" (или что-то вроде того). Работал с ЗУП только в части производительности, поэтому в формулировках синонимов неточности.
Так вот, чтобы построить данный отчет: открывается транзакция, проводится документ, строится СКД отчет, откатывается транзакция. Если документ на 10к строк, то вообще весело.
Да, решение - разбивать док на более мелкие части. Но в целом подход интересен.

Локализованная БП: Полные соединения соединяются с полными, кучи соединений со срезами и т.д. Постгресс вообще отказывается работать без полной переписки ряда алгоритмов.
95. PerlAmutor 162 11.01.19 22:58 Сейчас в теме
Действительно, можно сколько угодно долго осуждать архитектуру. Но тут также как с фильмами, косяки, у героя часы в одном кадре на одной руке, потом на другой, потом вообще другой голос озвучки актера, затем режиссер фильма убил жену и всех родственников, сам спился и застрелился, но в итоге общая масса смотрит фильм из года в год и восхищается проделанной работой.
96. Мастер1С 781 12.01.19 09:32 Сейчас в теме
Я после похожего говнокода не могу с Рарусом работать, и одно упоминание вызывает отвращение. Может они исправились, все-таки давно это было, когда с ихними продуктами работал. Но как серпом по яйцам - забыть не могу.
d4rkmesa; +1 – Ответить
102. palsergeich 12.01.19 14:49 Сейчас в теме
(96) А воз и ныне там.
103. starik-2005 3309 12.01.19 16:02 Сейчас в теме
(102) а проблема ПО не в говнокоде - если он работает, то это не проблема. Проблема в том, что нет предела совершенству. В любом коде можно найти кучу того самого г.

Как повторял за кем-то Шахиджанян: "Лучшее - враг хорошего!" Совсем плохой код, который будет работать неэффективно, плодить, конечно, не стоит, а вот пытаться сделать код идеальным - большее зло, чем работающий "плохой" код. Ведь работающая программа лучше сферической в вакууме неработающей программы, да?
104. palsergeich 12.01.19 17:59 Сейчас в теме
(103)
(102) а проблема ПО не в говнокоде - если он работает, то это не проблема. Проблема в том, что нет предела совершенству. В любом коде можно найти кучу того самого г.

Как повторял за кем-то Шахиджанян: "Лучшее - враг хорошего!" Совсем плохой код, который будет работать неэффективно, плодить, конечно, не стоит, а вот пытаться сделать код идеальным - большее зло, чем работающий "плохой" код. Ведь работающая программа лучше сферической в вакууме неработающей программы, да?

А в том то все и дело - заявленный функционал коробки не работает.
Поправить возможности нет - закрытый модуль.
Один из примеров - ориентировочно 1,5 года назад - РАРУС МФО. Заявлено: полное формирование отчетности ЦБ.
По факту - Таб док в который цифры надо вбивать руками полностью.
Через какое то количество обновлений аж целых 2 поля сами начали заполняться (из нескольких сотен.)
Заявлено обмен с БКИ - по факту - допиливался по нашим письмам в момент внедрения из коробки не работал.
И таких примеров не один десяток.
106. starik-2005 3309 12.01.19 20:03 Сейчас в теме
(104) а что мучаетесь с рарусом? Купите у нас МФО. Отчетность ЦБ - полностью настраиваемый функционал в плане заполнения и выгрузки в XBRL.
123. palsergeich 14.01.19 21:11 Сейчас в теме
(106) Коробку купили управленцы без нашего участия - просто поставили перед фактом.
Да я там уже не работаю.
132. sergathome 4 15.01.19 14:35 Сейчас в теме
(104) имел счастье столкнуться тоже. "коробочная" версия не содержит НИ ОДНОГО ИНДЕКСА. Они называют это готовой системой...
97. udb2007 17 12.01.19 11:14 Сейчас в теме
Вот Вы пишете примеры плохого кода, и что такие программы вполне себе продаются клиентам. Боюсь, некоторые "погромисты" могут взять пример на вооружение... то есть, специально начать делать подобное на продажу...
98. Nigmatul 12.01.19 13:19 Сейчас в теме
1с бит компания работала в 2011 году, по заказу писали модуль, содрали денег дай боже, по факту человек который делал является свежим выпускником управленческого инста (менеджер) который 2 месяца как устроился в франч (досих пор не понимаю как его взяли сразу в программеры) Весь код был выброшен на помойку, гавнокодом назвать было сложно , что ещё хуже ? Ещё Кодерлайн , такая же фигня, отдал простейшую обработку на обычных формах переписать на УФ (2 часа работы) в итоге неделю после сдачи программер дописывал (в день по раза 2-3 скидывал обновленные труды) и т.д. сколько не общался с франчами везде тупо впарить пытаются
108. kalyaka 1190 13.01.19 00:05 Сейчас в теме
(98) На данном ресурсе есть сервис Тендеры, где можно найти разработчиков под Вашу задачу. Думаю репутация здесь играет большую роль и Ваша задача будет выполнена максимально качественно.
101. nvv1970 12.01.19 14:40 Сейчас в теме
Вообще к теме статьи отношусь "циклически": то критически, то с пониманием. И тому есть причины.

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

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

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

Возвращаясь к первой строке своего поста: в целом со статьей согласен, но все очень неоднозначно.
sergathome; VladimirMelnychenko; pm74; MCV; kalyaka; +5 – Ответить
113. MCV 13.01.19 15:37 Сейчас в теме
ИМХО:

В том, что на рынке присутствуют программные решения с "кривым" кодом, есть и наша вина.
Когда вы приходим а автосалон и хотим купить новую иномарку, то смотрим на внешний вид, цвет, салон, обвес и прочую канитель.
Но не заглядываем в моторный отсек. Почему? Потому, что покупает машину человек , который в этом ничего не смыслит (согласитесь с тем, что когда вы устраиваетесь на работу, то работодатель Вам сразу обозначает решение, на котором работает компания. Когда его покупали, то вас не спрашивали). Да и какой в том смысл? Ведь это же автосалон. Он же не продаст новую машину с Б/У движком?

Полюбовались , купили, приехали домой и начались проблемы.
Гнать её в тот же автосалон , где и брали резона нет. У них драконский ценик на ТО. К тому же в штате есть собственный механик.
Обращаетесь к нему и понеслась [смейлик:рука-лицо]...

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


p.s.
Не помню фильма, где слышал эту фразу. Но сама она в голове засела.
"Главное, что бы пипл хавал. А пипл хавает!"
Сейчас так все происходит за не имением конкуренции.
114. acanta 13.01.19 16:57 Сейчас в теме
Если не ошибаюсь, в наших автосалонах до сих пор продаются Феррари итальянской разработки 1956 года с разной окраской кузова и кажется еще виллисы американской довоенной разработки.
115. СергейКа 671 13.01.19 19:12 Сейчас в теме
Пацталом ))
Аффтар прям Америгу отрыл ))

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

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

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

PS. К чему все это написано?
Читаешь и чувствуешь, что сам-то ты отстал от сверх-высоких стандартов, что надо догонять, что все вокруг программируют на недостижимом уровне, и ты - никому не нужный мастодонт, реликт и музейный экспонат.

Забейте и наслаждайтесь жизнью )
Причины в первом приближении я разобрал. Не нужно расстраиваться из-за этого. Если можете реально поменять что то в такой ситации - меняйте. Нет - нечего и париться.
Удачи в новом году!
116. acanta 13.01.19 20:56 Сейчас в теме
(115)И что, присмотрелись или еще нет?
Кто кто в теремочке живет..
Если за месяц работы нет, значит ее нет.
117. СергейКа 671 13.01.19 21:06 Сейчас в теме
(116) Увы, не понял смысла вопроса.
Я не работаю в описанных компаниях и уж тем более там не начальник, если вопрос к 3-му блоку.
118. MCV 14.01.19 10:48 Сейчас в теме
(116)
Это станет понятно по первым двум неделям работы. Не стоит месяц ждать.
Было такое, что я работал во франчах по 2-3 недели вообще без трудустройства. Носил, как дурак, все документы по приему. Меня динамили. Может это и хорошо. Нет лишних записей в трудовой об этих "компашках".
Все они сейчас мягко стелят, да жестко спать.
Читаешь вакансии: ну прям работа мечты. А на поверку ,,,, ну вы сами знаете.

(115)
Эх! Хорошо бы забивать на подобное. Но каждый день приходится снова и снова окунаться в подобный код.
Вот у автора и вырвалось)))
137. yyv-911 16.01.19 12:29 Сейчас в теме
Идеальный код не нужен никому. Средний код не нужен никому. Плохой код не нужен никому. Код наш с Вами вообще никому не нужен, кроме нас самих.
С точки зрения заказчика имеет смысл лишь соответствие его требованиям. Не важно что там написано - работает.
Результат нужен прямо сейчас и здесь. И заказчику непонятно зачем нужно платить 20 часов что бы добавить новую цену/колонку/посчитать итог. И ему непонятно когда к ним приходили франчи и настраивали за час. А тут ты с них хочешь 4 часа.
Мне нечего ему возразить. Все проблемы настройки других лиц он не видит в текущем времени. Они возникнут потом. И будут новой проблемой. Не связанной с старой и не являющиеся следствием предыдущего.
Для заказчика не важно что разукрасить в все цвета радуги список реализаций в УПП с кучей подзапросов (дата последней оплаты, первая поставка, общий долг и т.д.) это неправильно. Ему не важно что это нужно проектировать заранее. Что если разукрасить быстро - разукраситься всем. И тормозить будет у всех. Все это будет потом. потом будем решать проблему тормозов и проблему другого человека, которому не нравятся эти цвета радуги. Это будет следующая задача в итиль.
А пока приходиться красить. Если я его пошлю - он пойдет к начальству. И уже финансовый директор будет говорить что надо покрасить.
И именно поэтому я буду писать говнокод и плодить реквизиты. Мне семью надо кормить.

зы: У нас с этого года новая концепция. Все затраты должны быть экономический и финансово оправданы. Вот даже не знаю как туалетную бумагу оправдывать будут. )
Для отправки сообщения требуется регистрация/авторизация