Имя: Пароль:
1C
1C 7.7
v7: Если копирую кириллицу в WIN7 и при этом стоит EN раскладка то в 1с вопросики.
,
0 sysadminlk
 
29.11.14
09:10
Как лечить? Если копирую кириллицу в WIN7 и при этом стоит EN раскладка то в 1с получаются Вопросики.
1 2mugik
 
29.11.14
09:14
в ексель есть специальная вставка - может поможет.
2 Рэйв
 
29.11.14
09:18
Копируй при русской раскладке, что тут лечить?
3 Lama12
 
29.11.14
09:19
(0) Переключи на ru
4 Chameleon1980
 
29.11.14
09:24
делайте что 2,3 говорят.
но это как-то в реестре еще лечится - погуглите.
дело не в 1с
5 sysadminlk
 
29.11.14
09:26
И на сервере и на клиенте стоит

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1250"="c_1251.nls"
"1251"="c_1251.nls"
"1252"="c_1251.nls"

забыл сказать что сервер 2003 работаем по рдп
все клиенты на WIN7
6 sysadminlk
 
29.11.14
09:27
(2)(3) считаю это не нормально каждый раз смотреть какая раскладка стоит для того чтобы скопировать.
7 GROOVY
 
29.11.14
09:30
(6) Смирись.
8 Злопчинский
 
29.11.14
09:42
... Сказал клавный кактусовод
9 sysadminlk
 
29.11.14
09:49
Реально что-ли никак по другому?
10 Мимохожий Однако
 
29.11.14
09:55
Буковка Я не помогла?
11 mehfk
 
29.11.14
09:55
Жирафья болезнь?
12 Web00001
 
29.11.14
09:56
я такое помню еще со времен 77 и xp
13 Мимохожий Однако
 
29.11.14
09:56
Шрифт какой в источнике копирования?
14 Мигало
 
29.11.14
09:57
(13) Бгг ... Шрифт ... Ты еще про расположение планет спроси в момент копирования ... Бгггг
15 mr_fix
 
29.11.14
10:15
http://wiki.mista.ru/doku.php?id=1c:lechenie_problemy_s_kirillicej_pri_copy-paste_krokozjabry
=====
В Windows 7

Замена, как прежде, в реестре значений параметров CodePage 1250, 1252 и 1253 на c_1251.nls результатов не дает. В Win7 для решения данной проблемы необходимо:

    перейти в безопасный режим
    в папке \Windows\system32 выставить полный доступ к файлам C_1252.NLS и C_1251.NLS.
    Скопировать C_1251.NLS в какую-нибудь другую папку.
    C_1252.NLS переименовать в C_1252.bak.
    C_1251.NLS, переименовать в C_1252.NLS и переместить обратно в system32.
    перезагрузиться и вернуть файлам прежние ограниченные права.

Источник: http://pepsimist.ru/petroglify-v-windows-7-i-kak-s-nimi-borotsya/


===
16 sysadminlk
 
29.11.14
11:25
Сделал так:

В глобальном модуле:
Функция ПолучитьБуферОбмена()
    //конвертация буфера обмена
    ХтмФайл = СоздатьОбъект("htmlfile");
    Стр = ХтмФайл.ParentWindow.ClipboardData.GetData("text");
    ХтмФайл.ParentWindow.ClipboardData.SetData("text",Стр);
    ХтмФайл = "";
    Возврат Стр;    
КонецФункции    // ПолучитьБуферОбмена

Процедура Мониторинг()
    ПолучитьБуферОбмена();
КонецПроцедуры

Процедура ПриНачалеРаботыСистемы()
    Сервис = СоздатьОбъект("Сервис");
    Сервис.ОбработкаОжидания("Мониторинг",1000); // каждые 1 секунды запускает данную процедуру;        
КонецПроцедуры //ПриНачалеРаботыСистемы


Таким образом получил нормальный входящий текст в базу, и нормальный исходящий текст например в блокнот или квип.

(15) - годится только в том случае если компьютеры всегда одинаковые. А если народ со своими нотниками подключаются, тогда только мой вариант.

Может кому-то код пригодится )))
17 sysadminlk
 
29.11.14
11:33
Поправочка:

Функция ПолучитьБуферОбмена() Экспорт
    //конвертация буфера обмена
    ХтмФайл = СоздатьОбъект("htmlfile");
    Стр = ХтмФайл.ParentWindow.ClipboardData.GetData("text");
    Если ПустоеЗначение(Стр) = 0 Тогда
        ХтмФайл.ParentWindow.ClipboardData.SetData("text",Стр);
    КонецЕсли;    
    ХтмФайл = "";
    Возврат Стр;    
КонецФункции    // ПолучитьБуферОбмена
18 spectre1978
 
29.11.14
12:37
(0) Проблема связана с тем, что семерка - старое приложение, которое использует cp1251, а не unicode. При работе в современных ОС со всеми такими приложениями требуется русская раскладка, чтобы текст правильно копировался в буфер обмена. Ну или дополнительные манипуляции.
19 ДенисЧ
 
29.11.14
12:39
(18) Пришёл кэп и всё объяснил...
20 ЧеловекДуши
 
29.11.14
13:33
(0) Шрифт в системе настрой :)
21 ЧеловекДуши
 
29.11.14
13:35
(16) Что это? Зачем? Каков КПД для компании в таком решении проблемы? :)
22 ЧеловекДуши
 
29.11.14
13:55
+(17) А 1С++ умеет копировать в буфер обмена ;)

СтрБуфОбмена = "Копируем просто";

Буфер = СоздатьОбъект("БуферОбмена");
Буфер.Установить(СтрБуфОбмена);
Буфер=0;
23 ЧеловекДуши
 
29.11.14
13:56
+ БуферОбмена

Класс позволяет работать с системным буфером обмена.
Имеет два класса

Получить
Синтаксис:
Получить()
Назначение:
Получает текст из системного буфера обмена.

Установить
Синтаксис:
Установить(Строка Текст)
Назначение:
Сохраняет текст в системного буфере обмена.
Параметры:
Текст - тип: Строка. Новый текст для буфера обмена.
24 spectre1978
 
29.11.14
15:30
(23) и неюникодные строки в национальной кодировке правильно сохраняются вне зависимости от раскладки?
25 Chameleon1980
 
30.11.14
02:59
*24 ну поправь под себя, если нет