Другой 1С
1.23K subscribers
21 photos
10 files
85 links
Контакты: @Ivan_Belokamentsev, IEBelokamentsev@1cbit.ru
Канал про 1С, но не для программистов.
Автор - Иван Белокаменцев.
Руковожу отделом проектов в челябинском Первом Бите, если это важно.
Download Telegram
Channel created
Думал-думал, и решил-таки создать ответвить этот канал от "Жёлтого по белому". Там изначально всё было для программистов 1С или тех, кто с ними рядом.

А потом мне чот захотелось писать для других людей, связанных с 1С, но не программистов - клиентов, пользователей, продавцов, ИТ-директоров, аналитиков, руководителей проектов и т.д. Тех, кому интересно не только "Как?", но и "Что?" и "Зачем?".

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

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

Меня звали приехать, какой-нибудь аудит устроить, помочь с построением процессов в ИТ - я ленился и не ехал.

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

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

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

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

И как-то даже понравилось, на встречи-то ходить. Которые про продажу - там вообще всегда одно и то же. Или сопровождение нужно, или проект, или от покупки ЕРП отговорить. Слова звучат разные, а суть проблем у клиентов одна и та же. Как и решение.

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

Если хотите, могу с вами поговорить в течение 1 часа, совершенно бесплатно. На любые темы, в которых я потенциально могу быть чем-то полезен.
Количество встреч ограничу, конечно - пусть будет одна штука в неделю. Иногда больше, иногда - меньше.
Встречи - b2b, т.е. не менторство. Я, представитель Бита, буду говорить с вами, как представителем какого-то бизнеса. Обещаю не вести себя, как сотрудник Бита (я всё равно не умею).

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

Если интересно - пишите на IEBelokamentsev@1cbit.ru, договоримся о времени и дате.
В письме в двух словах черкните, о чём хотите поговорить и кто вы по должности.
Обещаю не вносить вашу почту ни в какую базу.
🔥5👍1
Так, три встречи за сутки назначили. Поглядим, что из этого выйдет.
🔥3
Сейчас увлекаюсь проектами перехода, в основном с УПП на ЕРП.
Точнее, такой темой: как их делать дешевле и быстрее.

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

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

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

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

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

Стандартный

Стандартный подход – это уверенность и контроль. В первую очередь – для заказчика, но и для нас тоже.

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

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

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

Поэтому проекты стандартного подхода, увы, дороже экспертных: 3-6 тыс. часов. Бывает и больше. Часто бывает.

Экспертный

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

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

Особенно хорошо получается, если эксперт до начала проекта хотя бы год проработал с заказчиком – например, сопровождал прежнюю 1С или был в штате (и такое бывает).

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

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

Стоимость «экспертного» проекта: 0.5-2.5 тыс. часов.
👍2
Другой 1С
Меня тут на работе отругали, что я мало во встречах участвую. Что правда, то правда - за годы работы в Бите я проигнорировал, отказался или пропустил огромное количество встреч. Особенно по видеосвязи - почему-то у меня долго было стойкое отторжение к этому…
Первая встреча прошла на прошлой неделе. Удивительно, но встречались, можно сказать, с конкурентом - директором франча из соседнего Екатеринбурга. Рассказали друг другу все свои секреты - ну, которые за час успели. Как продаём, как с клиентами работаем, как стажёров набираем, как учим, как зарплату им повышаем и т.д.

Мне прям понравилось.

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

Почему люблю?
Во-первых, потому что от решения задачи сразу виден результат, его можно легко измерить. Было 40 часов, стало 4.
Во-вторых - частенько можно уберечь клиента от покупки нового сервера или апгрейда старого, к чему настойчиво склоняет сисадмин (особенно если это аутсорс, который и продаст новую железяку). Это, опять же, вполне понятный, ощутимый результат, только уже в деньгах. Узнав, что можно не отдавать несколько сотен тысяч, клиент расплывается в улыбке и облегчённо вздыхает.
В-третьих, потому что решаю задачи не так, как знакомые эксперты по производительности. Те сразу лезут в СУБД, планы запросов, неэпические аудиты производительности и прочие шибко умные штуки. Я смотрю код (даже если он типовой) и данные - решение всегда находится там.

Что интересно - пока ни разу в качестве решения не предлагал купить или апгрейдить сервер. Конечно, однажды это случится, но я буду держаться столько, сколько смогу.
👍10💯4❤1🔥1
Состоялась вторая встреча, на этот раз - со старым знакомым. Разбередил старые раны, блин.

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

Поговорили за переходы с УПП на ЕРП. Оказывается, по этой теме жопка немного. Большие Дяди заряжают за проекты перехода по 40-50 млн. - просто потому, что рынок перегрет. И сидят куча несчастных клиентов, которые ещё не сошли с ума такие деньги отдавать.

Да блин, даже 20 млн. - это дохренища. Я-то переживаю, когда в КП пишу "до 9 млн. руб". Как бы щас ещё в демпинге не обвинил кто-нибудь.

А, ну и много говорили про разницу УПП и ЕРП, как экономить при внедрении, моделировать быстро, программировать без ТЗ, затраты клиента размазывать равномерно и т.д.

Очень, очень, очень было интересно и полезно. Жду следующих встреч.
🔥5👍2🤓2
Так, по производительности - просили написать каких-нибудь примеров. Начну с сааааааааааамого элементарного.
Но, блин, встречается у 50% клиентов из среднего бизнеса, которым кто-то запустил ЕРП и ушёл.

Симптомы: ааааааааа у нас 1С тормозит, под вечер вообще невозможно работать.
Админ честно утверждает, что сервер настроен отлично, там всё чики-чики.
Скидывает параметры сервера - ну там, 16 ядер, 128 или даже 164 Гб ОЗУ, SSD.
А пользователей в ЕРП 20-50, половина из которых делает пару документов в день - типа менеджеры, которые только заказы оформляют.

Админ молодец, только в настройки сервера 1С не посмотрел. Конечно, там у всех лицензия ПРОФ, и выбор доступных настроек весьма скуден, но количество соединений на процесс мурыжить ещё не запретили.

У клиента всегда стоит значение по дефолту - не помню, сколько там сейчас, то ли 128, то ли 256. Вот и висит один процесс-супергерой rphost, занимает 20+ Гб памяти ОЗУ и едва ворочается.

Меняешь количество соединений на процесс - например, на 8 или 16 - и о чудо!, получаем все преимущества наших 16 ядер и 164 Гб ОЗУ.

А админ хотел сервер новый купить.
🔥9👍4❤1
Ещё по производительности, тоже достаточно распространённая проблема - поднастроенные пользователями динамические списки.

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

А бывает пользователь говорит "документ записывается 5 минут", заказ какой-нибудь. Хотя на самом деле, пользователь нажал в документе "Провести и закрыть", документ провёлся быстро, форма документа закрылась и началось тормознутое обновление списка документов - те самые 5 минут. Просто всё это время на экране продолжает торчать форма документа - пользователь и думает, что проведение медленно идёт.

В первый раз, столкнувшись с проблемой, провозился часа два - думал, дело в доработках или РЛС (ограничении прав доступа на уровне записей). Особо напрягало то, что тормозила Бухгалтерия, и это был список то ли платёжек, то ли чеков - ну вот хрена там может тормозить вообще?

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

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

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

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

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

А для пользователей - магия.
👍9🔥2❤1
Ещё про производительность. ЕРП, родимая, отражение документов в рег. учёте. За ночь отражение не успевает отрабатывать - то потухнет, то погаснет, то аварийное завершение процесса. Особенно в "тяжёлые" месяцы, типа марта, когда под отражение может попадать сразу 2 квартала.

Клиент переживает, материт ЕРП, особенно релиз 2.5 - до перехода на него "всё работало". Днём запустишь отражение - всё колом встаёт, да и закрытие надо делать. Короче, полный ахтунг.

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

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

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

В реальности, на всё решение, от анализа до результата, ушло, наверное, часа 4. Итоговое решение воспроизводится минут за 15, я даже видос снял - https://www.youtube.com/watch?v=cbwg15QMSY0
🔥6
В комментариях упомянули свёртку - люблю эту штуку, когда типовая не справляется. А на старых базах УПП она почти всегда не справляется - ей нужно несколько суток монопольного режима, чтобы отработать.

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

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

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

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

Дальше - фоновая свёртка. Опять же, индивидуально пишется.
Можно, например, "чистить" старые документы - фоновое задание пачками, штук по 100-1000, удаляет всё внутри старых документов, чтобы уменьшить занимаемое ими место в базе. Чистит табличные части и т.д. Движения документа при этом остаются на месте.
Другая обработка удаляет обороты по остаточным регистрам, если на сегодня нет остатков. Обычно так можно чистить регистры с заказами - если заказ полностью закрыт уже давно, приход и расход по нему никому не нужен, а место в базе занимает.
Много места занимают регистры, которыми не пользуются, но отключить их нельзя. Например, незавершенное производство в упр.учёте, если не делать расчёт себестоимости - будет пухнуть годами, а таблица остатков - она ведь лежит отдельно, и место тоже занимает, иногда очень приличное.
Ну и т.д.

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

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

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

Когда медленно печатается, встречал две причины.

Сама распространённая - слишком большие картинки загрузили, bmp или просто огромного размера.
Лечится легко - отчётом (даже "Универсальный отчет" подойдёт) выводим картинки, отсортированные по размеру, говорим перезалить.
Ну а чтобы больше не ошибались - ставим проверку на запись картинок (присоединенные файлы), и там прям размер максимальный вбиваем (например, 1 Мб). Вроде есть возможность ограничить размер картинок типовыми методами, но они не работали (может, сейчас уже работают).
Иногда модифицируем печ. форму, чтобы не выводила большие картинки - вместо них вылезает какой-нибудь Большой Крестик.

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

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

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

Поковырялись, старым добрым методом половинного деления - оказалось, сервер просто не может передать на клиента сформированную печатную форму (табличный документ), если его размер превышает какой-то предел. Опытным путём установили, что где-то до 32 Мб пролезает, дальше - всё, ку-ку, держите свой snccntx.

Полечили так же, как большие картинки - из-за них, собственно, размер печатной формы и вышел за мыслимые пределы.
🔥2👍1
Опять заявку на менторство получил, на этот раз шикарную - помочь с разработкой системы мотивации, причём - снабженцев.
Я такие делал, когда на заводе работал. Вообще, очень люблю системы мотивации придумывать. Это реально продукт инженерной мысли, да если ещё с автоматизацией, да с "лидерскими" вкладками - ой, хлебом не корми, дай порисовать.

Есть ещё порох консалтерский, прям как бальзам на душу. А то всё 1С, часы, деньги, программисты.
Если захотите поменториться, я тут - https://getmentor.dev/mentor/ivan-belokamencev-2844
С Битом эта деятельность не связана, это моё личное хобби.
👍2❤1