Сейчас в программные решения, связанные с IT в строительном секторе, вливаются большие деньги. Появляются новые программные продукты на базе ERP/CRM систем, которые раньше проектировались под маркетинг и продажи, для электронного документооборота (ЭДО) инженеров (ИТР). Частью современной стратегии Заказчиков многих рангов является путь цифровизации бумажного документооборота в пользу электронного, для чего Минстрой РФ старательно разрабатывает и обязывает к внедрению новые форматы электронных файлов типовых форм документов, на база XML. В этих условиях настоящая статья посвящена стыку новых и старых технологий документооборота в строительстве, на примере формирования комплекта закрывающих финансовых документов по типовым Контрактам в Строительстве.

1. Техническая вводная часть.

от Автора:
Настоящая статья является продуктом субъективного опыта Автора. Цели статьи как показать кейс решения проблем в рамках малой автоматизации, с целью передать опыт, так и некоторой критике проприетарное ПО с т.з. Пользователя Строительной отрасли. На сколько это справедливо — судите сами. Приятного прочтения =)

1.1 О документах

Начать придется несколько издали. Если строительство объекта финансируется за счет/с привлечением средств государственного бюджета, то расчет стоимости строительства осуществляется с применением актуальной ФСНБ. На основании государственных нормативных расценок формиру(е/ю)тся Локальны(й/е) сметны(й/е) расчет(ы) (ЛСР), или, в простонародье/на сленге — локалки/сметы. Сметы объединяются в Сводные сметные расчеты (ССР), или, в простонародье, — сводники. На основании этих расчетов формируется Смета контракта (СМ) (согласно 44-ФЗ) или Расчет коммерческой цены (РКЦ), которая(-ый) представляет собой расчет итоговой цены контракта, позиции из смет которых объединены в комплексы работ, умноженные на понижающий тендерный коэффициент. По существующим правилам цена, определенная с использованием актуальной ФСНБ, является Начальной Максимальной Ценой Контракта (НМЦК) и, после тендера, может лишь понизиться/остаться той же, в зависимости от тендерной борьбы потенциальных исполнителей работ.

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

Обычно минимальный комплект первичных финансовых документов состоит из:
— Счет;
Счет-фактура;
Журнал учета выполненных работ (по форме КС-6а);
Акт о приемке выполненных работ (по форме КС-2);
Справка о стоимости выполненных работ и затрат (по форме КС-3)
Формы КС-ок регламентируются Постановлением Госкомстата РФ от 11.11.1999 N 100, однако тут вот какой момент: С 1 января 2013 года формы первичных учетных документов, содержащиеся в альбомах унифицированных форм первичной учетной документации, не являются обязательными к применению, согласно изменениям в бух.учете с того же времени. Т.е. стало возможным использовать для документов, выполняющих их роль, любого вида оформление, если оно соответствует озвученным требованиям в бух.учете. С этого момента практически вся строительная отрасль РФ стала включать в типовые контракты требование по первичной финансовой отчетности по отмененным формам КС-ок, с приведением образцов в виде приложений к контракту, принудительно. Однако, по свидетельству коллег, обычно такое требование включало в себя осязательное предоставление форм КС-2 и КС-3, в то время как про накопительную форму КС-6а очень многие забывали. 44-ФЗ регламентирует свои формы таких первичных учетных документов, но они все равно структурно повторяют отмененные формы из постановления 1999 года.

1.2 Что собой представляют формы КС-ок

КС-ки представляют собой связанные данными типовые формы документов в виде таблиц, цель которых:
Журнал учета выполненных работ (по форме КС-6а) — помесячное отслеживание прогресса исполняемых видов работ в финансовом и количественном выражении с привязкой к СМ/РКЦ;
Акт о приемке выполненных работ (по форме КС-2) — составляется на основании данных КС-6а, содержит наименование работ, кол-во и стоимость подтверждаемых позиций, номера позиции из СМ/РКЦ за текущий отчетный период;
Справка о стоимости выполненных работ и затрат (по форме КС-3) — составляется на основании данных КС-6а и КС-2. На ее основе бухгалтерия формирует счет и счет-фактуру для закрытия выполнения за текущий отчетный период.

Полный комплект первичных учетных финансовых документов, если не оговорено иное, подписанный всеми представителями участников строительства на участке/объекте строительства, предоставляется Заказчику в строки до 15го числа (промежуточное выполнение) и до 30го числа (месячное выполнение) каждого месяца, за искл. последнего финального выполнения, который оформляется датой не позднее даты подписания Акта приемки законченного строительством объекта (форма N КС-11) по Контракту.

2. Автоматизируем бумагу

Примечание:
1. Нужно отметить что в этом разделе будет вестись речь о моем многолетнем инженерном опыте работы с Заказчиками из сфер газовой, нефтяной и химической промышленности. Соответственно за основу был взят их пример комплекта документов. Других Заказчиков это может не устроить, если у них разработаны свои отчетные формы, выполняющие ту же роль.
2. Финальный результат моей разработки можно скачать по этой ссылке, для того что бы проще было Вам следить за мыслью в статье.
3. Я не буду каждый раз прописывать полное наименование форм КС-ок, т.к. про них расписано выше

2.1 MS Excel + VBA. Вводная часть

Несмотря на то, что в строительной отрасли есть огромное число сметного ПО, коих по моим прикидкам порядка 20 единиц, функционал формирования КС-ок в них все же в них не на столько удобный как обычные электронные таблицы. И здесь ответ почему так происходит, на мой взгляд, кроется в универсализации. Дело в том, что в таком ПО сперва формируется и проверяется смета, затем, на ее основе, составляются КС-2 за каждый конкретный период, а КС-3 и КС-6а формируются уже в самом конце. В то время как работа с выгрузкой сметы/СМ/РКЦ предполагает что берется смета, на ее основе составляется КС-6а (журнал), потом КС-2 и уже в конце КС-3, т.е. немного другая цепочка действий, приводящих к тому же результату на бумаге, но кардинально меняющие подходы к проектированию интерфейсов, т.к. в случае КС-6а число столбцов зависит от числа закрытий и не является константой, чего не скажешь про табличные редакторы сметного ПО. Кроме того, до санкций повсеместно, а после санкций в чуть меньшем объеме, и в конкуренции с другими решениями, MS Excel все так же оказывается востребован и стоит у каждого первого ИТР на его ПК/ноутбуке, хотя первое ПО электронных таблиц появилось в 1979 году, а фундамент, на котором реализовано решение в статье, MS Office 2000/XP, в районе 1999-2001 годов. Итого инструменту 20 с небольшим лет.

2.2 Анализируем КС-ки на предмет связей


Здесь на рисунке я наложил и показал красными линиями связанные столбцы данных, которые из КС-6а попадают в КС-2, обычно это решается в виде прямых ссылок на другую таблицу, навроде ='КС-6а'!H18, однако у нас есть «статические» ссылки, которые делаются единожды (это столбцы в таблице КС-2 №2, 3, 5, 7) и есть столбцы «переменные», которые зависят исключительно от того какой номер выполнения, а значит месячный блок КС-6а, в настоящий момент используется. Не трудно заметить что столбцы месячных выполнений на листе таблицы КС-6а объединены форматом по 3 столбца и адресация идет с шагом 3, а порядковый номер КС-2 соответствует смещению относительно блока столбцов №8-10 КС-6а. Таким образом через формулу можно учесть данное смещение на основании порядкового номера закрытия на листе КС-6а, который оформляется, для удобства, через выпадающий список. Для этого используется формулы генерации динамических ссылок вида: =ДВССЫЛ(АДРЕС(СТРОКА(Y);СТОЛБЕЦ(X)), где Y и X номера строки и столбца соответственно, которые могут принимать как цифровое значение, так и быть представлены адресом ячейки, например D23. Функция АДРЕС собирает ссылку, а функция ДВССЫЛ по этой ссылке выдает ее содержание в текущей ячейке. Тогда мы сможем учитывать конкретный столбец X через условную формулу, где №КС-2 априори начинается с единицы, как порядковый №КС-2 * 3 + смещение-константа. Меняя порядковый номер выполнения в соответствующем поле листа КС-2, отмеченным для удобства зеленым цветом, мы получаем данные в столбцах таблицы на листе КС-2 (№6 и 8). Нумерации перечня актов входит в нумерованный диапазон и в дальнейшем используются в качестве содержания выпадающего списка. Т.е. ошибку от переполнения у нас контролирует функционал список MS Excel с листа КС-6а. Здесь нужно отметить про адресацию диапазона данных для выпадающего списка, дело в том что в старых версиях MS Office (до 2013) было нельзя ссылаться на диапазон значений явно (например ='КС-6а'!H18:P45), хранящийся на другом листе, прямо, только через Именованный диапазон, который создается и управляется через вкладку Формулы -> Диспетчер имен. Что нам это дает? Да то что меняя порядковый номер КС-2 мы экономим время. Да, пока что, немного, но и этот пункт только начало.

Следующая итерация это оформление КС-2, дело в том, что если в КС-6а мы видим полностью все строки, в т.ч. с пустыми значениями в виде количественного и денежного выражениями за отчетные месяцы, то для КС-2 такое недопустимо. Т.е. строки, содержащие такие данные, с пустыми значениями за текущий отчетный период должны быть скрыты. Из-за чего порядковая нумерация в столбце №1 листа КС-2 для одних и тех же строк в разные месяцы будет другой. Есть изящное решение данной проблемы как суммирование. Т.е. за полями печати напротив каждой такой строки в одном и том же столбце мы ставим арабскую цифру 1, а в столбце №1 на листе КС-2 мы используем формулу вида =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(109;$K$27:K27), где $K$27:K27 это адрес столбца с ячейками содержащими единицу. Здесь так же важен символ $, т.к. формулу необходимо протянуть. Сама функция считает промежуточные итоги по условию, в данном случае условие 109 означает, что считать только в том случае, если строка не скрыта, т.е. единицы в скрытых строках учитываться не будут, таким образом мы получаем возможность нумерации

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

— правый нижний угол =АДРЕС(СТРОКА(Область_печати)+ЧСТРОК(Область_печати)-1;СТОЛБЕЦ(Область_печати)+ЧИСЛСТОЛБ(Область_печати)-1;1;1)
— левый верхний угол =АДРЕС(СТРОКА(Область_печати);СТОЛБЕЦ(Область_печати);1;1)
MS Excel хранит и отслеживает заданные границы печати на листе в именованном диапазоне «Область_печати». При помощи этих формул можно вытащить его значения. Зачем это нужно? Что бы в случае работы макросом VBA с листом можно было динамически отслеживать изменение границ печати, например при добавлении/удалении строк/столбов, и привязываться к ним, т.е. это дает некий универсализм, в противном случае нам каждый раз придется вручную править код если у нас поменяется в шаблоне число строк в контракте KC-2.

Следом нам потребуется ускорить выполнение кода макросов. Дело в том что VBA основан на VisualBasic который разрабатывался в эпоху когда многоядерных/многопоточных процессоров еще не было, хотя двухпроцессорные серверные доски встречались.
Can't be done natively with VBA. VBA is built in a single-threaded apartment. The only way to get multiple threads is to build a DLL in something other than VBA that has a COM interface and call it from VBA.
Две процедуры ускоряющие и снимающие ускорения для выполнения макросов VBA
Private Sub AccelerationSpeed()
Rem ============Часть программы отвечающая за ускорение===========
    
    'Больше не обновляем страницы после каждого действия
    Application.ScreenUpdating = False
 
    'Расчёты переводим в ручной режим
    'Application.Calculation = xlCalculationManual
 
    'Отключаем события
    Application.EnableEvents = False
 
    'Не отображаем границы ячеек
    If Workbooks.Count Then
       ActiveWorkbook.ActiveSheet.DisplayPageBreaks = False
    End If
 
    'Отключаем статусную строку
    Application.DisplayStatusBar = False
 
    'Отключаем сообщения Excel
    Application.DisplayAlerts = False
End Sub
Private Sub StopAccelerationSpeed()
Rem ======Часть программы отвечающая за отключение ускорения======

    'Обновляем страницы после каждого действия
    Application.ScreenUpdating = True
 
    'Расчёты переводим в ручной режим
    'Application.Calculation = xlCalculationManual
 
    'Включаем события
    Application.EnableEvents = True
 
    'Не отображаем границы ячеек
    If Workbooks.Count Then
       ActiveWorkbook.ActiveSheet.DisplayPageBreaks = True
    End If
 
    'Включаем статусную строку
    Application.DisplayStatusBar = True
 
    'Включаем сообщения Excel
    Application.DisplayAlerts = True
End Sub

Дальше встает вопрос во весь рост: «А как определить какие строки попадают на лист печати при текущих настройках принтера и масштаба?» Это связано с тем, что на каждой странице КС-2 необходимо вывести промежуточные итоги. Просто приведу фрагмент кода с небольшими комментариями:
For y = Ystart + 1 To Yend

    Set linkS = Range("$A$" & y & ":" & "$A$" & y)
    Set ws = linkS.Parent
        
    For Each hBreak In ws.HPageBreaks
        Let i = CLng(hBreak.Location.Row)
        If hBreak.Location.Row > linkS.Row Then Exit For
    Next       

    If i > Yend Then Exit For
       
    If i > OLDi Then
       'Вставляем строку
       Range("$A$" & i).Select
       Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
       
       Let Yend = Yend + 1
       Range("$A$" & Yend & ":$H$" & Yend).Select
       Selection.Copy
       
       Range("$A$" & i).Activate
       Selection.PasteSpecial Paste:=xlPasteValues
       Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
       SkipBlanks:=False, Transpose:=False
    End If
    
    Let OLDi = i + 2

Next y

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

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

Rem Сбрасываем разрывы строк для печати и принимаем настройки печати 1 стр. в ширину
ActiveSheet.ResetAllPageBreaks

    Application.PrintCommunication = True
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .FitToPagesWide = 1
        .PrintErrors = xlPrintErrorsDisplayed
    End With

Дополнительно надо отметить что скрыть/отобразить строку достаточно выбрать диапазон и присвоить ему статус через Selection.EntireRow.Hidden значение True/False
         Rows(Ystart & ":" & Yend).Select
         Selection.EntireRow.Hidden = False

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

Оптимизация КС-2 закончена, но с КС-6а еще не все. Т.к. в процессе работы с контрактом/при наличии нового контракта вручную формы КС-2 и КС-3 формировать занимает время, то все статические и динамические ссылки можно скопировать с листов-шаблонов и растянуть до нужного кол-ва макросом. За полями таблицы КС-6а формулами считаются остатки, это связано с тем что бы мониторить остатки, а с другой стороны, мониторить ошибки, которые математически возникают в случае округления, если закрываются объемы с долями в тысячные и менее, из-за чего, т.к. округления в столбцах учитывающих деньги, идет до копеек, т.е. до сотых, из-за чего может получиться что при суммировании объемов по каждому закрытию будет перерасход или недобор копеек. Что бы исключить такое или случайные искажения на листе, при помощи стандартного функционала Условное форматирование на вкладке Главная для строк в столбцах «Всего» (в данном примере №14, 15), осуществляются различные проверки и, в случае нестыковок, такие ячейки будут залиты красным фоном, сигнализирующим какую-либо математическую нестыковку для данной строки. Т.к. начиная с MS Office 2013 Excel позволяет фильтровать данные по цвету ячеек, то отслеживание ошибок, для того что бы добавить/вычесть корректировочную копейку стало проще.


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

Для КС-3 тоже нашелся кусочек автоматизации, за счет вывода за областью печати года, то можно получить формулой стоимость выполнения работ с первого закрытие по выбранное, а так же за текущий год, как того требует оформление, для чего используется счет через =СУММЕСЛИ(диапазон;значение(условие);диапазон суммирование), где в указанном диапазоне ищется год, а далее в новом диапазоне для этих столбцов происходит суммирование

2.3 «Ах зачем нужно было огород городить» (с)


КС-2 и КС-3 формируются для каждого закрытия, КС-6а формируется не всегда в нынешних реалиях, но тоже часто. Т.к. объемы для них готовит участок (конкретно инженеры ПТО), то в процессе формирования ИД на объекте к защите в конце отчетного периода, могут возникнуть те или иные нестыковки, вопросы к качеству работ, неснятые предписания от инженеров СК и многое др. из-за чего кол-во вариантов, переделок и уточнений может исчисляться десятками. Конечно это проще всего делать когда в файле проставлены связи и остается нажать пару кнопок, да пробежаться взглядом для поиска красных маркеров, сигнализирующим наличие проблем с математикой, для их устранения, чем переделывать оформление и расчеты каждый раз вручную, пусть и с использованием MS Excel.

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

3. Критика и сравнение интерфейсов MS Office vs элементы WEB форм



Когда речь заходит о финансах, то оплата Заказчика Подрядчику, осуществляется на основании выставленных счет-фактур (за исключением случаев когда Подрядчик на УСН, однако здесь нужно напомнить о том что по новым требованиям Заказчик не имеет права снимать с победителя контракта НДС) и счетов, которые формируются на основании КС-3, которая формируется на основании КС-2 и КС-6а. Это с одной стороны. С другой стороны над любой стройкой довлеет рабочая документация (РД). Есть даже широко известная поговорка в узких кругах: «Что бы не было 3.141592653… жу — делай все по чертежу!». Фактически строители строить обязаны по проекту, а деньги получать по смете, которая является описательным документом. Однако некоторые руководители, пришедшие на стройку вместе с инвестиционными потоками, этот нюанс упускают, соблазняясь тем что ФСНБ содержит в себе нормы-расхода материально-технических и человеческих ресурсов, а так же составы работ, в попытках натянуть сову на глобус:
Пруфы: смета лишь описательный документ
> Постановление Госстроя России от 05.03.2004 N 15/1 (ред. от 16.06.2014) «Об утверждении и введении в действие Методики определения стоимости строительной продукции на территории Российской Федерации» (вместе с «МДС 81-35.2004...»)

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

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

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

> ПРИКАЗ от 14 июля 2022 г. N 571/пр

5. Сметные нормы разработаны на основе принципа усреднения, исходя из условий применения прогрессивных и рациональных методов организации строительного производства с использованием современных строительных машин и механизмов, строительных материалов, изделий и конструкций (далее — материальные ресурсы), обеспечивающих безопасность и потребительские свойства создаваемой строительной продукции, и не подлежат корректировке при применении, за исключением случаев, указанных в пункте 7 Методики.

> МДС 81-37.2004
2.7.4. Расход материальных ресурсов, принятый в единичных расценках, определен на основе производственных норм расхода материалов, технологической документации, расчетных и других исходных данных.

Нормы расхода материальных ресурсов усреднены и не могут служить основанием для списания.

и т.д. и т.п.
Таким образом КС-2 и КС-6а в себе соединяют финансовую часть (СМ/РКЦ), с другой проектную часть (Рабочая документация (РД)). Соответствие выполненных работ проектной части РД осуществляется на основании формирования и подписания Исполнительной документации (ИД), которая представляет собой текстовые и графически материалы подписанные лицами, входящей в состав приемной комиссии, как со стороны Заказчика, так и со стороны Подрядчика, а так же лиц технического надзора и эксплуатации. Иногда число подписантов может достигать десятки человек, но, в среднем это 3-6 человек.

Тут нужно сказать о том что влияет на развитие отрасли и, как следствие, малой автоматизации. 17.05.2024 было подписано Постановление Правительства Российской Федерации №614 «Об утверждении Правил формирования и ведения информационной модели объекта капитального строительства, состава сведений, документов и материалов, включаемых в информационную модель объекта капитального строительства и представляемых в форме электронных документов, и требований к форматам указанных электронных документов», а перед этим Приказ Министерства строительства и жилищно-коммунального хозяйства Российской Федерации от 16.05.2023 № 344/пр «Об утверждении состава и порядка ведения исполнительной документации при строительстве, реконструкции, капитальном ремонте объектов капитального строительства» и некоторые другие, красной линией в которых проходит что ведение документации происходит или в бумажном виде или в форме электронных документов без дублирования на бумажном носителе. В случае использования ЭДО необходимо предоставлять файлы в разработанных Минстроем форматах XML-схем, но если схемы на типовые документы еще не разработаны, то файлы предоставлять в форматах pdf, doc, docx, odt. Таким образом в Строительстве происходят вещи, оценку которых в моменте исполнители работ, ИТР и структура Подрядчика, еще не производили и последствия еще впереди:

3.1. Замена офисного ПО на специально разрабатываемое ПО, совмещающее в себе функционал ERP/CRM систем, покупка которых будет стоить дополнительных денег и стоимость эксплуатации которых будет отнесена на себестоимость строительной продукции, за которую, в конечном итоге, заплатит конечный потребитель — Покупатель.

3.2. Структуры Заказчика будут стремиться интегрировать в такие системы ИТР структур Подрядчика, собственно тут 3 проблемы возникают:
3.2.1 Любые ошибки в оформлении, структуре, сроках формируемых документов Подрядчиком будут поводом для управления скорости движения денег по закрываемым работам Подрядчика, с целью беспроцентного кредитования в пользу Заказчика, путем отклонения части закрываемых позиций до устранения замечаний, или даже отказе в доп.работах по формальному признаку.
3.2.2 Регулятор, в лице многих говорящих голов, неоднократно заявлял что ТИМ(BIM) модель это проходной этап. Основная Цель, на мой взгляд — собираемый массив электронных данных, для технологий будущего, подвергнуть их анализу и обработке ИИ, различными аналитическим алгоритмам. Вспоминая статью на Хабре «Торговля знает, когда вы ждете ребенка», становится немного страшно от перспектив. Как следствие:
3.2.2.1 Исчезновения и размытия понятия коммерческая тайна, через статистический анализ поступающих/формирующихся документов в ЭДО через аналитику. Сомневающимся рекомендую ознакомиться со статьей "Торговля знает, когда вы ждете ребенка"

Это просто и логично: потому что новые технологии будут влиять на вопросы Власти и распределение структуры денежных потоков. Из этого априори вытекает конфликт с которым столкнется отрасль в ближайшие лет 5. Разрешение этого конфликта между участниками рынка и регуляторами и будет определять будущее.

3.3. Такое ПО в своей логике структурирования информации, архитектуре интерфейсов ввода серьезно подорвут эффективность ИТР, формирующих документы и вот почему:

Тезис №1: Ввод большого числа разноплановых текстовых данных, основанный на
интерфейсах, состоящих из элементов управления Windows Forms на основе .NET Framework (или qt/GTK/каких-либо других), менее удобный чем интерфейс любого табличного процессора

Здесь нужно пояснить, что, хотя сами табличные процессоры, такие как MS Excel, Libre/OpenOffice Calc, WPS Sheets и др., так же базируются на глубоко проработанных формах, которые доступны на каждой из платформ Windows/Linux, тем не менее именно функционал таблиц с их ссылками, формулами, макросами не используют, создавая интерфейсы (frontend), обходясь более простыми элементами, такими как: текстовое поле ввода, выпадающий список, кнопка, вкладка и т.д. и т.п. Такие интерфейсы теряют главное преимущество таблиц: удобство копирования и использования формул путем протаскивания. Обычно у нас одному элементу, обычно это текстовое поле ввода, или выбор через флажки/список, сопоставлена часть памяти в базе данных. Однако, что бы выбрать и заполнить каждое такое поле, среднестатистическому пользователю, приходится осуществлять навигацию кликом(-ами) мышки. Конечно копировать типовой текст можно через Ctrl+C c Ctrl+V, однако это менее удобно и менее быстро чем использовать формулы и протаскивание в ячейках таблиц даже в теории. Кстати оценить удобство ввода, по сравнению с заполнением шаблонных файлов, внешний вид и оформление которых регламентируется различными правовыми актами и законами РФ, можно быстро пролистав видеоролики под спойлером:
Примеры Интерфейсов программ, которыми подменяют Офисное ПО для формирования Исполнительной документации в строительстве


Тезис №2: Редкий интерфейс ПО разработчиками оптимизирован под навигацию клавиатурой
Здесь приведу простой пример, когда автор сравнил скорость оформления одного и того же текста при помощи MS Office, сперва используя только клавиатуру, а потом только манипулятор ввода типа мышь. Разница в скорости получилась, в его случае, в 30%. В случае когда интерфейсы перегружены, как в случае с ERP/CRM систем, разница на практике еще выше:
Что быстрее, горячие клавиши или мышь?

Тезис №3: Об удобстве (юзабилити) и простоте работы пользователей, логике работы с данными, разработке удобных интерфейсов такого ПО мало кто думает
Здесь хочу привести выдержки из статьи на Хабре «Юзабилити систем», к сожалению написанной не мной:
Цитируя главное
Повышение юзабилити систем приводит к значительным выгодам: экономится время сотрудников, уменьшается время на обучение, снижается количество ошибок и так далее. Чем больше компания — тем значительнее будет эффект.

Текущие практики оценки проектов не позволяют доказать выгоды от повышения юзабилити:

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

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

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

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

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

Заключение:

Отстаивая малую автоматизацию хочу сказать следующее:
1. Иногда автоматизация стоит дороже выхлопа от нее в экономическом ключе
2. Практика показывает, что современная автоматизация в строительстве носит фрагментарный характер, в основном автоматизируют обработку, но не сбор и ввод информации. Соответственно те, чей бизнес на этом построен, не могут воспользоваться плодами автоматизации. Отсутствует комплексная экосистема программных решений, старые технологические процессы и связи рушат в пользу цифровизации. Однако единой структуры и решений не выстроены, более того регулятор отдает это на откуп участникам рынка.
3. В большинстве случаев организации за глаза доработок 1С и таблиц на макросах VBA. ИИ (AI) там не нужен от слова вообще и в общем. Минстрой еще продавливает обязательную Закупку участниками строительства нового ПО в виде ERP/CRM систем через внедрение обязательные форматы файлов xml.
4. Когда мало данных и параметров использовать ИИ для этого как подковать блоху при помощи кувалды
5. Автоматизация, обычно преследует одной из целей сокращение ФОТ и численность персонала. В краткосрочной перспективе это приносит экономическую выгоду, но выигрывая тактически рынок проиграет стратегически, т.к. упадет число квалифицированных сотрудников, в силу того что их будет требоваться качественно меньше в отрасли, а так же кто будет покупать это все, если платежеспособный спрос уменьшиться, а как следствие упадет спрос?
6. Однако автоматизация бардака, на текущем этапе, порождает лишь автоматизированный бардак, из-за чего потребность в Инженерах ПТО на рынке только растет, как и растут их запросы финансовых ожиданий. Вместо того что бы Регулятору переосмыслить разросшуюся бюрократическую цепочку документов и бумаг на стройке, начав их сокращать, мы наблюдаем бюрократизацию процессов принятия решений на всех уровнях. Доходит до того что за регламенты и установки начинают прятаться даже наемные директора и высший командный состав структур Заказчика.
7. Кроме того аналитика данных Заказчиком Подрядчика означает возрастающие риски Подрядчиков в стоимостном выражении.
8. Малая автоматизация на базе таблиц плохо справляется с гигантскими объемами данных, менее надежно, чем работа приложений, основанных на реляционных базах данных, но такие программы создаются и пишутся под исполнителя, для его удобства или, по крайней мере, с учетом его мнения. То, чего так не хватает профессиональному ПО в Строительстве.

P.S.
Бонусная информация — предыдущие статьи Автора:
1. Для тех кто боялся, но все же готов попробовать. (Excel)
2. В продолжении темы автоматизации вывода файлов по шаблону. Excel
3. Настройка Linux для инженера-ПТО/инженера-сметчика
4. Настройка Linux для инженера-ПТО/инженера-сметчика ч.2
5. Установка в Linux специализированного ПО, защищенного ключами Guardant, на примере SmetaWizard
6. Установка в Alt Linux специализированного ПО, защищенного ключами Guardant, на примере ГосСтройСмета
7. ТИМ (BIM) и сметное ПО: АВС-смета. Установка в AltLinux
8. Тестирование производительности таблиц офисных пакетов в Linux на примере MS Office, LibreOffice, МойОфис, OnlyOffice (по состоянию на 2022 год)

Всем добра! Берегите себя, Ваши наработки и опыт, а так же Ваших близких. ;)

Комментарии (2)


  1. diakin
    20.08.2024 07:45

    Мощный фидбек для разработчиков сметного ПО!


  1. Kroke
    20.08.2024 07:45

    Решаю проблему 2 пункта Заключения путём развертывания AppSheet, после чего гружу всё запросами в Excel и получаю реальную картину происходящего на объекте в реальном времени. При этом вношу изменения и дополнения в исходные данные на лету. И да, так не может ни одна ERP/CRM.