Wiki source code of Интерфейс file

Last modified by Bimit Administrator on 18.07.2023, 10:31

Show last authors
1 Это интерфейс создания и заполнения файлов отчет/смет
2 В нем доступны следующий функции:
3
4 * [[create>>path:#_Toc1]] - функция конструктор, создает и подготавливает файл для приема данных
5 * [[addTitle>>path:#_Toc2]] - добавление заголовка в документ MS Word (DOCX)
6 * [[addParagraph>>path:#_Toc3]] - функция создания нового параграфа в документе MS Word (DOCX)
7 * [[addCenterParagraph>>path:#_Toc4]] - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста посередине и с указанием размера шрифта, и указанием жирный/простой
8 * [[addRightParagraph>>path:#_Toc5]] - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста справа и с указанием размера шрифта, и указанием жирный/простой
9 * [[addLeftParagraph>>path:#_Toc6]] - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста слева и с указанием размера шрифта, и указанием жирный/простой
10 * [[addTextBreak>>path:#_Toc7]] - функция перевода каретки указателя на новую строку в документе MS Word (DOCX)
11 * [[addText>>path:#_Toc8]] - функция добавления строки с данным в документ MS Word (DOCX)
12 * [[addHeaderRow>>path:#_Toc9]] - функция которая формирует заголовок на странице эксель файла
13 * [[addRow>>path:#_Toc10]] - функция которая формирует строку на странице эксель файла
14 * [[insertRow>>path:#_Toc15]] - функция которая вставляет строку на указанную позицию на странице эксель файла
15 * [[replaceRow>>path:#_Toc16]] - функция которая замещает строку на указанной позицию на странице эксель файла
16 * [[deleteRow>>path:#_Toc17]] - функция которая удаляет строку с указанной позиции на странице эксель файла
17 * [[autoSizeColumns>>path:#_Toc18]] - функция установки автоматической ширины колонок страницы эксель файла
18 * [[getDocument>>path:#_Toc11]] - получение интерфейса текущего документа XWPFDocument (docx) (https:~/~/poi.apache.org/apidocs/4.1/org/apache/poi/xwpf/usermodel/XWPFDocument.html), предоставляет полный доступ к инструментарию формирования документа MSWord
19 * [[getParagraph>>path:#_Toc12]] - получение интерфейса текущего параграфа XWPFParagraph (https:~/~/poi.apache.org/apidocs/4.1/org/apache/poi/xwpf/usermodel/XWPFParagraph.html) документа MSWord
20 * [[getWorkbook>>path:#_Toc13]] - получение интерфейса текущего табличного документа Workbook (XSSFWorkbook для xlsx и HSSFWorkbook для xls) (https:~/~/poi.apache.org/apidocs/4.1/org/apache/poi/ss/usermodel/Workbook.html), предоставляет полный доступ к инструментарию формирования документа таблицы эксель
21 * [[getSheet>>path:#_Toc14]] - получение интерфейса текущей страницы с таблицей (https:~/~/poi.apache.org/apidocs/4.1/org/apache/poi/ss/usermodel/Sheet.html) документа таблицы эксель
22
23 **Генерация документа с использованием шаблона**
24
25 * [[templateToPdf>>path:#_Toc19]] - генерация pdf документа из шаблона
26
27 **Генерация отчета по коллизиям и атрибутам**
28
29 * [[collisionsToPdf>>path:#_Toc20]] - генерация pdf по списку коллизий
30 * [[attributesToPdf>>path:#_Toc21]] - генерация pdf по списку атрибутов
31
32 [[Примеры использования в плагинах>>Примеры использования в плагинах]]
33
34
35 (% class="box infomessage" %)
36 (((
37 **{{id name="_Toc1"/}}create** - функция конструктор, создает и подготавливает файл для приема данных, доступны варианта: таблица эксель (XLS, XLSX), текстовый файл(TXT), документ MS Word (DOCX), документ PDF (PDF)
38 )))
39
40 * file.create(формат создаваемого файла)
41
42 **Пример использования:**
43
44
45 {{code language="java"}}
46 file.create("XLS"); или file.create("TXT");
47 {{/code}}
48
49
50 (% class="box infomessage" %)
51 (((
52 **{{id name="_Toc2"/}}addTitle** - добавление заголовка в документ MS Word (DOCX)
53 )))
54
55 * file.addTitle(Текст) - с базовыми настройками
56 * file.addTitle(Текст, Размер шрифта, жирный/не жирный) - с указанием размера шрифта, и указанием жирный/простой
57
58 **Примеры использования:**
59
60 {{code language="java"}}
61 addTitle("Заголовок")
62 {{/code}}
63
64 {{code language="java"}}
65 addTitle("Заголовок", 30, true)
66 {{/code}}
67
68
69 (% class="box infomessage" %)
70 (((
71 **{{id name="_Toc3"/}}addParagraph** - функция создания нового параграфа в документе MS Word (DOCX)
72 )))
73
74 * addParagraph("Текст") - с базовыми настройками
75 * addParagraph("Текст", размер отступа, размер шрифта, жирный/не жирный) - с указанием отступа, размера шрифта, и указанием жирный/простой
76
77 **Примеры использования:**
78
79 {{code language="java"}}
80 addParagraph("Текст")
81 addText("Продолжение текста")
82 {{/code}}
83
84 {{code language="java"}}
85 addParagraph("Текст", 20, 10, true)
86 addText("Продолжение текста")
87 {{/code}}
88
89
90 (% class="box infomessage" %)
91 (((
92 **{{id name="_Toc4"/}}addCenterParagraph** - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста посередине и с указанием размера шрифта, и указанием жирный/простой
93 )))
94
95 * addCenterParagraph("текст", размер шрифта, жирный/не жирный)
96
97 **Пример использования:**
98
99
100 {{code language="java"}}
101 addCenterParagraph("Текст", 10, true)
102 {{/code}}
103
104
105 (% class="box infomessage" %)
106 (((
107 **{{id name="_Toc5"/}}addRightParagraph** - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста справа и с указанием размера шрифта, и указанием жирный/простой
108 )))
109
110 * addRightParagraph("текст", размер шрифта, жирный/не жирный)
111
112 **Пример использования:**
113
114
115 {{code language="java"}}
116 addRightParagraph("Текст", 10, true)
117 {{/code}}
118
119
120 (% class="box infomessage" %)
121 (((
122 **{{id name="_Toc6"/}}addLeftParagraph** - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста слева и с указанием размера шрифта, и указанием жирный/простой
123 )))
124
125 * addLeftParagraph("текст", размер шрифта, жирный/не жирный)
126
127 **Пример использования:**
128
129
130 {{code language="java"}}
131 addLeftParagraph("Текст", 10, true)
132 {{/code}}
133
134
135 (% class="box infomessage" %)
136 (((
137 **{{id name="_Toc7"/}}addTextBreak** - функция перевода каретки указателя на новую строку в документе MS Word (DOCX)
138 )))
139
140 * file.addTextBreak()
141
142 **Пример использования:**
143
144
145 {{code language="java"}}
146 file.addTextBreak()
147 {{/code}}
148
149
150 (% class="box infomessage" %)
151 (((
152 **{{id name="_Toc8"/}}addText** - функция добавления строки с данным в документ MS Word (DOCX)
153 )))
154
155 * file.addText(“Строка, которая появится в файле”, размер шрифта, жирный/не жирный)
156 * file.addText(“Строка, которая появится в файле”)
157
158 **Примеры использования:**
159
160 {{code language="java"}}
161 file.addText("Строка, которая появится в файле"), 10, false)
162 {{/code}}
163
164 {{code language="java"}}
165 file.addText("Строка, которая появится в файле")
166 {{/code}}
167
168
169 (% class="box infomessage" %)
170 (((
171 **{{id name="_Toc9"/}}addHeaderRow **- функция которая формирует заголовок на странице эксель файла
172 )))
173
174 * file.addHeaderRow(“Заголовок 1”, “Заголовок 2”,....”Заголовок N”)
175
176 **Пример использования:**
177
178
179 {{code language="java"}}
180 file.addHeaderRow("Код", "Название", "Ед. изм.", "Кол. во.");
181 {{/code}}
182
183
184 (% class="box infomessage" %)
185 (((
186 **{{id name="_Toc10"/}}addRow** - функция которая формирует строку на странице эксель файла
187 )))
188
189 * file.addRow(“Данные 1”, “Данные 2”,....”Данные N”)
190
191 **Пример использования:**
192
193
194 {{code language="java"}}
195 file.addRow( row.get("code"), row.get("title"), row.get("units"), row.get("quantityAll"));
196 {{/code}}
197
198
199 (% class="box infomessage" %)
200 (((
201 **{{id name="_Toc15"/}}insertRow** - функция которая вставляет строку на указанную позицию на странице эксель файла
202 )))
203
204 * file.insertRow(индекс, “Данные 1”, “Данные 2”,....”Данные N”)
205
206 **Пример использования:**
207
208 {{code language="java"}}
209 file.insertRow(6, "Вставленная строка", 1 , 2.453, new Date(), Calendar.getInstance());
210 {{/code}}
211
212
213 (% class="box infomessage" %)
214 (((
215 **{{id name="_Toc16"/}}replaceRow** - функция которая замещает строку на указанной позицию на странице эксель файла
216 )))
217
218 * file.replaceRow(индекс, “Данные 1”, “Данные 2”,....”Данные N”)
219
220 **Пример использования:**
221
222 {{code language="java"}}
223 file.replaceRow(7, "Замещенная строка", 4 , 5.678, new Date(), Calendar.getInstance());
224 {{/code}}
225
226
227 (% class="box infomessage" %)
228 (((
229 **{{id name="_Toc17"/}}deleteRow** - функция которая удаляет строку с указанной позиции на странице эксель файла
230 )))
231
232 * file.deleteRow(индекс)
233
234 **Пример использования:**
235
236 {{code language="java"}}
237 file.deleteRow(3);
238 {{/code}}
239
240
241 (% class="box infomessage" %)
242 (((
243 **{{id name="_Toc18"/}}autoSizeColumns** - функция установки автоматической ширины колонок страницы эксель файла
244 )))
245
246 * file.autoSizeColumns() - для всех колонок на странице
247 * file.autoSizeColumns(индекс колонки) - для конкретной колонки на странице
248
249 **Пример использования:**
250
251 {{code language="java"}}
252 file.autoSizeColumns()
253 {{/code}}
254
255
256 (% class="box infomessage" %)
257 (((
258 **{{id name="_Toc11"/}}getDocument** - получение интерфейса текущего документа XWPFDocument (docx) (https:~/~/poi.apache.org/apidocs/4.1/org/apache/poi/xwpf/usermodel/XWPFDocument.html), предоставляет полный доступ к инструментарию формирования документа MSWord (полную документацию см. [[https:~~/~~/poi.apache.org/apidocs/4.1/)>>https://poi.apache.org/apidocs/4.1/)]]
259 )))
260
261 (% class="box infomessage" %)
262 (((
263 **{{id name="_Toc12"/}}getParagraph** - получение интерфейса текущего параграфа XWPFParagraph (https:~/~/poi.apache.org/apidocs/4.1/org/apache/poi/xwpf/usermodel/XWPFParagraph.html) документа MSWord  (полную документацию см. [[https:~~/~~/poi.apache.org/apidocs/4.1/)>>https://poi.apache.org/apidocs/4.1/)]]
264 )))
265
266 (% class="box infomessage" %)
267 (((
268 **{{id name="_Toc13"/}}getWorkbook** - получение интерфейса текущего табличного документа Workbook (XSSFWorkbook для xlsx и HSSFWorkbook для xls) (https:~/~/poi.apache.org/apidocs/4.1/org/apache/poi/ss/usermodel/Workbook.html), предоставляет полный доступ к инструментарию формирования документа таблицы эксель (полную документацию см. https:~/~/poi.apache.org/apidocs/4.1/)
269 )))
270
271 (% class="box infomessage" %)
272 (((
273 **{{id name="_Toc14"/}}getSheet** - получение интерфейса текущей страницы с таблицей (https:~/~/poi.apache.org/apidocs/4.1/org/apache/poi/ss/usermodel/Sheet.html) документа таблицы эксель (полную документацию см. https:~/~/poi.apache.org/apidocs/4.1/)
274 )))
275
276 **Общий пример:**
277
278 {{code language="java"}}
279 def start() {
280 file.create("XLS");
281 file.addHeaderRow("Код", "Название", "Ед. изм.", "Кол. во.", "Колонка 5"..);
282 def data = params.get("data");
283 for (int i in 0..data.size()-1) {
284 def row = data.get(i);
285 file.addRow(
286 row.get("code"),
287 row.get("title"),
288 row.get("units"),
289 row.get("quantityAll"), );
290 }
291 }
292 {{/code}}
293
294
295 (% class="box infomessage" %)
296 (((
297 **{{id name="_Toc19"/}}templateToPdf** - генерация pdf документа из шаблона
298 )))
299
300 * [[template>>doc:API.Плагин API.template.WebHome]].add(“название тега в шаблоне”, данные)
301 * file.templateToPdf(template)
302
303 **Пример использования:**
304
305 {{code language="java"}}
306 def project = bim.getProject()
307 template.add("project", project)
308 file.templateToPdf(template)
309 {{/code}}
310
311
312 (% class="box infomessage" %)
313 (((
314 **{{id name="_Toc20"/}}collisionsToPdf** - генерация pdf по списку коллизий
315 )))
316
317 * file.collisionsToPdf(template, list, params):
318 * template - необязательный параметр (указывается в том случае, если таблицу коллизий необходимо добавить в конец какого-либо шаблона). Если не указывать, то создается новый пустой файл, в который заносится таблица коллизий
319 * list - список коллизий. Обязательное поле. Получить данный лист необходимо командой [[bim.getCollisionsForReport()>>https://wiki.bimit.ru/bin/view/API/%D0%9F%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%20API/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%20bim/#_Toc26]]
320 * params - необязательный параметр (описание ниже)
321
322 Параметры при генерации отчета по коллизиям:
323 pageSize - 1, 2, 3 или 4 (соответствует размеру страницы А1, А2, А3, А4)
324 fontSize - int значение размера шрифта (в pt)
325
326 **Пример использования:**
327
328 {{code language="java"}}
329 def param = [:]
330 param.add("pageSize", 3)
331 param.add("fontSize", 12)
332 {{/code}}
333
334 По умолчанию параметры принимают следующие значения:
335 pageSize - 4
336 fontSize - 8
337
338
339 **Пример использования:**
340
341 {{code language="java"}}
342 def collisionList = bim.getCollisionsForReport()
343 def param = [:]
344 param.add("pageSize", 3)
345 param.add("fontSize", 12)
346 file.collisionsToPdf(template, collisionList, param)
347 {{/code}}
348
349 {{code language="java"}}
350 def collisionList = bim.getCollisionsForReport()
351 file.collisionsToPdf(collisionList)
352 {{/code}}
353
354
355 (% class="box infomessage" %)
356 (((
357 **{{id name="_Toc21"/}}attributesToPdf** - генерация pdf по списку атрибутов
358 )))
359
360 * file.attributesToPdf(template, list, params)
361
362 **Наименование используемых строк row.get:**
363
364
365 (((
366 (% cellspacing="0" style="border-collapse:collapse; border:none; table-layout:fixed; width:850px" %)
367 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
368 (% style="line-height:1.2" %)
369 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)pos
370 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
371 (% style="line-height:1.2" %)
372 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:10pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Позиция
373 )))
374 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
375 (% style="line-height:1.2" %)
376 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)code
377 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
378 (% style="line-height:1.2" %)
379 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Обоснование
380 )))
381 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
382 (% style="line-height:1.2" %)
383 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)title
384 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
385 (% style="line-height:1.2" %)
386 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Наименование
387 )))
388 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
389 (% style="line-height:1.2" %)
390 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)units
391 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
392 (% style="line-height:1.2" %)
393 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Единицы измерений
394 )))
395 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)unit|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)Единица измерения
396 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
397 (% style="line-height:1.2" %)
398 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)quantityPerUnit
399 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
400 (% style="line-height:1.2" %)
401 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Количество на ед.
402 )))
403 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
404 (% style="line-height:1.2" %)
405 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)quantityAll
406 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
407 (% style="line-height:1.2" %)
408 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Количество всего
409 )))
410 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)quantity|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)Количество
411 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
412 (% style="line-height:1.2" %)
413 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)priceAll
414 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
415 (% style="line-height:1.2" %)
416 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Стоимость единицы всего
417 )))
418 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
419 (% style="line-height:1.2" %)
420 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)unitPrice_1
421 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
422 (% style="line-height:1.2" %)
423 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Стоимость единицы Осн. з/п
424 )))
425 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
426 (% style="line-height:1.2" %)
427 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)unitPrice_2
428 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
429 (% style="line-height:1.2" %)
430 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Стоимость единицы Эк.маш
431 )))
432 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
433 (% style="line-height:1.2" %)
434 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)unitPrice_3
435 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
436 (% style="line-height:1.2" %)
437 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Стоимость единицы З/пМех
438 )))
439 |(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
440 (% style="line-height:1.2" %)
441 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)unitPrice_4
442 )))|(% style="border-bottom:1px solid #000000; border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; padding:7px 7px 7px 7px; vertical-align:top" width="NaN" %)(((
443 (% style="line-height:1.2" %)
444 (% style="background-color:#ffffff; color:#000000; font-family:Arial; font-size:11pt; font-style:normal; font-variant:normal; font-weight:400; overflow-wrap:break-word; overflow:hidden; text-decoration:none; white-space:pre-wrap" %)Стоимость единицы Мат
445 )))
446 )))