Имя: Пароль:
1C
1С v8
Linux <> Windows и распределенная база ошибка синхронизации
,
0 Alexis999
 
27.03.15
12:51
При синхронизации данных возникает ошибка как бы файл обмена не существует, как я заметил это происходит из-за того что в Linux имя файла внутри архива создается в кодировке cp866 (DOS 866), а со стороны Windows в ср1251 (windows 1251) или UTF -8, как быть или это проблема в самой платформе?
Linux:
толстый клиент, версия платформы 8.3.5.1248
Windows:
толстый клиент, версия платформы 8.3.5.1460

Обмен происходит по EMAIL, создается архив с паролем
Само имя файла архива создается в нормальной кодировке, но внутри Linux ее изменяет и я так думаю, что он соответственно не понимает кодировку файла созданного на Windows.


Сейчас произвел синхронизацию без сжатия, прошла без проблем, т.е. проблема с архиватором.
1 pumbaEO
 
27.03.15
12:55
pishi na imena v latin.
2 Alexis999
 
27.03.15
13:05
ну это понятно, но уже база на главном узле имеет префикс на кириллице и и при смене его на латиницу,остается старый префикс
3 Alexis999
 
27.03.15
13:21
как изменить на новый?
4 dmrjan
 
27.03.15
13:40
Судя по всему - у меня аналогичная проблема - Проблема с распаковкой в CentOS файла, созданного в 1с 8.3
5 dmrjan
 
27.03.15
13:42
(3) Решается пересборкой zip и unzip на linux. http://www.opennet.ru/tips/info/2494.shtml
6 bolero
 
27.03.15
15:04
(5) я не сторонник такого подхода, завтра решишь переехать на другой сервер, а там другая версия системы и патч твой не подойдет, нужно пересобирать -> потеря времени

или просто при апдейте затрется твоя версия
7 mistеr
 
27.03.15
15:15
(6) Для этого есть админы.
8 Alexis999
 
27.03.15
15:59
т.е. как я понял надо было создавать либо с цифровыми либо на латинице префиксы, тогда как поменять , префикс, но с другой стороны это маразм от 1С, подразумевающей что как бы один сервер и клиенты.
9 dmrjan
 
28.03.15
08:55
(8) Как вариант - поднимать новые сервера на Altlinux, где проблема с кодировкой решена. Потому как после появления обновления для zip и unzip под CentOS баг вернется. Теперь я понимаю Олега Бартунова, когда он долго не мог добиться принятия в PostgreSQL UTF8.
10 Fragster
 
гуру
28.03.15
09:15
архивируй 7z
11 dmrjan
 
28.03.15
10:19
(10) 1С вроде как не позволяет выбирать методы архивирования. Да и у 7zip в linux те же проблемы с кодировкой.
12 ask76
 
28.03.15
10:29
Эта проблема и на 8.2 существует. Просто переименуйте префиксы на латиницу. Нигде больше кроме обменов префиксы узлов не используются.
13 dmrjan
 
28.03.15
10:56
(12) Вот именно с обменами проблема и идет, а программист 1с говорит, что название файла тесно связано с префиксами узлов и заменить префиксы в рабочей базе крайне затруднительно.
14 mistеr
 
28.03.15
11:11
Префиксы узлов, кроме обмена, используются в номерах документов. Заменить их в рабочей базе совсем не трудно, ваш программист обманывает. Конечно, он должен проверить, что на них не завязано что-то еще. Ну и с пользователями согласовать.
15 Fragster
 
гуру
28.03.15
14:11
(11) архивируй с помощью ЗапуститьПриложение. И да, у 7z в собственном формате, ЕМНИП имена в utf8
16 Alexis999
 
29.03.15
12:03
У меня есть подозрение, что 1С использует собственную библиотеку для архивирования. Попробовал переименовать файл согласно кодировке ср866 и упаковать архиватором, так она стала писать, что не могу открыть архив, что то совсем плохо.
17 Alexis999
 
29.03.15
12:04
И еще, может есть у кого на примете обработка для переименования префикса в работающей базе?
18 Alexis999
 
29.03.15
12:14
Fragster, в смысле "архивируй с помощью ЗапуститьПриложение", у меня же происходит обмен в РИБ и как это осуществить, не понимаю или с помощью внешней обработки, т.к. это КАМИН 5,0, а там используют команду "Архив.Записать()", возможности отредактировать текст программы нет?
19 hhhh
 
29.03.15
13:27
вообще-то там код узла, а не префикс. Откуда префиксы пошли?
20 dmrjan
 
30.03.15
08:48
(16) Начиная с версии 8.3.5 1С архивирует средствами операционной системы. Отсюда и все косяки. В частности приходится вводить Linux в домен или расшаривать папку в самом Linux. Тогда путь к папке обмена принимает вид типа \home\share\. И все в таком духе.