Changes for page Интерфейс file

Last modified by Bimit Administrator on 02.10.2024, 11:55

From version 1.1
edited by Bimit Administrator
on 04.02.2022, 16:22
Change comment: There is no comment for this version
To version 16.2
edited by Bimit Administrator
on 27.08.2024, 09:50
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,0 +1,588 @@
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 +* [[addAreaBreak>>path:#_Toc30]] - добавление разрыва области PDF документа
23 +* [[addImage>>path:#_Toc31]] - добавление изображения в документ Ms Word(DOCX) или PDF, ести тип файла другой, запись идет в поток
24 +* [[addDrawing>>path:#_Toc32]] - добавление чертежа в документ MS Word (DOCX) или PDF, метод принимает на вход массив байтов, содержащий чертеж и двумерный массив, содержащий координаты точек чертежа
25 +* [[addCell>>path:#_Toc22]] - создание ячейки в указанный столбец
26 +* [[replaceRow>>path:#_Toc23]] - замена значений указанной строки новыми значениями текущего листа таблицыи Excel (XLSX, XLS)
27 +* [[sortASC>>path:#_Toc24]] - сортировка таблицы документа Excel (XLSX, XLS) в порядке возрастания по значению в указанном столбце
28 +* [[sortDESC>>path:#_Toc25]] - сортировка таблицы документа Excel (XLSX, XLS) в порядке убывания по значению в указанном столбце
29 +* [[saveTempTable>>path:#_Toc26]] - сохранение значений из потока в таблицу Excel (XLSX, XLS), находящейся по указанному пути
30 +* [[xlsxToJSON>>path:#_Toc27]] - преобразование содержимого документа Excel (XLSX, XLS)
31 +* [[getResource>>path:#_Toc28]] - метод возвращает объект Ms Word (DOCX), PDF, текстовый файл (TXT) или Excel (XLSX, XLS)
32 +* [[makeGrandSmetaExelTable>>path:#_Toc29]] - создание документа Excel (XLSX, XLS) для отчета о гранд-смете
33 +
34 +**Генерация документа с использованием шаблона**
35 +
36 +* [[templateToPdf>>path:#_Toc19]] - генерация pdf документа из шаблона
37 +
38 +**Генерация отчета по коллизиям и атрибутам**
39 +
40 +* [[collisionsToPdf>>path:#_Toc20]] - генерация pdf по списку коллизий
41 +* [[attributesToPdf>>path:#_Toc21]] - генерация pdf по списку атрибутов
42 +
43 +[[Примеры использования в плагинах>>Примеры использования в плагинах]]
44 +
45 +
46 +(% class="box infomessage" %)
47 +(((
48 +**{{id name="_Toc1"/}}create** - функция конструктор, создает и подготавливает файл для приема данных, доступны варианта: таблица эксель (XLS, XLSX), текстовый файл(TXT), документ MS Word (DOCX), документ PDF (PDF)
49 +)))
50 +
51 +* **file.create(формат создаваемого файла)**
52 +
53 +**Пример использования:**
54 +
55 +
56 +{{code language="java"}}
57 +file.create("XLS"); или file.create("TXT");
58 +{{/code}}
59 +
60 +
61 +(% class="box infomessage" %)
62 +(((
63 +**{{id name="_Toc2"/}}addTitle** - добавление заголовка в документ MS Word (DOCX)
64 +)))
65 +
66 +* **file.addTitle(Текст)** - с базовыми настройками
67 +* **file.addTitle(Текст, Размер шрифта, жирный/не жирный)** - с указанием размера шрифта, и указанием жирный/простой
68 +
69 +**Примеры использования:**
70 +
71 +{{code language="java"}}
72 +addTitle("Заголовок")
73 +{{/code}}
74 +
75 +{{code language="java"}}
76 +addTitle("Заголовок", 30, true)
77 +{{/code}}
78 +
79 +
80 +(% class="box infomessage" %)
81 +(((
82 +**{{id name="_Toc3"/}}addParagraph** - функция создания нового параграфа в документе MS Word (DOCX)
83 +)))
84 +
85 +* **file.addParagraph("Текст")** - с базовыми настройками
86 +* **file.addParagraph("Текст", размер отступа, размер шрифта, жирный/не жирный)** - с указанием отступа, размера шрифта, и указанием жирный/простой
87 +
88 +**Примеры использования:**
89 +
90 +{{code language="java"}}
91 +addParagraph("Текст")
92 +addText("Продолжение текста")
93 +{{/code}}
94 +
95 +{{code language="java"}}
96 +addParagraph("Текст", 20, 10, true)
97 +addText("Продолжение текста")
98 +{{/code}}
99 +
100 +
101 +(% class="box infomessage" %)
102 +(((
103 +**{{id name="_Toc4"/}}addCenterParagraph** - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста посередине и с указанием размера шрифта, и указанием жирный/простой
104 +)))
105 +
106 +* **file.addCenterParagraph("текст", размер шрифта, жирный/не жирный)**
107 +
108 +**Пример использования:**
109 +
110 +
111 +{{code language="java"}}
112 +addCenterParagraph("Текст", 10, true)
113 +{{/code}}
114 +
115 +
116 +(% class="box infomessage" %)
117 +(((
118 +**{{id name="_Toc5"/}}addRightParagraph** - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста справа и с указанием размера шрифта, и указанием жирный/простой
119 +)))
120 +
121 +* **file.addRightParagraph("текст", размер шрифта, жирный/не жирный)**
122 +
123 +**Пример использования:**
124 +
125 +
126 +{{code language="java"}}
127 +addRightParagraph("Текст", 10, true)
128 +{{/code}}
129 +
130 +
131 +(% class="box infomessage" %)
132 +(((
133 +**{{id name="_Toc6"/}}addLeftParagraph** - функция создания нового параграфа в документе MS Word (DOCX) с размещением текста слева и с указанием размера шрифта, и указанием жирный/простой
134 +)))
135 +
136 +* **file.addLeftParagraph("текст", размер шрифта, жирный/не жирный)**
137 +
138 +**Пример использования:**
139 +
140 +
141 +{{code language="java"}}
142 +addLeftParagraph("Текст", 10, true)
143 +{{/code}}
144 +
145 +
146 +(% class="box infomessage" %)
147 +(((
148 +**{{id name="_Toc7"/}}addTextBreak** - функция перевода каретки указателя на новую строку в документе MS Word (DOCX)
149 +)))
150 +
151 +* **file.addTextBreak()**
152 +
153 +**Пример использования:**
154 +
155 +
156 +{{code language="java"}}
157 +file.addTextBreak()
158 +{{/code}}
159 +
160 +
161 +(% class="box infomessage" %)
162 +(((
163 +**{{id name="_Toc8"/}}addText** - функция добавления строки с данным в документ MS Word (DOCX)
164 +)))
165 +
166 +* **file.addText(“Строка, которая появится в файле”, размер шрифта, жирный/не жирный)**
167 +* **file.addText(“Строка, которая появится в файле”)**
168 +* **file.addText(long longValue)** - добавление числа типа long в строковом представлении
169 +* **file.addText(double doubleValue)** - добавление числа типа double в строковом представлении
170 +
171 +**Примеры использования:**
172 +
173 +{{code language="java"}}
174 +file.addText("Строка, которая появится в файле"), 10, false)
175 +{{/code}}
176 +
177 +{{code language="java"}}
178 +file.addText("Строка, которая появится в файле")
179 +{{/code}}
180 +
181 +{{code language="java"}}
182 +{{/code}}
183 +
184 +{{code language="java"}}
185 +{{/code}}
186 +
187 +
188 +(% class="box infomessage" %)
189 +(((
190 +**{{id name="_Toc9"/}}addHeaderRow **- функция которая формирует заголовок на странице эксель файла
191 +)))
192 +
193 +* **file.addHeaderRow(“Заголовок 1”, “Заголовок 2”,....”Заголовок N”)**
194 +
195 +**Пример использования:**
196 +
197 +
198 +{{code language="java"}}
199 +file.addHeaderRow("Код", "Название", "Ед. изм.", "Кол. во.");
200 +{{/code}}
201 +
202 +
203 +(% class="box infomessage" %)
204 +(((
205 +**{{id name="_Toc10"/}}addRow** - функция которая формирует строку на странице эксель файла
206 +)))
207 +
208 +* **file.addRow(“Данные 1”, “Данные 2”,....”Данные N”)**
209 +
210 +**Пример использования:**
211 +
212 +
213 +{{code language="java"}}
214 +file.addRow( row.get("code"), row.get("title"), row.get("units"), row.get("quantityAll"));
215 +{{/code}}
216 +
217 +
218 +(% class="box infomessage" %)
219 +(((
220 +**{{id name="_Toc15"/}}insertRow** - функция которая вставляет строку на указанную позицию на странице эксель файла
221 +)))
222 +
223 +* **file.insertRow(индекс, “Данные 1”, “Данные 2”,....”Данные N”)**
224 +
225 +**Пример использования:**
226 +
227 +{{code language="java"}}
228 +file.insertRow(6, "Вставленная строка", 1 , 2.453, new Date(), Calendar.getInstance());
229 +{{/code}}
230 +
231 +
232 +(% class="box infomessage" %)
233 +(((
234 +**{{id name="_Toc16"/}}replaceRow** - функция которая замещает строку на указанной позицию на странице эксель файла
235 +)))
236 +
237 +* **file.replaceRow(индекс, “Данные 1”, “Данные 2”,....”Данные N”)**
238 +
239 +**Пример использования:**
240 +
241 +{{code language="java"}}
242 +file.replaceRow(7, "Замещенная строка", 4 , 5.678, new Date(), Calendar.getInstance());
243 +{{/code}}
244 +
245 +
246 +(% class="box infomessage" %)
247 +(((
248 +**{{id name="_Toc17"/}}deleteRow** - функция которая удаляет строку с указанной позиции на странице эксель файла
249 +)))
250 +
251 +* **file.deleteRow(индекс)**
252 +
253 +**Пример использования:**
254 +
255 +{{code language="java"}}
256 +file.deleteRow(3);
257 +{{/code}}
258 +
259 +
260 +(% class="box infomessage" %)
261 +(((
262 +**{{id name="_Toc18"/}}autoSizeColumns** - функция установки автоматической ширины колонок страницы эксель файла
263 +)))
264 +
265 +* **file.autoSizeColumns()** - для всех колонок на странице
266 +* **file.autoSizeColumns(индекс колонки)** - для конкретной колонки на странице
267 +
268 +**Пример использования:**
269 +
270 +{{code language="java"}}
271 +file.autoSizeColumns()
272 +{{/code}}
273 +
274 +
275 +(% class="box infomessage" %)
276 +(((
277 +**{{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/)]]
278 +)))
279 +
280 +(% class="box infomessage" %)
281 +(((
282 +**{{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/)]]
283 +)))
284 +
285 +(% class="box infomessage" %)
286 +(((
287 +**{{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/)
288 +)))
289 +
290 +(% class="box infomessage" %)
291 +(((
292 +**{{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/)
293 +)))
294 +
295 +**Общий пример:**
296 +
297 +{{code language="java"}}
298 +def start() {
299 + file.create("XLS");
300 + file.addHeaderRow("Код", "Название", "Ед. изм.", "Кол. во.", "Колонка 5"..);
301 + def data = params.get("data");
302 + for (int i in 0..data.size()-1) {
303 + def row = data.get(i);
304 + file.addRow(
305 + row.get("code"),
306 + row.get("title"),
307 + row.get("units"),
308 + row.get("quantityAll"), );
309 + }
310 +}
311 +{{/code}}
312 +
313 +
314 +(% class="box infomessage" %)
315 +(((
316 +**{{id name="_Toc19"/}}templateToPdf** - генерация pdf документа из шаблона
317 +)))
318 +
319 +* **[[template>>doc:API.Плагин API.template.WebHome]].add(“название тега в шаблоне”, данные)**
320 +* **file.templateToPdf(template)**
321 +
322 +**Пример использования:**
323 +
324 +{{code language="java"}}
325 +def project = bim.getProject()
326 +template.add("project", project)
327 +file.templateToPdf(template)
328 +{{/code}}
329 +
330 +
331 +(% class="box infomessage" %)
332 +(((
333 +**{{id name="_Toc20"/}}collisionsToPdf** - генерация pdf по списку коллизий
334 +)))
335 +
336 +* **file.collisionsToPdf(template, list, params):**
337 +* **template** - необязательный параметр (указывается в том случае, если таблицу коллизий необходимо добавить в конец какого-либо шаблона). Если не указывать, то создается новый пустой файл, в который заносится таблица коллизий
338 +* **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]]
339 +* **params** - необязательный параметр (описание ниже)
340 +
341 + Параметры при генерации отчета по коллизиям:
342 + pageSize - 1, 2, 3 или 4 (соответствует размеру страницы А1, А2, А3, А4)
343 + fontSize - int значение размера шрифта (в pt)
344 +
345 + **Пример использования:**
346 +
347 +{{code language="java"}}
348 + def param = [:]
349 + param.add("pageSize", 3)
350 + param.add("fontSize", 12)
351 +{{/code}}
352 +
353 + По умолчанию параметры принимают следующие значения:
354 + pageSize - 4
355 + fontSize - 8
356 +
357 +
358 +**Пример использования:**
359 +
360 +{{code language="java"}}
361 +def collisionList = bim.getCollisionsForReport()
362 + def param = [:]
363 + param.add("pageSize", 3)
364 + param.add("fontSize", 12)
365 + file.collisionsToPdf(template, collisionList, param)
366 +{{/code}}
367 +
368 +{{code language="java"}}
369 + def collisionList = bim.getCollisionsForReport()
370 + file.collisionsToPdf(collisionList)
371 +{{/code}}
372 +
373 +
374 +(% class="box infomessage" %)
375 +(((
376 +**{{id name="_Toc21"/}}attributesToPdf** - генерация pdf по списку атрибутов
377 +)))
378 +
379 +* **file.attributesToPdf(template, list, params)**
380 +
381 +(% class="box infomessage" %)
382 +(((
383 +**{{id name="_Toc30"/}}addAreaBreak** - добавление разрыва области PDF документа
384 +)))
385 +
386 +* **file.addAreaBreak() **
387 +
388 +**Пример использования:**
389 +
390 +{{code language="java"}}{{/code}}
391 +
392 +(% class="box infomessage" %)
393 +(((
394 +**{{id name="_Toc31"/}}addImage** - добавление изображения в документ Ms Word(DOCX) или PDF, ести тип файла другой, запись идет в поток
395 +)))
396 +
397 +* **file.addImage(byte[] imageFile) **
398 +
399 +**Пример использования:**
400 +
401 +{{code language="java"}}{{/code}}
402 +
403 +(% class="box infomessage" %)
404 +(((
405 +**{{id name="_Toc32"/}}addDrawing** - добавление чертежа в документ MS Word (DOCX) или PDF, метод принимает на вход массив байтов, содержащий чертеж и двумерный массив, содержащий координаты точек чертежа
406 +)))
407 +
408 +* **file.addDrawing(byte[] drawingPage, double[][] arr) **
409 +
410 +**Пример использования:**
411 +
412 +{{code language="java"}}{{/code}}
413 +
414 +(% class="box infomessage" %)
415 +(((
416 +**{{id name="_Toc22"/}}addCell** - создание ячейки в указанный столбец
417 +)))
418 +
419 +* **file.addCell(int indexColumn, int indexRow, Object value) ** - создание ячейки в указанный столбец и строку текущего листа таблицы Excel (XLSX, XLS) с указанным значением
420 +* **file.addCell(int indexColumn, Object value) ** - создание ячейки в указанный столбец в конец строки текущего листа таблицы Excel (XLSX, XLS) с указанным значением
421 +
422 +**Пример использования:**
423 +
424 +{{code language="java"}}{{/code}}
425 +
426 +(% class="box infomessage" %)
427 +(((
428 +**{{id name="_Toc23"/}}replaceRow** - замена значений указанной строки новыми значениями текущего листа таблицыи Excel (XLSX, XLS)
429 +)))
430 +
431 +* **file.replaceRow(int indexRow, Object... inp) **
432 +
433 +**Пример использования:**
434 +
435 +{{code language="java"}}{{/code}}
436 +
437 +(% class="box infomessage" %)
438 +(((
439 +**{{id name="_Toc24"/}}sortASC** - сортировка таблицы документа Excel (XLSX, XLS) в порядке возрастания по значению в указанном столбце
440 +)))
441 +
442 +* **file.sortASC(int indexColumn) **
443 +
444 +**Пример использования:**
445 +
446 +{{code language="java"}}{{/code}}
447 +
448 +(% class="box infomessage" %)
449 +(((
450 +**{{id name="_Toc25"/}}sortDESC** - сортировка таблицы документа Excel (XLSX, XLS) в порядке убывания по значению в указанном столбце
451 +)))
452 +
453 +* **file.sortDESC(int indexColumn) **
454 +
455 +**Пример использования:**
456 +
457 +{{code language="java"}}{{/code}}
458 +
459 +(% class="box infomessage" %)
460 +(((
461 +**{{id name="_Toc26"/}}saveTempTable** - сохранение значений из потока в таблицу Excel (XLSX, XLS), находящейся по указанному пути
462 +)))
463 +
464 +* **file.saveTempTable(String tablesTempLocation) **
465 +
466 +**Пример использования:**
467 +
468 +{{code language="java"}}{{/code}}
469 +
470 +(% class="box infomessage" %)
471 +(((
472 +**{{id name="_Toc27"/}}xlsxToJSON** - преобразование содержимого документа Excel (XLSX, XLS)
473 +)))
474 +
475 +* **file.xlsxToJSON(int page, int pageSize) ** - преобразование содержимого документа Excel (XLSX, XLS) с указанной страницы, с указанным количеством строк в формат JSON
476 +* **file.xlsxToJSON(String tablesTempLocation, int page, int pageSize) ** - преобразование содержимого документа Excel (XLSX, XLS), находящегося по указанному пути в формате JSON, с учетом указанной страницы и указанных количество строк
477 +
478 +**Пример использования:**
479 +
480 +{{code language="java"}}{{/code}}
481 +
482 +(% class="box infomessage" %)
483 +(((
484 +**{{id name="_Toc28"/}}getResource** - метод возвращает объект Ms Word (DOCX), PDF, текстовый файл (TXT) или Excel (XLSX, XLS)
485 +)))
486 +
487 +* **file.getResource() **
488 +
489 +**Пример использования:**
490 +
491 +{{code language="java"}}{{/code}}
492 +
493 +(% class="box infomessage" %)
494 +(((
495 +**{{id name="_Toc29"/}}makeGrandSmetaExelTable** - создание документа Excel (XLSX, XLS) для отчета о гранд-смете
496 +)))
497 +
498 +* **file.makeGrandSmetaExelTable() **
499 +
500 +**Пример использования:**
501 +
502 +{{code language="java"}}{{/code}}
503 +
504 +**Наименование используемых строк row.get:**
505 +
506 +
507 +(((
508 +(% cellspacing="0" style="border-collapse:collapse; border:none; table-layout:fixed; width:850px" %)
509 +|(% 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" %)(((
510 +(% style="line-height:1.2" %)
511 +(% 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
512 +)))|(% 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" %)(((
513 +(% style="line-height:1.2" %)
514 +(% 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" %)Позиция
515 +)))
516 +|(% 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" %)(((
517 +(% style="line-height:1.2" %)
518 +(% 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
519 +)))|(% 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" %)(((
520 +(% style="line-height:1.2" %)
521 +(% 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" %)Обоснование
522 +)))
523 +|(% 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" %)(((
524 +(% style="line-height:1.2" %)
525 +(% 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
526 +)))|(% 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" %)(((
527 +(% style="line-height:1.2" %)
528 +(% 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" %)Наименование
529 +)))
530 +|(% 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" %)(((
531 +(% style="line-height:1.2" %)
532 +(% 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
533 +)))|(% 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" %)(((
534 +(% style="line-height:1.2" %)
535 +(% 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" %)Единицы измерений
536 +)))
537 +|(% 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" %)Единица измерения
538 +|(% 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" %)(((
539 +(% style="line-height:1.2" %)
540 +(% 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
541 +)))|(% 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" %)(((
542 +(% style="line-height:1.2" %)
543 +(% 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" %)Количество на ед.
544 +)))
545 +|(% 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" %)(((
546 +(% style="line-height:1.2" %)
547 +(% 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
548 +)))|(% 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" %)(((
549 +(% style="line-height:1.2" %)
550 +(% 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" %)Количество всего
551 +)))
552 +|(% 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" %)Количество
553 +|(% 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" %)(((
554 +(% style="line-height:1.2" %)
555 +(% 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
556 +)))|(% 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" %)(((
557 +(% style="line-height:1.2" %)
558 +(% 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" %)Стоимость единицы всего
559 +)))
560 +|(% 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" %)(((
561 +(% style="line-height:1.2" %)
562 +(% 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
563 +)))|(% 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" %)(((
564 +(% style="line-height:1.2" %)
565 +(% 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" %)Стоимость единицы Осн. з/п
566 +)))
567 +|(% 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" %)(((
568 +(% style="line-height:1.2" %)
569 +(% 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
570 +)))|(% 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" %)(((
571 +(% style="line-height:1.2" %)
572 +(% 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" %)Стоимость единицы Эк.маш
573 +)))
574 +|(% 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" %)(((
575 +(% style="line-height:1.2" %)
576 +(% 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
577 +)))|(% 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" %)(((
578 +(% style="line-height:1.2" %)
579 +(% 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" %)Стоимость единицы З/пМех
580 +)))
581 +|(% 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" %)(((
582 +(% style="line-height:1.2" %)
583 +(% 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
584 +)))|(% 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" %)(((
585 +(% style="line-height:1.2" %)
586 +(% 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" %)Стоимость единицы Мат
587 +)))
588 +)))