Прошу помочь в создании таблицы автоматического учета чертежей. Изучаю самостоятельно Excel.
Задача следующая.
Таблица (на 2 листе) состоит из некоторого числа столбцов:
Столбец №1. Кодовый номер (индекс) — например как в «1С» 000001, 000002 и т.д. 00000N
Столбец №2. Номер чертежа
Столбец №3. Наименование чертежа
Столбец №4. Код группы продукта (список групп в виде на табл. на 1 листе).
Столбец №5. Дата введения
Столбец №6. Артикул
Столбец №7. Изменения внес (Фамилия)
Столбец №8. Примечание.
Хотелось бы иметь заблокированные строки с заголовком и «шапкой» таблицы.
А также чтобы видимыми строками были только заполненные.
Как создать кнопку «добавить новый чертеж», при нажатии которой происходили бы след. операции , либо при двойном нажатии на последнюю пустую строку:
1. Заполнялся в новой строке столбец №1 автоматически +1 к посл.строке
2. Автоматически заполнялся бы столбец №2 после выбора кода группы продукта (столбец №4) по след. принципу: AБВхх.хх.ххх (х — цифра), где первые 2 цифры номер группы (от 01 до 99, в зависимости от выбора); 3 и 4 цифра должны заполняться автоматически +1 к последнему в одинаковой группе номеру (от 01 до 99). 5-я цифра автоматически только при вводе подгруппы (от 1 до 9), по умолчанию 0. И 2 последние цифры всегда «00».
3. Столбец №3 вводить вручную
4. Столбец №4 Выбором номера из списка листа 1.
5. Дата введения автоматически командой сегодня().
6. Столбец №6 — артикул автоматически ХХ ХХХХХ — (номер группы — 2 цифры) + (5 цифр автоматически +1 к предыдущему)
7. Столбец №7 вводить вручную.
7. Столбец №8 вводить вручную.
По окончании команды в столбцах №3 и №5 из Формулы бы преобразовывались в текст и в дальнейшем не могли бы меняться ни вручную ни автоматически.
Думаю, что наверное, это можно сделать только с применением VBA (не знаю как). Прошу помочь в решении Задачи.
На листе 2 нужно чтобы сортировка строк была по дате ввода.
Кроме того, хотелось бы сформировать на листе №3 автоматическую таблицу в виде структуры по группам и подгруппам (с раскрытием +) с кнопкой обновления для синхронизации с таблицей на листах 1 и 2.
Заранее спасибо за помощь
У вас нет специального программного обеспечения (СЭД или системы хранения данных), но электронные документы уже появились? Как юридически значимые, изначально созданные в электронном виде, так и сосканированные образы бумажных подлинников либо просто файлы с ценной информацией? Учитывать этот массив пора: если вы не знаете, где что хранится, то поиск все чаще становится безрезультатным, а часть документов теряется безвозвратно. Статья показывает, как можно вести учет электронных документов, файлов при помощи таблиц в MS Excel: какие реквизиты и информацию можно отражать в таблице для последующего удобства поиска и обработки, как составить имя файла, как при помощи гиперссылки из Excel`евской таблицы можно сразу открывать нужный вам файл или папку. Технология работы показана на примере конструкторской документации. Ее специфика, описанная практиком с многолетним опытом работы с научно-техническими документами, будет интересна всем, кто сталкивается с подобной документацией, даже если у вас внедрена СЭД или СХД.
В предыдущей статье мы рассматривали возможность хранения проектной документации в электронном формате, записанной на диски (CD, DVD). Подобная система хранения имеет место в ряде архивов – как государственных и муниципальных, так и в ведомственных. У нее есть ряд преимуществ:
- отсутствие необходимости закупки и содержания дорогостоящего серверного оборудования и специально выделенного под него помещения;
- отказ от хранения копий и дублетов документации, необходимых для создания фонда пользования;
- диск более компактен, занимает меньше места в архивохранилище в отличие от многотомного бумажного комплекта технических документов и др.
Однако данная система хранения информации, документов имеет и ряд недостатков. Для хранения дисков нужны:
- специально оборудованное помещение, соблюдение температурно-влажностного режима, размагниченные стеллажи;
- ежегодная проверка состояния сохранности диска на предмет возможности прочтения записанной на нем информации. При повреждении диска его необходимо «лечить». Для этого существуют специальные программы, однако они недешевы. Можно пригласить специалистов (фирму), но это опять упирается в деньги.
Если на хранении в архиве находится много дисков, то проверка их технического состояния может занять значительный объем рабочего времени. Ведь на проверку одного диска уходит от 20 до 60 минут.
Кроме того, поступившие на хранение диски требуют учета. Т.е. система учета должна отражать информацию не только о хранимой документации, но и о ее носителях.
Другой системой хранения можно считать «серверную», когда документы хранятся на жестких дисках. С точки зрения соблюдения разумных мер безопасности нужно ставить барьер между своим электронным хранилищем и Интернетом, не отдавать ценную документацию в «облака».
Для хранения данных в крупных компаниях, корпорациях используют системы хранения данных (СХД). Они включают в себя:
- устройства хранения данных (диски, серверы, другие носители),
- порядок доступа к информации, программное обеспечение для хранения, использования, копирования данных.
СХД могут быть разными. Все зависит от объема информации, качества технического оснащения и т.д. Сегодня на рынке работает много компаний, предлагающих свои услуги для создания СХД и их технического обслуживания. Но, как всегда, все упирается в финансирование.
Допустим, мы с вами тоже хотим хранить информацию на жестком диске компьютера (или на сервере). Но ваша организация не имеет денег для закупки специального оборудования, программного обеспечения, найма специалистов. Поэтому давайте посмотрим, чем нам могут помочь «подручные» средства, т.е. общедоступное программное обеспечение, входящее в стандартный пакет программ большинства компьютеров.
Если в прошлый раз мы разбирались, как можно систематизировать файлы с проектной документацией, организовать их запись на CD, DVD, описать / учитывать диски и хранимую на них информацию, то сейчас предлагаем переключиться на серверное хранение и разобраться с ним на примере конструкторской документации.
Переписать информацию на жесткий диск – процесс несложный. Главное – потом ее найти. Здесь нам может помочь электронная таблица в MS Excel. Она сыграет роль не только учетной, но и поисковой системы. Это самые простые базы данных, которые может создать для себя…
В этой статье показано, как разрабатывается и применяется «средство для учета и калькуляции строительных работ». Состоит оно из двух частей:
1) Для учета стройработ – альбомы чертежей поэтажных планировок помещений;
2) Для калькуляции стройработ – альбомы excel-таблиц калькуляций стройработ.
Обычно, в основе инструментов-средств лежит «маленькая хитрость», определяющая их показатели назначения. В данном случае, она состоит в способе обозначения объектов учета и калькуляций. Обозначения применяются:
- для учета – на чертежах рабочего проекта (далее, РП);
- для калькуляций – в excel-таблицах калькуляций стройработ.
Подготовка альбомов чертежей для учета стройработ
Подготовка альбомов описывается на примере конкретного объекта – девятиэтажного жилого дома с тремя подъездами. Состоит она в следующем:
- Из рабочего проекта (далее, РП) делаются копии чертежей поэтажной планировки помещений и компонуются в альбомы по подъездам.
- Помещения, на каждом листе чертежей поэтажных планировок, нумеруются четырьмя цифрами. Например, 2638; что означает следующее: второй подъезд; шестой этаж; третья квартира; восьмое помещение (в третьей квартире). Порядок нумерации – единый, допустим:
— для подъездов – слева-направо;
— для этажей – снизу-вверх;
— для квартир на этаже и помещений в квартире – по часовой стрелке.
Все виды стройработ (и их объемы) «привязываются» к элементам помещений. Элементы помещений – это:
— стены;
— пол и потолок;
— проемы окон;
— откосы окон;
— ниши подоконные;
— проемы дверей;
— откосы дверей;
Идея учета выполнения стройработ с помощью чертежей поэтажных планировок помещений была замечена в действиях прораба строительной фирмы. Он обходил помещения и «обводил» шариковой ручкой (на чертежах) элементы, указанные в п.2.3, для которых была выполнена шпаклевка. На рисунке 1 представлен пример-фрагмент результата такого учета.
В помещении № 2638 прошпаклеваны поверхности всех элементов помещений; а именно:
- стены – восточная, южная, западная, северная – обводка линией;
- откосы двери и двух окон – обводка парами параллельных отрезков;
- ниши подоконные – обводка «скобами».
- потолок – отметка «овалом».
В помещении №2639 выполнение – частичное – а именно:
- стены – стена восточная частично; стена южная полностью.
- откосы двери и окна – нет;
- ниши подоконные – нет;
- потолок – да.
Такой учет объемов выполненных работ (путем обводки фломастером элементов помещений на чертеже) осуществляется настолько быстро, что скорость обхода-осмотра снижается незначительно.
Пример-фрагмент учета выполненных объемов работ по шпаклевке
Рисунок 1
Шпаклевка относится к типу, объемы которых выражаются через площади поверхностей элементов помещений. Объемы для других типов работ (например, прокладка кабелей электропитания) выражаются линейными размерами. Такие работы тоже удобнее связывать с элементами помещений. Например, символами «2,4 г», рядом с линией обводкой стены север в помещении 2639 обозначена прокладка по стене горизонтального участка кабеля на высоте 2,4 м от пола. Длина линии-обводки соответствует длине проложенного участка (3,5 м).
Наконец, есть тип работ, которые можно считать «точечными». Они обозначаются специальными символами-значками, рядом с соответствующими элементами помещений. Например, точкой с символами «р/2,2/0,8». Это розетка с координатами х=2,2м и у=0,8м. Координаты, как обычно, определяются от левого нижнего (юго-восточного) угла стены.
По локальным сметам заметно, что видов работ – довольно много. Чтобы избежать трудноразличимого «натюрморта», на чертежах отмечалось, обычно, три-четыре вида работ. Значит, на каждый подъезд понадобится распечатывать по комплекту чертежей для каждых трех-четырех видов работ из локальных смет.
Подготовка «таблиц калькуляции стройработ»
Графические отметки, на чертежах альбомов учета стройработ, необходимо превратить в числа – в исходные данные для калькуляции объемов отмеченных работ и соответствующих им трудозатрат и расхода материалов. Измерять длины отрезков-отметок можно линейкой и применять соответствующий коэффициент пересчета. Но лучше чертежи распечатывать на фоне сетки. Размер клетки был, обычно, 0,2 м. Тогда длина нанесенной отметки-линии легко определяются количеством соответствующих клеток. Для распечатки таких чертежей на листах формата А4 (лучше А3) нужен принтер с качественной «механикой» (чтобы совпадали размеры клеток на склеиваемых листах). В таблицах нужно указывать месторасположение элемента помещения, к которому «привязывается» работа. Это месторасположение указывается так:
- столбец – номер помещения:
- строка – указание стены или потолка или пола.
Стен – четыре. Их можно обозначить числами (1, 2, 3, 4). Но обозначения стен «сторонами света» (восток, юг, …) нагляднее. Например (рисунок 1), в комнате №2639 электрокабель («2,4 г») проложен по стене «север».
Таблица 1 представляет данные о длинах и площадях стен помещений, а также, пола-потолка. Исходные данные в этой таблице – это содержимое клеток (B3, B4, B5, B6; C3, C4, C5, C6). Эти данные берутся из чертежей РП. Содержимое остальных клеток, выделенных «заливкой» (площади стен и потолков), вычисляется по формулам, размещенным в этих клетках.
Таблица 1. Длины и площади стен. Площади потолков
|
А |
B |
C |
… |
|
1 |
длины/площади стен/потолков |
помещение № 2638 |
помещение № 2639 |
… |
Сумма по строкам |
2 |
|
высота потолков (Н), м = |
2,5 |
||
3 |
Восток, длина стены, м |
4 |
2,8 |
|
6,8 |
4 |
Юг, длина стены, м |
3,5 |
3,5 |
|
7,0 |
5 |
Запад, длина стены, м |
4 |
2,8 |
|
6,8 |
6 |
Север, длина стены, м |
3,5 |
3,5 |
|
7,0 |
7 |
периметр стен, м |
15 |
12,6 |
|
27,60 |
8 |
Восток, площадь стены, кв. м |
10,00 |
7,00 |
|
17,00 |
9 |
Юг, площадь стены, кв. м |
8,75 |
8,75 |
|
17,50 |
10 |
Запад, площадь стены, кв. м |
10,00 |
7,00 |
|
17,00 |
11 |
Север, площадь стены, кв. м |
8,75 |
8,75 |
|
17,50 |
12 |
площадь стен, кв. м |
37,5 |
31,5 |
|
69,00 |
13 |
площадь потолка, кв. м |
14 |
9,8 |
|
23,80 |
По таблице 1 видно, что общая площадь стен и потолка составляет:
- в помещении № 2638 – 51,5 кв. м (сумма чисел в клетках В12 и В13);
- в помещении № 2639 – 41,3 кв. м (сумма чисел в клетках С12 и С13).
Количество колонок (В, С,…) в реальной таблице 1 определяется количеством помещений на этаже одного подъезда. В это количество входят также: балконы-лоджии; лестничные клетки и другие вспомогательные помещения. Кстати, лестничную клетку для каждого этажа удобнее представлять как два «помещения» («лестничная клетка» и «шахта лифта»). Площади проемов-откосов окон и дверей являются существенными. Для их учета составляется таблица 2.
Таблица 2. Вспомогательная таблица (площади проемов-откосов)
А |
B |
|
1 |
Площади проемов и откосов |
|
2 |
ширина проема двери, м |
1,05 |
3 |
высота проема двери, м |
2,10 |
4 |
площадь проема двери, кв.м |
2,21 |
5 |
ширина откосов двери, м |
0,30 |
6 |
площадь откосов двери |
1,55 |
7 |
ширина проема окна, м |
1,40 |
8 |
высота проема окна, м |
1,50 |
9 |
площадь проема окна, кв.м |
2,10 |
10 |
ширина откосов окна, м |
0,45 |
11 |
площадь откосов окна, кв.м |
1,98 |
12 |
высота подоконной ниши, м |
0,80 |
13 |
ширина откосов подоконной ниши, м |
0,30 |
14 |
площадь откосов подоконной ниши, кв.м |
0,48 |
Пример реального калькулятора для строительных работ, объемы которых определяются площадью поверхностей элементов – это таблица 3. В ней учтены данные и о проемах-откосах-нишах.
Таблица 3. Строительный калькулятор
(Шпаклевка. Расчет объемов выполненных работ, трудозатрат и расхода материалов)
А |
B |
C |
… |
||
1 |
Шпаклевка |
помещение № 2638 |
помещение № 2639 |
… |
объемы работ |
2 |
Данные контроля выполнения работ |
||||
3 |
Восток, ширина стен, м |
4,0 |
1,2 |
5,20 |
|
4 |
Юг, ширина стен, м |
3,5 |
3,5 |
7,00 |
|
5 |
Запад, ширина стен, м |
4,0 |
4,00 |
||
6 |
Север, ширина стен, м |
3,5 |
3,50 |
||
7 |
Площади работ, кв. м |
Н = |
2,5 |
||
8 |
Восток, площадь работ по стене |
10,00 |
3,00 |
13,00 |
|
8,1 |
Восток, площадь проемов |
-2,21 |
-2,21 |
||
8,2 |
Восток, площадь откосов |
1,55 |
1,55 |
||
8,3 |
Восток, площадь работ |
9,34 |
3,00 |
12,34 |
|
9 |
Юг, площадь работ по стене |
8,75 |
8,75 |
17,50 |
|
9,1 |
Юг, площадь проемов |
||||
9,2 |
Юг, площадь откосов |
||||
9,3 |
Юг, площадь работ |
8,75 |
8,75 |
17,50 |
|
10 |
Запад, площадь работ по стене |
10,00 |
10,00 |
||
10,1 |
Запад, площадь проемов |
-4,20 |
-4,20 |
||
10,2 |
Запад, площадь откосов |
4,92 |
4,92 |
||
10,3 |
Запад, площадь работ |
10,72 |
10,72 |
||
11 |
Север, площадь работ по стене |
8,75 |
8,75 |
||
11,1 |
Север, площадь проемов |
||||
11,2 |
Север, площадь откосов |
||||
11,3 |
Север, площадь работ |
8,75 |
8,75 |
||
12 |
Потолок, площадь работ |
14,00 |
9,80 |
23,80 |
|
13 |
Итого, площадь работ в помещении |
51,56 |
21,55 |
73,11 |
|
14 |
Трудозатраты, чел*час |
стена |
откос |
потолок |
|
15 |
Коэффициент трудозатрат, чел*час/ кв. м = |
1,25 |
1,30 |
1,5 |
|
16 |
Восток |
11,75 |
3,75 |
15,50 |
|
17 |
Юг |
10,94 |
10,94 |
21,88 |
|
18 |
Запад |
13,65 |
13,65 |
||
19 |
Север |
10,94 |
10,94 |
||
20 |
итого, для стен |
47,27 |
14,69 |
61,96 |
|
21 |
Потолок |
21,00 |
14,70 |
35,70 |
|
22 |
Итого, трудозатрат, чел*час/ кв. м |
68,27 |
29,39 |
97,66 |
|
23 |
Расход шпаклевки, кг |
стена |
откос |
потолок |
|
24 |
Коэффициент расхода шпаклевки, кг/ кв. м = |
1,0 |
1,0 |
1,0 |
|
25 |
для стен Восток, кг |
9,34 |
3,00 |
12,34 |
|
26 |
для стен Юг, кг |
8,75 |
8,75 |
17,50 |
|
27 |
для стен Запад, кг |
10,72 |
10,72 |
||
28 |
для стен Север, кг |
8,75 |
8,75 |
||
29 |
итого, для стен, кг |
37,56 |
11,75 |
49,31 |
|
30 |
для потолка, кг |
14,00 |
9,80 |
23,80 |
|
31 |
итого, расход шпаклевки, кг |
51,56 |
21,55 |
73,11 |
Реально, каждый лист таблицы умещался на двух-трех листах формата А4, склеенных сторонами длиной 297 мм.
В клетках последнего столбца таблицы 3 размещаются итоговые суммы чисел, содержащихся в клетках соответствующих строк. Например, в последних клетках строк 13, 22, 31 размещаются итоговые данные об объемах работ, трудозатрат и расходах материалов. Сумма этих чисел «по этажам-подъездам» должна совпадать с аналогичными числами в локальных сметах. Таким образом, таблица 3 «строительного калькулятора» делает очевидным «наполнение» чисел в локальных сметах. Аналогично оцифровываются и калькулируются другие типы работ («линейные» и «точечные»), упомянутые в разделе 2.
Планирование выполнения стройработ
Ранее описывалась методика разработки план графиков производства и обеспечения строительных работ. Альбомы учета стройработ и таблицы строительного калькулятора позволяют быстро увидеть, какие объекты стройработ соответствуют числам план-графиков. Такая очевидность «наполнения» чисел помогает в управлении производством стройработ. Обе стороны процесса управления (заказчик и подрядчик; прораб и бригады) точно представляют себе, о чем идет речь.
На чертежах альбомов учета можно отметить объемы работ, согласно выданному наряд-заданию, а затем учитывать выполнение последнего ежедневными отметками фломастеров других цветов. Что делает очевидным сравнение фактического темпа работ с запланированным.
Контроль выполненных работ
Это применение описано в разделе 2. Альбомы учета выполненных работ подробно и точно отражают объемы выполненных работ. Такая «подробность и точность» приводит к многочисленным положительным последствиям. Любое сомнение в правильности чисел в сметах и формах №2 легко проверить адресно. Что практически исключает возможность разногласия между заказчиком и подрядчиком в части объемов выполненных работ.
Такое средство для учета позволяет легко персонифицировать выполненные объемы работ. Персонификация выполненных объемов работ позволяет персонифицировать начисление зарплат работникам, посредством внутрифирменных расценок. Излишними становятся «общий котел» и «ложки» к нему («коэффициенты KPI»). Даже больше – работники, по выполненному ими лично объему работы, смогут сами определять сумму своего заработка. Опыт показывает, что таким учетом, нетрудно добиться удвоения производительности труда. «Добиться» – потому что, придется соответственно ускорить работу и вспомогательных служб (ПТО, отдела снабжения).
Архив выполненных работ
Такой архив является источником информации для определения-корректировки внутрифирменных расценок работ.
Примечания
1) Чертежи рабочего проекта являются графической моделью объекта строительства. Описанное в этой статье средство для учета и калькуляции строительных работ (альбомы заполненных чертежей и таблицы строительного калькулятора являются числовой моделью производства стройработ. «Средство …», по сути, заполняет пробел между чертежами РП и сметой, делая очевидным «наполнение» сметных чисел.
2) Подготавливать альбомы чертежей поэтажных планировок и таблицы строительного калькулятора лучше силами ПТО, в порядке инженерной подготовки производства стройработ. Персонал ПТО первым в строительной организации работает с чертежами РП:
- определяет их состоятельность, в плане ошибок-недоработок;
- подготавливает сметы для определения цены договора подряда на строительство;
- после заключения договора подряда, подготавливает план-графики производства стройработ и их обеспечения.
3) Осуществлять контроль производства стройработ, с помощью подготовленных альбомов учета, может и студент-практикант. «Оцифровывать» учетные графические отметки и осуществлять калькуляцию объемов стройработ, трудозатрат и расхода материалов лучше инженеру ПТО.
Впервые статья была опубликована на Executive.ru 13 мая 2014 года в рубрике «Творчество без купюр». Реанонсирована в контентном блоке в рамках специального проекта редакции.
Источник изображений: Фотобанк Фотодженика
Склад производства
Программа для учета производства готовой продукции (изделий) и расхода сырья и материалов выдаваемых в производство.
У данной программы имеется многопользовательская версия для одновременной работы нескольких сотрудников:
Админ, Кладовщик, Менеджер…
Склады
Физически у вас может быть один склад, но для удобства учета в данной программе используется пять виртуальных складов:
- склад готовой продукции
- склад полуфабрикатов (детали, заготовки)
- склад сырья (исходные материалы для изготовления)
- склад расходных материалов
- склад отходов (брак, утиль)
Склад продукции — это готовые изделия, здесь указываете конечный продукт, например в зависимости от специфики производства это могут быть:
шкафы-купе, ограждения, торты.
В общем любая готовая продукция которая выходит из цикла производства.
Сырье и Расходные материалы — это исходное сырье для производства продукции (то из чего состоят изделия)
Сырье и Расходные материалы распределяете по своему усмотрению, например для производства мебели:
Сырье — это ДСП, столешница, профили, зеркала
Расходные материалы – это саморезы, фурнитура, скотч, лак
Спецификации
В программе предусмотрена выдача сырья по спецификациям (рецептура, комплект, карта изделия), в которых прописаны нормы расхода сырья и материалов для изготовления единицы продукции.
Системные требования:
- Win XP, Vista, Win 7, Win 8, Win 10
- Наличие Microsoft Excel 2007 или более поздней версии
Функционал программы:
- формирование заявки
- реестр заказов
- справочники номенклатуры, сотрудников, контрагентов
- контроль расхода сырья
- оприходование на склады
- отгрузка продукции заказчику
- спецификации — комплект, рецептура, карта изделия
- выдача сырья в производство
- контроль остатков склада
- отчет поступления сырья и материалов
- отчет по расходу сырья
- отчет по готовой продукции
Цена программы
Цены в рублях и актуальны на текущий момент.
Оплата единоразовая, вы просто оплачиваете покупку программы.
Контакты
fort168@yandex.ru
program.excel.qw@gmail.com
Excel Programm
© Excel Programm
Содержание
- Автоматизация составления исполнительной документации по строительству в Excel
- Введение.
- Исходные данные для автоматизации.
- Мысли о принципиальных методах решения задачи
Зачастую, когда говорят о работе в офисных приложениях, подразумевается использование ПК в качестве печатной машинки и, если честно, то это достаточно дорогая замена физическим механизмам, если не пользоваться возможностями который дает нам ПК. Давайте об этом и поговорим.
Введение.
На мой взгляд ПК появился как инструмент для решение принципа автоматизации рутинных процессов и в этом он чертовски хорош. Кроме того развитие функциональных программ есть история создания инструментов для реализации перевода авральных задач в рутинные действия, как следствие углубление разделения труда. Однако есть области, в т.ч. и документооборота, где на сегодняшний день ПК используется именно как печатная машинка в т.ч. и потому, что серьезных разработок не велось в силу того, что оклады людей сидят в накладных расходах и, как следствие, не велики, что не скажешь о возрастающих объемах документооборота.
Итак, поговорим про строительство, конкретно про составление Исполнительной документации (далее ИД).
об Исполнительной документации
Точнее про ее текстовую составляющую. Если вкратце, то ИД есть набор актов, журналов и иных документов, чертежей, схем которые составляются на каждый этап и даже операцию (группы операций) в строительстве, для подтверждения/отклонения выполняемых работ проекту. Такие документы сплошь шаблонные, их перечень, в зависимости от вида работ, регламентирован, и они ведутся согласно фактического графика выполняемых работ, формализуя утвержденной комиссией правильность/отступление работ проекту.
Большая часть работ закрывается по форме Акта освидетельствования скрытых работ (утвержденным приказом Федеральной службы по экологическому, технологическому и атомному надзору от 26 декабря 2006 года N 1128 (В редакции, введенной в действие с 6 марта 2016 года приказом Ростехнадзора от 26 октября 2015 года №42. Далее АОСР).
Исходные данные для автоматизации.
По-этому возьмем форму АОСР за основу. Итак, у нас есть шаблон документа, в который заносится следующая информация:
— постфикс номера акта;
— наименование объекта капитального строительства;
— юридические данные об участниках строительства (Застройщик или Заказчик; Лицо, осуществляющее строительство; Лицо, осуществляющее подготовку проектной документации;
Лицо, осуществляющее строительство, выполнившее работы, подлежащие освидетельствованию; иные лица.)
— перечень лиц с наименованием организаций, должностей и приказов подтверждающих их полномочия;
— наименование выполненных работ;
— сроки выполнения работ;
— перечень работ, входящих в выполненные работы;
— ссылки на НТД и разделы проекта/тех.документации;
— ссылки на исполнительные схемы, акты испытаний (если таковые требуются);
— перечень используемых материалов с сылками на документы подтверждающими их соответствие (паспорта, сертификаты и т.п.)
Мысли о принципиальных методах решения задачи
Итак, в первом приближении, можно просто создать наглядную таблицу, в которой назначив соответствующие однотипные поля каждому акту мы получим наглядную портянку схемы выполнения работ на объекте. И в этом нет ничего нового. Итак, нам необходимо связать форму с ячейками в таблицах данных и здесь есть 2 варианта:
1. Слияние с файлом Word
2. Заполнение при помощи макросов шаблона на базе Excel.
Каждый из этих способов имеет свои плюсы и минусы, но т.к. слияние производит замену в реальном времени, то мною было принято решение выбрать второй пункт, который в реальном времени слияние не обеспечивает и каждый раз необходимо будет осуществлять вывод актов, в случае корректировки данных, заново. Это связано с тем, что мне зачастую необходима история моих действий.
Итак, теперь мы упираемся в 2 задачи:
1. Заполнение шаблона на основе табличных данных
2. Какие поля достаточно ввести один раз, какие будет меняться время от времени и какие поля будут отличаться в каждом акте.
Решая задачу №2 мы вынесем на отдельный лист те данные, которые будут едины в рамках объекта/раздела проекта строительства — это:
Спойлер
На текущем листе заполним лишь один раз, а для остальных актов просто проставим ссылки на эти значения:
Спойлер
И поля, которые будут меняться в каждом акте:
Спойлер
Теперь об удобствах, если записать ФИО ответственных лиц, их организацию, приказ о назначении с датой, то при помощи инструмента «проверка данных» можно занести их фамилии в спойлер, а формулой подтягивать их регалии.
=ЕСЛИОШИБКА(ДВССЫЛ(СЦЕПИТЬ("'Данные для проекта'!";АДРЕС((ПОИСКПОЗ(E30;'Данные для проекта'!$G$15:$G$34;0))+14;6)));"-")
Т.е. на листе ‘Данные для проекта’ в диапазоне $G$15:$G$34, в 6м столбце ищем значение в ячейке Е30, и как только находим нехитрым методом преобразуем в адрес, который будет преобразован в ссылку формулами.
Новая проблема уже упирается в длину строки, если использовать шрифт Times New Roman №10, то длина текста, которая будет выводится на печать, не превышает 105 символов. Т.е. мы упираемся в необходимость создавать костыль для переносов. Итак код функции на VBA:
Function PatrOfString(StringOfTable As String, Nnumber As Byte) As String Dim МассивБлоков(1 To 10) As String Dim i As Integer ' Dim j As Integer ' Dim k As Integer ' Dim p As Integer ' For i = 1 To 10 Let МассивБлоков(i) = " " Next i Let k = 1 Let p = Len(StringOfTable) Let p1 = Len(StringOfTable) For i = 1 To Round(Len(StringOfTable) / 105) + 1 Step 1 If p > 0 And p < 105 Then If k <= p1 Then Let МассивБлоков(i) = Mid$(StringOfTable, k, p) Else If Mid(StringOfTable, k, 1) = " " Then If k <= p1 Then Let МассивБлоков(i) = Mid$(StringOfTable, k, 105) Let p = p - 105 k = k + 105 Else j = 105 * i If j - k >= 105 Then j = k + 105 End If Do j = j - 1 Loop While Mid$(StringOfTable, j, 1) <> " " Let МассивБлоков(i) = Mid$(StringOfTable, k, j - k + 1) Let p = p - (j - k + 1) Let k = j + 1 End If End If Next i If Nnumber - 1 > 0 Then If МассивБлоков(Nnumber) = МассивБлоков(Nnumber - 1) Then МассивБлоков(Nnumber) = " " End If PatrOfString = МассивБлоков(Nnumber)
Т.е. мы сперва забираем текст, потом вырезаем 105 символов, ищем с конца первый символ пробел, как его находим, то закидываем в первую строку массива текст длиной с первого символа, по номер найденного пробела. Затем продолжаем операцию до тех пор пока текст не закончится или не забьется выводной массив. На данном этапе он ограничен памятью в 10 строк. Затем мы выводим по ссылке содержание нужной строки из 1-10. Из минусов решения — забивается память, и для каждого нового запроса осуществляется пересчет заново. Но костыль работает.
Подводные камни использования Excel Power Query и MySQL для автоматизации отчетности
Теперь вывод в типовой шаблон АОСР. Есть опять 2 варианта, либо вручную прописывать сопоставлению столбцу(/строки в случае горизонтально расположенных данных под каждый акт), то это будет долго и ресурсоемко подгонять каждый новый шаблон или изменения под таблицы данных. Потому делаем оптимизацию. Данные на каждый один акт будут располагаться вертикально, а сопоставление управляющей комбинации символов (на латинице, т.к. сами акты сплошь на кириллице) будут строки с информацией в этих актах, таким образом в двойном вложенном цикле поиском в тексте управляющих символов мы сопоставим нужное значение из колонки.
Do wb.Worksheets("Пример акта входного контроля").Copy after:=Worksheets(Worksheets.Count) Set новыйЛист = wb.Worksheets(Worksheets.Count) For x = 1 To 15 Step 1 ' Перебираем столбцы в листе "Пример акта входного контроля" For y = 1 To 71 Step 1 ' Перебираем строки в листе "Пример акта входного контроля" If Sheets(новыйЛист.Name).Cells(y, 20) = 1 Then Let k = CStr(Sheets(новыйЛист.Name).Cells(y, x)) ' Ищем только если в ячейке что-то есть If k <> "" Then For i = 1 To Кол_воЭл_овМассиваДанных Step 1 Let k = Replace(k, arrСсылкиДанных(i), Worksheets("БД для входного контроля (2)").Cells(i, НомерСтолбца)) Next i новыйЛист.Cells(y, x) = k End If End If Next y Next x ' Если Вы захотите добавить новые данные для автозаполнения, продолжайте этот список. ' Ячейки имеют координаты формата Cells(3, 2), где 3 - пример номера строки, 2 - пример номера столбца ' Чтобы легко узнавать номер столбца, можно включить стиль ссылок R1C1 ' (Файл -> Параметры -> Формулы -> галочка на поле "Стиль ссылок R1C1") ' либо задавать координаты в формате Cells(1, "A"), где 1 - пример номера строки, "А" - пример буквенного обозначения столбца Rem -= Уточняем имя файла и текущий путь к папке откуда запущен макрос =- Let ИмяФайла = ИмяФайла + CStr(Worksheets("БД для входного контроля (2)").Cells("1", НомерСтолбца)) + "-" Let ИмяФайла = ИмяФайла + CStr(Worksheets("БД для входного контроля (2)").Cells("2", НомерСтолбца)) + ".xlsx" НовыйПуть = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, ИмяФайла) Application.DisplayAlerts = False ' выключаем вывод предупреждений Sheets(новыйЛист.Name).Copy ' Копируем текущий лист в новую книгу ActiveWorkbook.SaveAs Filename:=НовыйПуть, _ FileFormat:=51 ActiveWindow.Close Sheets(новыйЛист.Name).Delete ' Удаляем созданный лист Application.DisplayAlerts = True ' Включаем вывод предупреждений обратно Let НомерСтолбца = НомерСтолбца + 1 Loop While НомерСтолбца <= КонечныйНомерСтолбца End Sub
Ну и последний момент на данном этапе — мы упираемся в производительность системы и при большом кол-ве актов их вывод будет занимать часы. Дабы ускорить процесс я использую следующий вариант: Копирую содержимое листа с данными в новый лист макросом, он получает в своем имени циферку (2), затем запускается еще один макрос, ускоряющий Excel, но отключающий ряд функционала:
'Ускоряем Excel путём отключения всего "тормозящего" Public Sub AccelerateExcel() 'Больше не обновляем страницы после каждого действия 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
А после вывода всех данных из форм я прогоняю аналогичный макрос где тем же самым переменным присваиваю значение true и удаляю дублирующий лист, что бы не мешался.