a:2:{s:4:"base";a:1:{i:207;a:4:{s:4:"type";s:4:"part";s:4:"name";s:21:"Импорт из CSV";s:5:"sname";s:8:"from_csv";s:3:"cat";s:3:"CSV";}}s:5:"parts";a:2:{s:32:"43f9458d4e027cc37b3c6c805290d740";a:7:{s:9:"part_proc";s:1:"2";s:10:"part_sname";s:8:"from_csv";s:8:"part_uin";s:32:"43f9458d4e027cc37b3c6c805290d740";s:9:"part_name";s:21:"Импорт из CSV";s:10:"part_about";s:58:"Вставьте в шапку нужной таблицы";s:9:"part_date";s:19:"2019-08-10 16:48:31";s:4:"data";s:1887:"Импорт из CSV|/*/|from_csv|/*/|[if post.csv_file] [i=0] [tree file.open(post.csv_file).explode(#10)] [cols=value.trim(#13).explode($separator)] [addrow ctbl] [row=li] [tree $cols] [if $col_var[index]] [sname=$col_var[index]] [col=$row.table.col($sname)] [if $col.type==is_link] [tbl=$col.linked] [*rows=$tbl.rows] [o=$rows.get(value)*] [$row.col($sname).set( func.find_or_insert(table=$tbl, value=value) )] [*$row.col($sname).set($o)*] [else] [$row.col($sname).set(value)] [/if] [/if] [/tree] [$i++] [/tree] [post.csv_file='']

Импортировано: [$i]

[/if]
[a_inputs] CSV файл:

 
|/*/|0|/*/|2|/*/|2^-!-?CSV^-!-?052b72b4be88409a96a7a0c0e27f2808^-!-?^-!-?|/*/|2|/*/||/*/||/*/|35|/*/||/*/||/*/||/*/||/*/||/*/||/*/|2|/*/|0|/*/||/*/||/*/||/*/||/*/||/*/|0000-00-00|/*/||/*/||/*/|0000-00-00|/*/|00:00:00|/*/||/*/||/*/||/*/||/*/|Вставьте в шапку нужной таблицы|/*/||/*/||/*/||/*/|43f9458d4e027cc37b3c6c805290d740|/*/||/*/|-1|/*/|0|/*/||/*/||/*/||/*/|2019-08-10 22:11:20/@/?/@/479|/*/|Связь столбца с переменной таблицы|/*/|col_var|/*/||/*/|1|/*/|0|/*/|7|/*/||/*/|5|/*/||/*/|9632c0fcce247e1e5c369438bb4adef6|/*/|0/#/?/#/480|/*/|Разделитель|/*/|separator|/*/|;|/*/|0|/*/|0|/*/|0|/*/||/*/|5|/*/||/*/|81d80c0650d1c620f872cb2890294700|/*/|0";}s:32:"43630ac1bdd0dfe68bec277e8db9bc8f";a:7:{s:9:"part_proc";s:1:"0";s:10:"part_sname";s:14:"find_or_insert";s:8:"part_uin";s:32:"43630ac1bdd0dfe68bec277e8db9bc8f";s:9:"part_name";s:34:"Найти или вставить";s:10:"part_about";s:149:"Находит объект в указанной таблице, либо добавляет новый объект и возвращает его.";s:9:"part_date";s:19:"2016-04-13 14:14:25";s:4:"data";s:1489:"Найти или вставить|/*/|find_or_insert|/*/|[if !$value] [return false] [/if] [t=''] [if $field] [t=$table.get($field,$value)] [else] [t=$table.get($value)] [/if] [if $t] [return $t] [/if] [start_operation] [if $field] [$field->$value] [else] [$table.major.sname->$value] [/if] [addrow $table] [if !cancel?] [return li] [else] [return false] [/if]|/*/|0|/*/|2|/*/|0^-!-?Работа с объектами^-!-?b6d6a180a5f1ed0b3b92361de5f782fd^-!-?^-!-?|/*/|0|/*/||/*/||/*/|27|/*/||/*/||/*/||/*/||/*/||/*/||/*/|0|/*/|0|/*/||/*/||/*/||/*/||/*/||/*/|0000-00-00|/*/||/*/||/*/|0000-00-00|/*/|00:00:00|/*/||/*/||/*/||/*/||/*/|Находит объект в указанной таблице, либо добавляет новый объект и возвращает его.|/*/||/*/||/*/||/*/|43630ac1bdd0dfe68bec277e8db9bc8f|/*/||/*/|-1|/*/|0|/*/||/*/||/*/||/*/|2017-03-30 09:10:00/@/?/@/362|/*/|Таблица-приёмник|/*/|table|/*/||/*/|0|/*/|0|/*/|8|/*/||/*/|5|/*/||/*/|9d705b429829754eac9fd6011c5693a9|/*/|0/#/?/#/363|/*/|Значение, по которому осуществляется поиск (или добавление)|/*/|value|/*/||/*/|0|/*/|0|/*/|0|/*/||/*/|5|/*/||/*/|a81b0140821b9f6743df25182a520a84|/*/|0/#/?/#/364|/*/|Поле для поиска (если не указано - поиск по главному полю)|/*/|field|/*/||/*/|0|/*/|0|/*/|7|/*/||/*/|5|/*/||/*/|273cbecf84d29776288626b7f8eeed5a|/*/|0";}}}