Экзорцизм программистскими методами 2

Публикация № 983191

Разработка - Практика программирования

56
Еще немного изгнания зла

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

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

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

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

Просто опыт применения некоторых инструментов и примеры того, как они меня выручали.

Учет затрат на автоматизацию


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

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

Первый пример использования — защита от наездов типа «нами не занимаются, наши задачи не решают». Открываем отчет, смотрим — ага, на автоматизацию бухгалтерии компания потратила 250 т.р. за прошлый месяц. Или 1.5 млн. рублей в год, например.

Тут фишка в том, что оценивается в рублях — единице измерения, понятной директору. Если сказать «мы решили 113 задач от бухгалтерии», то он не проникнется — скажет, что надо еще больше делать. А когда говоришь «ты потратил 1.5 млн. на их задачи», ему будет неловко сказать «потратьте еще 2 млн. моих денег на них!». Чаще всего он вздыхал и спрашивал у бухгалтерии, что за задачи такие, на которые надо 1.5 млн. рублей тратить.

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

Мы решили вывернуть поинтереснее. В решенных задачах стали указывать не только заказчика, но и имена метаданных — документов, справочников и т.д., которые были созданы или доработаны при решении этой задачи.

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

А у нас затраты посчитаны. Допустим, это 30 т.р. Метаданные мы знаем, количество объектов знаем, делим одно на другое — получается, что в нашей системе на учет одного средства измерения потрачено 30 т.р. Хотя само средство измерения стоит 1 т.р.

Когда начальник службы качества в следующий раз на совещании начинает рассказывать, что ему надо чего-то автоматизировать, вежливо спрашиваем — как поживает «золотой штангенциркуль», на учет одной поверки которого компания потратила 30 т.р.?
 

Учет затрат на тех.поддержку


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

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

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

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

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

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

И вот есть бухгалтер, которому платят 30 т.р. в месяц, без учета налогов. И есть стоимость тех.поддержки, оказываемой этому бухгалтеру. Например, 20 т.р. в месяц — программисты же дорогие. Получается, бухгалтер обходится компании в 50 т.р. в месяц. Столько же стоит, например, заместитель главного бухгалтера.

Директор был немного ошарашен этими цифрами. Одно дело слышать «мы тратим 50 т.р. в месяц на тех.поддержку пользователей» — ну ладно, надо так надо. Совсем другое дело — «некомпетентность этого бухгалтера стоит нам 20 т.р. в месяц». Обращений на тех.поддержку стало меньше.
 

Незабывайка


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

Нас такой подход не устраивал, потому что все снова приходило к ситуации «программисты плохие». Поэтому мы поступили просто — начали использовать накопленную статистику затрат на автоматизацию.

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

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

Хорошая — используемый функционал. Плохая — неиспользуемый. У кого-то плохая была вдвое больше хорошей.
 

Парсинг версий


Системы версионирования, что в 1С, что в том же CouchDB, работают одинаково — просто хранят версии объектов на момент записи. Некоторые доделывают эти системы — например, не сохраняют версии, если ничего в объекте не поменялось.

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

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

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

Мы добавили такую сущность, как view осмысленности. Просто перечислили свойства объектов, изменение которых, скорее всего, является нормальным отражением работы человека, а не ИБД. Вьюшек было несколько, на один и тот же тип объекта. Например, изменение номенклатуры в отгрузке — это серьезное изменение. Изменение счета учета — так себе, не очень серьезное, но все-таки — работа. Изменение времени документа внутри одной даты — нет, увы, просто детское баловство.

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

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

Корреляция автоматизации и KPI


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

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

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

Мы, как настоящие программисты, первым делом автоматизировали учет всех KPI. Те, что нельзя было рассчитать по данным системы, просто загрузили из экселя. У нас появились все цифры, характеризующие работу сотрудников и отделов компании.

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

Имея KPI и затраты на автоматизацию, очень просто посчитать корреляцию, потому что все данные хранятся с привязкой к датам. Выполнили, например, проект автоматизации стоимостью 200 т.р. в январе — должны измениться KPI соответствующего подразделения. Не сразу, а, допустим, в феврале, или в марте, или даже в июне. Но должны. Иначе в чем смысл?

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

Но были и примеры отсутствия корреляции. Например, внедрение CRM не принесло ничего, вообще. Создание сайта, взамен предыдущего, не принесло никакого эффекта.

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

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

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

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

56

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. citicat 119 18.01.19 11:05 Сейчас в теме
"В решенных задачах стали указывать не только заказчика, но и имена метаданных — документов, справочников и т.д., которые были созданы или доработаны при решении этой задачи."
Обоснование серьёзное. Чем больше цифр, тем большеее впечатление они призводят на читающего
2. nyam-nyam 18.01.19 11:10 Сейчас в теме
(1) Это не для раздутия отчетов сделано было, а для дальнейшей работы по учёту использования и расчёта стоимости в разрезе использования. Чтоб потом шельмовать шельмецов. :)
6. Vladimir Litvinenko 1791 18.01.19 13:45 Сейчас в теме
(1)
Вероятно, система учета задач интегрирована с основной учетной системой компании и может сама получить из неё статистику по количеству записей, созданных в базе данных по новым метаданным. Чтобы статистика была корректной скорее всего в отчетах учитываются именно созданные метаданные, а не изменённые. Хотя в публикации сказано в том числе про изменённые. Также система должна учитывать время на проектирование, реализацию и зарплату специалистов.

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

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

Система наверняка самописная и тянет данные из баг-трекера, основной учетной системы и какого-нибудь ЗУП.
3. citicat 119 18.01.19 11:54 Сейчас в теме
"внедрение CRM не принесло ничего, вообще".
Похоже на то, что в вашем бизнесе нет поддержки проданной продукции. Это же стеклопакеты, насколько я поняла, а не автоиобили с техобслуживанием.
Другой вопрос в базе СРМ, кто из покупателей создаёт рекламу, возможно, и случайно? Как -то это стоит учесть.
7. Petr54-ru 72 18.01.19 16:07 Сейчас в теме
(3) Если по-доброму, то перед внедрением CRM (как и любой другой фигни из трех букв) должны быть сформулированы и задокументированы цели внедрения, чтобы по завершению проекта мы поняли, достигли мы целей или нет.

И тут два варианта, либо на старте не пофиксили цели, либо те цели не были достигнуты.

Работал в одной компании, там директор как-то двинул мысли что нужна CRM, я спросил его про цели внедрения. Директор меня понять не смог. Я с другой стороны подхожу - типа я вам подготовлю табличку, со сравнением фич 1С конфигурации от Раруса и MicrosoftCRM, а вы выберете из этой таблички фичи, которые вам нужны, возможно будет проще эти нужные фичи просто дописать в УТ11. Так и не смог он выбрать нужные фичи, оказалось что у него совсем иная идея были - надо сначала внедрить CRM, а уже после внедрения понять, какую от нее можно получить пользу.

При такой постановке задачи провал гарантирован, поэтому пока я там работал, старательно уклонялся от запуска в работу проекта внедрения CRM.
MCV; CheBurator; citicat; +3 Ответить
18. swimdog 678 19.01.19 14:32 Сейчас в теме
(7) А мы сейчас в CRM из экселя юристов пересаживаем. Казалось бы, причем здесь CRM? ))
19. citicat 119 19.01.19 17:08 Сейчас в теме
(18)
(18)Юристы по работе с базой данных не сильно грамотнее, чем кладовщики :). Им важен текст, распчатанный на бумаге, с подписями
сторон. Сочувствую
4. Aggressorak 18.01.19 12:22 Сейчас в теме
Во втором абзаце слово видимо пропущено.
"Есть много материалов о том, как внедрение информационных "технологий" помогло компаниям избавиться..."
5. 1c-intelligence 8627 18.01.19 12:30 Сейчас в теме
8. m_aster 81 18.01.19 16:09 Сейчас в теме
Некрасивая у Вас заставка, также и на аватаре. Оставили бы белька в покое, им и так достается от двуногих чудовищ. Кажется, это совсем не смешно.
12. 1c-intelligence 8627 18.01.19 16:57 Сейчас в теме
(8) тут надо контекст знать - игру "Overlord". Она старая, но попробуйте - увлекательно.
20. m_aster 81 20.01.19 10:13 Сейчас в теме
(12)Не все знают игру, но все видят картинку, к сожалению это происходит не виртуально, а вполне реально, с кровью и болью. В последнее время этого творится все в больших масштабах, как будто соревнуются между собой, кто больше! Я не хочу эту тему продолжать, я думаю, Вы все хорошо поняли, тем более у Вас такой ник(интеллект, интеллигентность, рассудок, понятливость..)
23. 1c-intelligence 8627 23.01.19 13:57 Сейчас в теме
(20) поменял картинку профиля. Буду флаконом.
24. m_aster 81 24.01.19 14:52 Сейчас в теме
(23) Наполните его знаниями, ценными не только для Вас, но и для других.
25. 1c-intelligence 8627 25.01.19 12:11 Сейчас в теме
(24) не подскажете, зачем? Есть куча людей, в головах которых - масса знаний, ценных для меня. Но от этого ни мне, ни им не холодно, не жарко.
26. m_aster 81 26.01.19 02:12 Сейчас в теме
(25) тогда не пишите здесь ничего, молча носите в своем флаконе, можете даже флакон не заполнять.
27. 1c-intelligence 8627 26.01.19 06:35 Сейчас в теме
(26) вы сказали флакон наполнять. Сейчас - не писать ничего. Что делать-то в итоге?
9. Glebis 11 18.01.19 16:18 Сейчас в теме
Совсем другое дело — «некомпетентность этого бухгалтера стоит нам 20 т.р. в месяц». Обращений на тех.поддержку стало меньше.

На мой взгляд, не обоснованная оптимизация с точки зрения руководителя предприятия, так как сэкономленные 20 т.р на консультациях с программистом могут привести к появлению ошибок в бухгалтерском учете, которые низкоквалифицированный пользователь допустит "...потому что 1С это позволило сделать... программисты это не предусмотрели... 1С кривая...на предыдущей работе таких ошибок не было...". Что в свою очередь может стоить предприятию гораздо больше 20 т.р., которые невозможно будет удержать с бухгалтера с ЗП 30 т.р..
11. 1c-intelligence 8627 18.01.19 16:56 Сейчас в теме
(9) это немного другая тема - управление качеством данных. Тут нужна проверка данных, фиксация, консилиум, или весь флакон сразу.
CheBurator; citicat; +2 Ответить
15. CheBurator 3399 19.01.19 14:09 Сейчас в теме
(9) Бухгалтер должен знать и уметь применять свой инструмент (ну, если просто - "чувствовать цифры". Компетентный бухгалтер даже по обобщенным данным видит некие несоответствия. И вполне может выйти на ошибку. И тут уже вопрос совершенно другой - бух отнес затраты не на тот счет который нужен. Почему? ответ бузха - так программа настроена. Ответ техотдела - мы не можем предусмотреть все возможные варианты и настроить 100 вариантов "типовых" выборов из значений возможных. Бух должен понимать, что он ввидил нетиповую, редко используемую а м.б. вообще новую "операцию".. и тупо бездумно колотить по умолчанию и плодить такие ошибки - не задача техотделда ставить везде затычки. Другое дело, чисто программные ошибки - прога ломается сразу - нет проблем, чиним. Или ошибки, которые приводят к неверным числовым значениям показателей. и если выручка за квартал 120 лямов, закупов не было, то НДС в сумме 28 лямов должен навести на вопросы... - а бухия работает еще хуже чем проги зачастух = "х..к, х..к по кнопкам, типа результат готов". Я у себя когда начался кипеж аналогичный (по более мелким поводам) сказал просто - "давайте оставим ГБ и замГБ, а всех остальных из бухии оформим как операторов ПК" - неееттт. не захотели, "булгахтер" - это же звучит гордо!
10. acanta 67 18.01.19 16:22 Сейчас в теме
Найми 2х хороших бухгалтеров - сэкономь на программистах!
simgo83; Manoshkin; volkov_genadiy; +3 Ответить
13. volkov_genadiy_ 18.01.19 19:22 Сейчас в теме
Сереги на них нет. Не пришлось бы ничего придумывать. Серега быстро бы поставил их всех на место поиграв перед нимими в тетрис на телефоне все бы выпали в осадок от его мудрости.
MRAK; volkov_genadiy; plevakin; +3 Ответить
14. 1c-intelligence 8627 18.01.19 20:00 Сейчас в теме
16. CheBurator 3399 19.01.19 14:11 Сейчас в теме
Самое печальное вот это "Правда, потом директор сменился, и все пришлось начинать с самого начала. Но, где-то через полгода, новый директор тоже оценил расчет корреляции." - то есть приходится ЖДАТЬ (вполне возможно с ущербом для компании) пока гена созреет до понимания того, что бизнес - это цифры. и не только цифры денег и вала, но и прочие цифры В ОБЛАСТЯХ ОБСЛУЖИВАНИЯ БИЗНЕСА. а с цифрами - кто у нас работает...?
17. CheBurator 3399 19.01.19 14:12 Сейчас в теме
Несомненный плюс автору - то, что автоматизация показана на реальных примерах. В наше время - это дорогого стоит. Адски плюсую!
citicat; herfis; +2 Ответить
21. citicat 119 21.01.19 13:36 Сейчас в теме
"это ваша программа виновата" - придётся написать свою заметку о внедрении. Хотя пользователей в базе было не так уж много.
Программа виновата не больше, чем Кирилл и Мефодий, создавшие кириллицу.
Займусь на досуге.
22. Petr54-ru 72 22.01.19 17:15 Сейчас в теме
(21) С интересом жду вашей статьи.

Я в конце года тут выкладывал статью с подробным описанием своего микропроекта, - там эту тему тоже обойти не получилось. Цитата оттуда:

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


Вся статья
28. citicat 119 10.02.19 12:20 Сейчас в теме
(22) Написала статью про внедрение нескольких программ 1С:7.7 и программ тестирования отчетности.
Оставьте свое сообщение

См. также

Агрегатные функции СКД, о которых мало кто знает 318

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    10037    ids79    42       

Три костыля. Сказ про фокусы в коде 122

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Разработка

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

03.09.2019    7800    YPermitin    68       

Отслеживание выполнения фонового задания 133

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции Разработка

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    8292    ids79    14       

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив 242

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    10408    ids79    24       

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты 126

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования Разработка

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    9315    ids79    6       

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ 135

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Инструментарий разработчика Практика программирования Разработка

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    8731    ids79    24       

"Меньше копипаста!", или как Вася универсальную процедуру писал 170

Статья Программист Стажер Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования Разработка

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    6230    SeiOkami    48       

Создание отчетов с помощью СКД - основные понятия и элементы 192

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Практика программирования Математика и алгоритмы

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    17453    ids79    16       

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017 176

Статья Программист Нет файла v8 v8::Запросы Бесплатно (free) Практика программирования Разработка

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    11540    dmurk    134       

Регистры накопления. Структура хранения в базе данных 174

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

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

16.05.2019    17246    YPermitin    27       

Выполнение внешней обработки в фоновом задании 147

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Подробное описание подхода к созданию длительной операции на основе внешней обработки. Реализация протестирована на 1С 8.3.12.1714 (x64).

11.05.2019    9856    Eret1k    22       

Выгрузка документа по условию 5

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Разработка

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

25.04.2019    4834    m-rv    2       

Как прикрутить ГУИД к регистру сведений 23

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Перенос данных из 1C8 в 1C8 Разработка

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

16.04.2019    7372    m-rv    16       

О расширениях замолвите слово... 192

Статья Программист Стажер Нет файла v8 Бесплатно (free) Практика программирования Разработка

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    16354    ellavs    122       

Git-репозитории для 1С-кода (опыт использования при небольших проектах) 200

Статья Программист Стажер Нет файла v8 Windows Бесплатно (free) Практика программирования Разработка

Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий")...

28.03.2019    12738    ellavs    83       

Трюки с внешними источниками данных 164

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    12831    YPermitin    52       

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS) 163

Статья Программист Нет файла v8 v8::Права Бесплатно (free) Практика программирования БСП (Библиотека стандартных подсистем) Роли и права

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    15474    ids79    9       

Git + 1С. Часть 2. Реализация Git workflow в 1С-разработке по шагам 128

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика Управление проектом

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

28.01.2019    9794    stas_ganiev    18       

EnterpriseData – часть 2. Процесс выгрузки данных 127

Статья Программист Нет файла v8 v8::УФ Россия Бесплатно (free) Практика программирования Обмен через XML

Основные этапы выгрузки данных через ED, обработчики событий выгрузки, правила обработки данных, правила конвертации объектов, конвертация свойств первого и второго этапов, процедуры БСП, используемые при выгрузке данных, структура «КомпонентыОбмена».

26.12.2018    12709    ids79    27       

Новый подход к обмену данными EnterpriseData 203

Статья Программист Нет файла v8 v8::УФ Россия Бесплатно (free) Практика программирования Обмен через XML

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

14.12.2018    21424    ids79    72       

Программное заполнение пользовательских параметров и отборов СКД 135

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

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

13.11.2018    19637    Unk92    18       

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С 126

Статья Программист Нет файла v8 v8::blocking 1cv8.cf Бесплатно (free) Математика и алгоритмы Практика программирования

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    20852    ids79    40       

Git + 1С. Часть 1. Как подключиться к команде разработки и начать использовать Git 268

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика Управление проектом

Первая статья из цикла инструкций по работе с Git в 1С-разработке. Рассмотрим, как настроить рабочее место, как получить свою "копию" проекта для разработки и приступить к полезным действиям. Все примеры будут изложены в рамках трёх практических кейсов: 1. Моя команда дорабатывает типовую конфигурацию, использует приватный репозиторий на BitBucket, в котором версионируются внешние отчеты/обработки, расширения конфигураций и правила обмена; 2. Я участвую в стартап-команде, которая разрабатывает свою конфигурацию с использованием Git и GitLab; 3. Я принимаю участие в развитии OpenSource-продукта на GitHub как заинтересованный разработчик (контрибьютор).

18.10.2018    33623    stas_ganiev    72       

Вспомогательные инструкции в коде 1С 104

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    20457    tormozit    100       

Произвольный код в фоновом режиме 164

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования

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

03.09.2018    14583    nikita0832    41       

Основные понятия и механизмы оптимизации клиент-серверного взаимодействия в 1C 144

Статья Программист Нет файла v8 Россия Бесплатно (free) Математика и алгоритмы Практика программирования

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

23.08.2018    21264    Rain88    42       

Повышаем эффективность разработки правил обмена 123

Статья Программист Нет файла v8 КД ОС Бесплатно (free) Практика программирования Перенос данных из 1C8 в 1C8

Как повысить скорость и качество разработки правил обмена? Как вести групповую разработку правил обмена? Как облегчить сопровождение правил обмена после передачи в эксплуатацию? Об этом и многом другом вы можете узнать из этой статьи.

25.06.2018    19315    olegtymko    47       

Введение в механизм представлений в ЗУП ред. 3 153

Статья Программист Нет файла v8 v8::СПР ЗУП3.x Бесплатно (free) Практика программирования

В нашей организации на первом же телефонном собеседовании на должность разработчика по ЗУП ред. 3 вас обязательно спросят о том, что такое "Представления".

04.06.2018    24380    xrrg    82       

Как сделать запрос на изменение данных 75

Статья Программист Нет файла v8 v8::Запросы 1cv8.cf Бесплатно (free) Практика программирования

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    21190    m-rv    21       

Строим графы средствами 1С (без GraphViz) 42

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования

Множество статей на Инфостарте описывают, как работать с компонентой GraphViz, чтобы построить ориентированный граф. Но практически нет материалов, как работать с такими графами средствами 1С. Сегодня я расскажу, как красиво строить графы с минимальным пересечением. Нам этот метод пригодился для отрисовки алгоритмов в БИТ.Финансе, т.к. типовой механизм не устраивал. Еще это может быть полезно для визуализации различных зависимостей: расчета себестоимости, графы аффилированности компаний и т.д. Надеюсь, эта статья поможет сделать мир 1С красивее и гармоничней:) Итак, поехали...

23.05.2018    16960    slozhenikin_com    19       

Распределение расходов пропорционально продажам 9

Статья Программист Пользователь Нет файла v8 v8::ОУ УТ10 УУ Финансовый учет и бюджетирование (FRP) Учет доходов и расходов Бесплатно (free) Практика программирования

Финансовая модель. Распределение административных расходов по подразделениям пропорционально продажам за месяц. Дополнительные реквизиты против бизнес-процессов!

13.05.2018    11344    Rustig    9       

Просмотр временных таблиц запроса в отладчике без изменения кода 126

Статья Программист Нет файла v8 v8::Запросы 1cv8.cf Бесплатно (free) Практика программирования

Данный способ можно использовать для просмотра содержимого временных таблиц запросов (менеджеров временных таблиц) без внесения изменений в код.

24.04.2018    24361    avfed@rambler.ru    19       

Как правильно купить 1С 13

Статья no Нет файла v8 1cv8.cf Бесплатно (free) Управление проектом

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

23.03.2018    11840    raiml    27       

Минимализмы 3 351

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Универсальные функции

Очередная серия "минимализмов" [http://infostart.ru/public/306536/, https://infostart.ru/public/460935/]. Также, как и в предыдущих статьях, здесь приведена подборка коротких оригинальных авторских решений некоторых задач. Ранее эти решения были разбросаны по моим комментариям к чужим публикациям.

19.02.2018    35572    ildarovich    44       

Этюды по программированию. Взаимодействие с Microsoft Word 109

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования

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

11.12.2017    25845    milkers    23       

Метод формирования движений в типовых регистрах нетиповыми регистраторами 31

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования

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

05.12.2017    21318    itriot11    34       

1С: Конвертация данных 3. Инструкции и примеры. EnterpriseData (универсальный формат обмена) 720

Статья Программист Нет файла v8 КД Бесплатно (free) Перенос данных из 1C8 в 1C8 Практика программирования Обмен через XML

Что такое КД3? Как начать использовать? Полезные дополнения к документации. Что нужно исправить в типовых обработках и конфигурации. Как изменить правила обмена не снимая конфигурацию с поддержки. Как отлаживать правила обмена?

19.11.2017    137568    MaxS    251       

Заполнение данных по ИНН контрагента с помощью альтернативного сервиса огрн.онлайн 131

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования

Код для заполнения данных по ИНН контрагента из ЕГРЮЛ с сайта огрн.онлайн.

01.11.2017    22687    slava_1c    49       

Программные перечисления, ч.2: приемы кэширования при разработке 66

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования

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

30.10.2017    21070    unichkin    17       

Разбираемся с настройками компоновки данных 159

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Краткая шпаргалка по программной работе с настройками СКД

29.10.2017    24033    json    9       

Работа с Excel 289

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

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

23.10.2017    24709    arakelyan    39       

Добавление команд печати в конфигурациях на БСП 2.4.3 (в частности, в самописных документах в Бухгалтерии 3.0 после релиза 3.0.52.35) 143

Статья Программист Нет файла v8 v8::БУ БП3.0 Россия Бесплатно (free) Печатные формы документов Практика программирования БСП (Библиотека стандартных подсистем)

В статье https://infostart.ru/public/237013/ пользователя nick max рассматривался список действий для подключения команд печати в Бухгалтерии 3.0, работающей на БСП 2.3.6. В новом релизе Бухгалтерии 3.0.52.35 от 15.09.2017г. стала использоваться БСП 2.4.3, из-за чего произошли изменения в процедурах общих модулей, связанных с механизмом печати, и в процедурах их вызова в формах документов и в формах списков. Рассмотрим их.

18.09.2017    46774    bugtester    43       

Отказ от работы с временными файлами при работе с двоичными данными или Потоки как простая замена ADODB.Stream и временным файлам 127

Статья Программист Нет файла v8 Россия Бесплатно (free) Практика программирования

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

12.09.2017    18226    vardeg    31       

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере 125

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Практика программирования

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

10.09.2017    34226    tormozit    72