0.18.1 (fix - корректный экспорт и импорт текстовых данных)
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
|
### 0.18.1 (2026-06-08)
|
||||||
|
##### fix
|
||||||
|
- правильный экспорт текстовых данных
|
||||||
|
|
||||||
### 0.18.0 (2026-06-06)
|
### 0.18.0 (2026-06-06)
|
||||||
##### features
|
##### features
|
||||||
- возможность отрганичить доступ к базам данных для отдельных пользователей
|
- возможность отрганичить доступ к базам данных для отдельных пользователей
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ git clone https://gitea.madelirihs.ru/madeliri/shiny_form.git
|
|||||||
|
|
||||||
Восстановление окружения
|
Восстановление окружения
|
||||||
```r
|
```r
|
||||||
|
renv::activate()
|
||||||
renv::init()
|
renv::init()
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
10
app.R
10
app.R
@@ -1020,7 +1020,8 @@ server <- function(input, output, session) {
|
|||||||
|
|
||||||
date_columns <- subset(scheme, form_type == "date", form_id, drop = TRUE)
|
date_columns <- subset(scheme, form_type == "date", form_id, drop = TRUE)
|
||||||
number_columns <- subset(scheme, form_type == "number", form_id, drop = TRUE)
|
number_columns <- subset(scheme, form_type == "number", form_id, drop = TRUE)
|
||||||
other_cols <- which(colnames(df) %in% c(date_columns, number_columns))
|
# other_cols <- which(colnames(df) %in% c(date_columns, number_columns))
|
||||||
|
other_cols <- colnames(df)[!(colnames(df) %in% c(date_columns, number_columns))]
|
||||||
|
|
||||||
df <- df |>
|
df <- df |>
|
||||||
dplyr::mutate(
|
dplyr::mutate(
|
||||||
@@ -1028,7 +1029,7 @@ server <- function(input, output, session) {
|
|||||||
dplyr::across(tidyselect::all_of({{date_columns}}), as.Date),
|
dplyr::across(tidyselect::all_of({{date_columns}}), as.Date),
|
||||||
# числа - к единому формату десятичных значений
|
# числа - к единому формату десятичных значений
|
||||||
dplyr::across(tidyselect::all_of({{number_columns}}), ~ gsub("\\.", "," , .x)),
|
dplyr::across(tidyselect::all_of({{number_columns}}), ~ gsub("\\.", "," , .x)),
|
||||||
dplyr::across(tidyselect::all_of({{other_cols}}), as.character)
|
dplyr::across(tidyselect::all_of({{other_cols}}), \(x) dplyr::if_else(x == "", as.character(NA), as.character(x)))
|
||||||
) |>
|
) |>
|
||||||
# очистка от пустых ключей
|
# очистка от пустых ключей
|
||||||
dplyr::filter(!is.na(mhcs()$get_main_key_id))
|
dplyr::filter(!is.na(mhcs()$get_main_key_id))
|
||||||
@@ -1238,7 +1239,8 @@ server <- function(input, output, session) {
|
|||||||
|
|
||||||
date_columns <- subset(scheme, form_type == "date", form_id, drop = TRUE)
|
date_columns <- subset(scheme, form_type == "date", form_id, drop = TRUE)
|
||||||
number_columns <- subset(scheme, form_type == "number", form_id, drop = TRUE)
|
number_columns <- subset(scheme, form_type == "number", form_id, drop = TRUE)
|
||||||
other_cols <- which(colnames(df) %in% c(date_columns, number_columns))
|
# other_cols <- which(colnames(df) %in% c(date_columns, number_columns))
|
||||||
|
other_cols <- colnames(df)[!(colnames(df) %in% c(date_columns, number_columns))]
|
||||||
|
|
||||||
# функция для преобразование числовых значений и сохранения "NA"
|
# функция для преобразование числовых значений и сохранения "NA"
|
||||||
num_converter <- function(old_col) {
|
num_converter <- function(old_col) {
|
||||||
@@ -1258,7 +1260,7 @@ server <- function(input, output, session) {
|
|||||||
# даты - к единому формату
|
# даты - к единому формату
|
||||||
dplyr::across(tidyselect::all_of({{date_columns}}), \(x) purrr::map_chr(x, db$excel_to_db_dates_converter)),
|
dplyr::across(tidyselect::all_of({{date_columns}}), \(x) purrr::map_chr(x, db$excel_to_db_dates_converter)),
|
||||||
dplyr::across(tidyselect::all_of({{number_columns}}), num_converter),
|
dplyr::across(tidyselect::all_of({{number_columns}}), num_converter),
|
||||||
dplyr::across(tidyselect::all_of({{other_cols}}), as.character)
|
dplyr::across(tidyselect::all_of({{other_cols}}), \(x) dplyr::if_else(x == "", as.character(NA), as.character(x)))
|
||||||
) |>
|
) |>
|
||||||
select(all_of(unique(c(main_key_id, scheme$form_id))))
|
select(all_of(unique(c(main_key_id, scheme$form_id))))
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
default:
|
default:
|
||||||
form_app_version: 0.18.0
|
form_app_version: 0.18.1
|
||||||
form_id: formy
|
form_id: formy
|
||||||
form_name: FORMY
|
form_name: FORMY
|
||||||
@@ -200,7 +200,8 @@ write_df_to_db = function(
|
|||||||
|
|
||||||
date_columns <- subset(scheme, form_type == "date", form_id, drop = TRUE)
|
date_columns <- subset(scheme, form_type == "date", form_id, drop = TRUE)
|
||||||
number_columns <- subset(scheme, form_type == "number", form_id, drop = TRUE)
|
number_columns <- subset(scheme, form_type == "number", form_id, drop = TRUE)
|
||||||
other_cols <- which(colnames(df) %in% c(date_columns, number_columns))
|
# other_cols <- which(colnames(df) %in% c(date_columns, number_columns))
|
||||||
|
other_cols <- colnames(df)[!(colnames(df) %in% c(date_columns, number_columns))]
|
||||||
|
|
||||||
df <- df |>
|
df <- df |>
|
||||||
dplyr::mutate(
|
dplyr::mutate(
|
||||||
@@ -208,7 +209,7 @@ write_df_to_db = function(
|
|||||||
dplyr::across(tidyselect::all_of({{date_columns}}), \(x) purrr::map_chr(x, excel_to_db_dates_converter)),
|
dplyr::across(tidyselect::all_of({{date_columns}}), \(x) purrr::map_chr(x, excel_to_db_dates_converter)),
|
||||||
# числа - к единому формату десятичных значений
|
# числа - к единому формату десятичных значений
|
||||||
dplyr::across(tidyselect::all_of({{number_columns}}), ~ gsub("\\.", "," , .x)),
|
dplyr::across(tidyselect::all_of({{number_columns}}), ~ gsub("\\.", "," , .x)),
|
||||||
dplyr::across(tidyselect::all_of({{other_cols}}), as.character),
|
dplyr::across(tidyselect::all_of({{other_cols}}), \(x) dplyr::if_else(x == "", as.character(NA), as.character(x)))
|
||||||
)
|
)
|
||||||
|
|
||||||
if (table_name == "main") {
|
if (table_name == "main") {
|
||||||
|
|||||||
Reference in New Issue
Block a user