0.18.1 (fix - корректный экспорт и импорт текстовых данных)

This commit is contained in:
2026-06-08 21:53:15 +03:00
parent eb11ad8672
commit 358a238f4e
5 changed files with 15 additions and 7 deletions

10
app.R
View File

@@ -1020,7 +1020,8 @@ server <- function(input, output, session) {
date_columns <- subset(scheme, form_type == "date", 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 |>
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({{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))
@@ -1238,7 +1239,8 @@ server <- function(input, output, session) {
date_columns <- subset(scheme, form_type == "date", 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"
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({{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))))