|   |   | 
| 
 | Региональные установки информационной базы не работаю | ☑ | ||
|---|---|---|---|---|
| 0
    
        Tester 14.02.19✎ 14:19 | 
        Всем привет.
 Есть задача по выгрузке большого объема информации из 1С в файлы csv, в которых числа должны быть без разделителей триад и с точкой вместо запятой. Не могу настроить параметры базы для своего сеанса. Для других пользователей должен остаться старый формат. https://d.radikal.ru/d43/1902/ee/8edc7121032c.png 1С на сервере терминальном, подключаюсь на сервер по rdp напрямую. Никто не сталкивался с таким? | |||
| 1
    
        palsergeich 14.02.19✎ 14:22 | 
        Когда пихаешь число в цсв используй функцию формат явно.     | |||
| 2
    
        palsergeich 14.02.19✎ 14:29 | 
        Формат(число,"ЧГ=0")     | |||
| 3
    
        palsergeich 14.02.19✎ 14:36 | 
        Формат(число,"ЧРД=.; ЧГ=0")
 Разделитель точка и без неразрывных пробелов по триадам | |||
| 4
    
        Tester 14.02.19✎ 14:37 | 
        (3) спасибо, так и делаю, то т.к. вызовов функции очень много (миллионы), то ее выполнение тратит время.     | |||
| 5
    
        palsergeich 14.02.19✎ 14:41 | 
        (4) друг, когда ты в текстовый файл добавляет число - функция формат вызывается неявно, форматная строка берется из региональных настроек 
 Боюсь ничего ты не выиграешь в итоге. Просто так ты в замере увидишь это строку, а при неявном - нет, только сумма всех действий в итоге будет меньше по факту потрачено. На таких примерах очень хорошо видно, когда на клиенте по замерам сумма 2 секунды, а по факту затрачено 10.) | |||
| 6
    
        Tester 14.02.19✎ 14:44 | 
        (5) это что-то новенькое, не знал. Если это действительно так, то выигрыша не будет. Но вопрос исходный не в этом, а почему все-таки не работают региональные настройки.     | |||
| 7
    
        DrWatson 14.02.19✎ 14:45 | 
        Попробуй явно указать код локализации сеанса - /VL <код локализации сеанса>     | |||
| 8
    
        sieben 14.02.19✎ 14:49 | 
        (6) Потому что ты путаешь локализацию сеанса и региональные установки базы.     | |||
| 9
    
        Tester 15.02.19✎ 11:55 | 
        В общем так и не добился толку.
 Помогает только снятие флага "Использовать региональные настройки текущего сеанса" и установка нужных параметров. Но тогда настройки применяются для всех пользователей, работающих с разных терминалов. При установленном флаге изменение параметров ОС не влияет на формат 1С. Установка кода локализации сеанса, например, в конфигураторе и запуск 1С работает. Но при этом меняется и формат дат в том числе, тогда как мне надо код локализации ru_RU, но только с измененном форматом числе, а не дат. Ерунда какая-то... | |||
| 10
    
        palsergeich 15.02.19✎ 14:06 | 
        (9) Когда котику делать нечего он...     | |||
| 11
    
        Tester 15.02.19✎ 15:20 | 
        (10) Он пытается как-то ускорить обработку, в которой Формат(число,"ЧРД=.; ЧГ=0") вызывается миллионы раз :(     | |||
| 12
    
        Вафель 15.02.19✎ 15:22 | 
        (11) может проблема не в формате, а вто м что ты например строки складываешь?     | |||
| 13
    
        Ёпрст гуру 15.02.19✎ 15:27 | 
        а свой scv каким объектом хоть создаешь ?
 Может, того, через FSO делать ? | |||
| 14
    
        Tester 22.02.19✎ 10:11 | 
        (12) (13) Забил в итоге, так и не решив проблему.     | |||
| 15
    
        Ёпрст гуру 22.02.19✎ 11:05 | 
        (14) через какой объект делаешь свой текстовый файлик ?     | |||
| 16
    
        Ёпрст гуру 22.02.19✎ 11:08 | 
        может того, через  Новый COMОбъект("Scripting.FileSystemObject") попробовать лепить ?     | |||
| 17
    
        palsergeich 22.02.19✎ 11:13 | 
        (11) у тебя там ещё дохрена строк миллионы раз вызывается.
 Реально какой процент от общего вносит формат? | |||
| 18
    
        Kigo_Kigo 22.02.19✎ 11:13 | 
        Как вариант, просто попробовать перед записью строки ее форматнуть СтрЗаменить(СтрокаCSV, "РаделительТриад",""); СтрЗаменить(СтрокаCSV, ",",".")     | |||
| 19
    
        palsergeich 22.02.19✎ 11:17 | 
        (18) стр заменить тоже не бесплатный.
 + Неразрывный пробел может быть не только в числовых значениях, но и в строковых изначально, что приведет к искажению данных | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |