Программа предназначена для выгрузки спецификации по форме 1 ГОСТ 21.110-2013 "Спецификация оборудования, изделий и материалов", группируя позиции с одинаковыми параметрами в одну группу.
-
Образец формы расположен в папке Resources/ExcelTemplates.
-
Файл формы имеет единственный лист "Спецификация", в который заносятся все данные по оборудованию.
-
Форма имеет 9 обязательных столбцов в соответствие с ГОСТ, которые должны всегда в ней присутствовать (могут быть пустыми):
1. Позиция
2. Наименование
3. Тип, марка, обозначение документа, опросного листа
4. Код оборудования, изделия, материала
5. Завод-изготовитель
6. Единица измерения
7. Количество
8. Масса единицы
9. Примечание
-
Название листа может быть изменено в настройках спецификации (не влияет на результат, служит только для ссылки на лист Excel).
-
Текущей логикой программы является объединение позиций оборудования в группы с одинаковыми свойствами. При этом количество оборудования суммируется по значениям в столбце "Количество", а позиции оборудования через запятую перечисляются в столбце "Позиция":
-
Второй столбец «Наименование и техническая характеристика» спецификации заполняется следующим образом:
1. Значение столбца «Наименование» для данной группы оборудования;
2. <Параметр1><Разделитель><Значение1>;
3. <Параметр2><Разделитель><Значение2>;
4. …
где пары «Параметр – Значение» составляются из названий прочих (необязательных) столбцов и значений в них для этой группы:
Разделитель будет отсутствовать для столбцов, указанных в соответствующем поле настроек спецификации (см. раздел «Конфигурирование»). Например, разумно это делать для столбца «DN», чтобы диаметр арматуры отображался корректно («DN20» вместо «DN-20»). Добавление пользовательских разделителей не предусмотрено.
-
Пары «Параметр-Значение» формируются по порядку необязательных столбцов в Excel-форме.
-
Если «Значение» из пары «Параметр-Значение» во втором столбце удовлетворяет паттерну
\s\d+\s+шт.$, то этот найденный шаблон строки удаляется из «Значения» и добавляется в столбец «Количество» в соответствующую строку спецификации:Пояснение к паттерну:
«\s» - один пробел
«\d+» - одна и более цифра
«\s+» - один и более пробел
«шт.$» - строка оканчивается на «шт.»
Паттерн может быть изменен только в исходном коде программы.
-
Файл настроек приложения расположен в папке Settings/AppSettings.json:
-
"SupportedPersons": Перечень сотрудников для выпадающего списка окна «Данные о проекте».
-
"SpecExcelTemplatePath": Относительный путь до «пустого» Excel шаблона спецификации
-
-
Файл настроек спецификации расположен в папке Settings/SpecSettings.json:
-
"ExcelFilledFormSpecSheetName" : Название листа, где располагаются данные в файле Excel-формы
-
"MandatoryOrderedColumnNames": Упорядоченный список обязательных столбцов в Excel-форме. Соответствует оным по спецификации ГОСТ 21.110-2013 форма 1 «Спецификация оборудования, изделий и материалов»
-
"DelimeterFor2ndColumn": Разделитель для пары «Параметр-Значение» при заполнении второго столбца.
-
"ExcludedColumnNames": Названия столбцов, которые могут иметь неуникальные значения для группировки.
-
"SpecialFormatColumnNames": Названия столбцов, в которых для пары «Параметр-Значение» при заполнении второго столбца разделитель будет отсутствовать.
-
"ColumnLetterAddress": Адреса колонок в «пустом» Excel шаблоне спецификации.
-
"FirstRowIndex": Номер первой строки Excel в «пустом» Excel шаблоне спецификации.
-
"RowStep": Разность (в строках Excel) между соседними строками спецификации. Сейчас высота одной строки спецификации составляет две строки Excel.
-
"MaxRowIndex": Номер последней строки Excel для первого и второго листа в «пустом» Excel шаблоне спецификации
-
"ExampleSheet2Name": Название второго листа в «пустом» Excel шаблоне спецификации.
-
"FirstPageStampMap": Информация для заполнения штампа на первой странице. Содержит поля данных о проекте и соответствующие им ячейки Excel. Названия полей в настройках должны соответствовать оным из исходного кода программы в файле ProjectInfoDataSchema.cs.
-
-
Выбрать файл заполненной Excel-формы:
-
Проверить данные о проекте:
-
Запустить программу:
Спецификация появится в папке “output” в формате “.xlsx” и “.pdf”
- Контроль изменений
- Печать в PDF без использования Interop.Excel
- Логирование
- Автоматическая вставка подписей по фамилии





