Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Функция OpenToolsForm и не Русская винда. (число прочтений - 10508 )
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Функция OpenToolsForm и не Русская винда.
13. Декабря 2010 :: 09:21
Печать  
Очень замечательная Процедура "ОткрытьПлавающуюФорму()" не выполняется если в региональных настройках виндов для программ не поддерживающих Unicode установлен не Русский (и не английский!). В конфе используется английский синтаксис и соответственно название процедуры OpenToolsForm. Вероятно это глюк самой FormEx. Но я надеюсь что кто-нибудь всеже знает как его победить.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #1 - 13. Декабря 2010 :: 10:52
Печать  
А если так?
  

fe_test_018.zip ( 238 KB | Загрузки )

FormEx developer
Наверх
www  
IP записан
 
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Re: Функция OpenToolsForm и не Русская винда.
Ответ #2 - 13. Декабря 2010 :: 17:11
Печать  
Товарищ! А Вы cлучайно не разработчик FormEx? Круглые глаза. Заработала процедура. Не знал что обновление вышло. Большое спасибо. У меня еще 2 желания осталось, можно использовать... Язык... - При тех же условиях не только не работает, но и ведет себя "враждебно" очень важная для меня счас DisableCloseFormByButton(). Приходится try-ить. И сразу второе: Хочется использовать План раскраски вместо обычной, но там служебное поле на русском, может есть возможность подставить английский аналог? Заранее спасибо.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #3 - 14. Декабря 2010 :: 08:22
Печать  
xliding писал(а) 13. Декабря 2010 :: 17:11:
Товарищ! А Вы cлучайно не разработчик FormEx? Круглые глаза.


Случайно разработчик Улыбка

xliding писал(а) 13. Декабря 2010 :: 17:11:
Заработала процедура. Не знал что обновление вышло. Большое спасибо.


Обновление и не вышло. Это я вчера подправил и сюда скинул.
Не за что.

xliding писал(а) 13. Декабря 2010 :: 17:11:
У меня еще 2 желания осталось, можно использовать... Язык... - При тех же условиях не только не работает, но и ведет себя "враждебно" очень важная для меня счас DisableCloseFormByButton(). Приходится try-ить.


Тут боюсь ничем помочь не смогу. Там функция простая, как морковка. С ходу даже не могу придумать что там может вызывать такую враждебность.

xliding писал(а) 13. Декабря 2010 :: 17:11:
И сразу второе: Хочется использовать План раскраски вместо обычной, но там служебное поле на русском, может есть возможность подставить английский аналог? Заранее спасибо.


Это можно.
Добавил для FormEx_ПланРаскраски английский аналог - FormEx_ColoringPlan
Приложено.
  

fe_test_019.zip ( 238 KB | Загрузки )

FormEx developer
Наверх
www  
IP записан
 
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Re: Функция OpenToolsForm и не Русская винда.
Ответ #4 - 14. Декабря 2010 :: 10:35
Печать  
Я знал что чудеса бывают! Спасибо большое за помощь! Прямо даже как-то неловко спрашивать, но всеже я уверен что это поможет всем тем кто "стремиться" использовать 7.7 на не Русских виндах. Если нельзя победить DisableCloseFormByButton, то может можно как-то сделать чтоб окно с вопросом на сохранение документа не выскакивало перед тем как попасть в OnWrite()?. Или текст там подменить на другой как-то. Это конечно уже не совсем по компоненте... в любом случае большое спасибо и вообще за FormEx.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #5 - 15. Декабря 2010 :: 09:37
Печать  
Насколько я понимаю, надо просто английский интерфейс для 1С установить.
  

FormEx developer
Наверх
www  
IP записан
 
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Re: Функция OpenToolsForm и не Русская винда.
Ответ #6 - 15. Декабря 2010 :: 11:10
Печать  
Само собой используется английский интерфейс. Просто мне  сообщения на английском тоже не подходят. Надо на немецком, а там умляуты по полной. Я 1crceng.dll подправляю где можно редактором ресурсов, но там тоже проблема с кодировкой. Я ее чет не могу изменить, может редактор плохой... Лучше бы чтоб предупреждающие окна типа "Save the document?" вообще не возникали. Только пользователей пугают.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #7 - 15. Декабря 2010 :: 13:02
Печать  
А как в таком случае должно вести себя нажатие на "крестик"? Форма должна молча закрываться без сохранения изменений?
  

FormEx developer
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #8 - 15. Декабря 2010 :: 13:09
Печать  
xliding писал(а) 15. Декабря 2010 :: 11:10:
Само собой используется английский интерфейс. Просто мне  сообщения на английском тоже не подходят. Надо на немецком, а там умляуты по полной. Я 1crceng.dll подправляю где можно редактором ресурсов, но там тоже проблема с кодировкой. Я ее чет не могу изменить, может редактор плохой... Лучше бы чтоб предупреждающие окна типа "Save the document?" вообще не возникали. Только пользователей пугают.

В какой стране работаешь, если не секрет? англо-немецкий интерфейс интересен Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Re: Функция OpenToolsForm и не Русская винда.
Ответ #9 - 15. Декабря 2010 :: 14:05
Печать  
Да, я имею ввиду нажатие на крестик или клавишу Esc. В идеале я хотел-бы чтоб сообщение о сохранении не открывалась вообще, тк. OnWrite() вызывается уже после его появления. Я конечно могу поменять там текст в ресурсе на свой, но! это же универсальное окно и появляться может в разных видах документов, а менять текст программно я не могу, или не знаю как Печаль.
  
Наверх
 
IP записан
 
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Re: Функция OpenToolsForm и не Русская винда.
Ответ #10 - 15. Декабря 2010 :: 14:14
Печать  
artbear писал(а) 15. Декабря 2010 :: 13:09:
В какой стране работаешь, если не секрет? англо-немецкий интерфейс интересен Улыбка


Я использую английский интерфейс. Перевести его полностью на немецкий, как мне надо, сильно много сил требует, да и не возможно это сделать корректно. Я выше объяснил почему. Поэтому я изменяю только то что необходимо, максимально скрывая от пользователя интерфейсные части где есть слова на английском.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #11 - 15. Декабря 2010 :: 15:32
Печать  
xliding писал(а) 15. Декабря 2010 :: 14:05:
Да, я имею ввиду нажатие на крестик или клавишу Esc. В идеале я хотел-бы чтоб сообщение о сохранении не открывалась вообще, тк. OnWrite() вызывается уже после его появления. Я конечно могу поменять там текст в ресурсе на свой, но! это же универсальное окно и появляться может в разных видах документов, а менять текст программно я не могу, или не знаю как Печаль.


Так что с объектом-то должно происходить? Движок ведь будет ждать ответа на заданный вопрос. Можно погасить окно с вопросом, но ответ-то какой-то движку надо будет передать.
  

FormEx developer
Наверх
www  
IP записан
 
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Re: Функция OpenToolsForm и не Русская винда.
Ответ #12 - 15. Декабря 2010 :: 19:52
Печать  
Моя OnWrite() выглядит так:
Procedure OnWrite()
     ReturnStatus(0);
     Form.Close(0);
Endprocedure

Этот и недо передать. Т.е закрыть форму без вопросов. Или пусть попадает в OnWrite() я сам прикрою.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #13 - 15. Декабря 2010 :: 20:10
Печать  
Хм... Похоже, меня не понимают...
Смотри сюда. Что происходит при нажатии "крестика" или ESC:
1. Движок 1С проверяет модифицирован ли объект.
2. Если модифицирован, выдается вопрос "сохранить документ?". Если не модифицирован, то переходит к п.6
3. На вопрос можно ответить "Да", "Нет", "Отмена"
4. Если ответ "Отмена", то 1С возвращается к редактированию документа.
5. Если ответ "Да" вызавается процедура ПриЗаписи() и по итогам ее работы переходит к п.6 или возвращается к редактированию документа. Если ответ "Нет", то переходит к п.6.
6. Движок 1С вызывает процедуру ПриЗакрытии() по итогам ее работы закрывает форму или возвращается к редактированию.

Вот как-то так.
Ты хочешь, чтобы пункт 2. для модифицированного документа сразу переходил к п.6, как и для не модифицированного.
Так вот я спрашиваю что же делать с модифицированными данными в документе в этом случае: или просто игнорировать все изменения (автоматически посылать ответ "Нет"), или записывать все изменения (автоматически посылать ответ "Да"), или как-то иначе действовать?
  

FormEx developer
Наверх
www  
IP записан
 
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Re: Функция OpenToolsForm и не Русская винда.
Ответ #14 - 15. Декабря 2010 :: 20:51
Печать  
Я очень все прекрасно понял. Как все происходит я знаю. НО! у меня такая задача ... как бы это сказать не типичная что-ли. У меня не может быть не проведенных документов. Т.с отраслевое решение. Пользователи не знают что такое документ, справочник итп... Документы заполняются сами. Смысл в том что пользователь или жмет, условно, на выполнить и документ проводиться или отказывается от нее. Юзеру не нужно лишних вопросов о сохранении, если он случайно! вместо кнопки "Выйти" нажмет крестик или Esc.
Если честно, то мне самому этот маразм не нравиться. Но тех. требования такие и юзеры тупые.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #15 - 16. Декабря 2010 :: 07:51
Печать  
Короче, попробую вечером что-нибудь придумать.
  

FormEx developer
Наверх
www  
IP записан
 
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Re: Функция OpenToolsForm и не Русская винда.
Ответ #16 - 24. Января 2011 :: 00:46
Печать  
Привет Альф. Пришёл новый год, проблемы остались. Блокировать окно запроса на сохранение документа пока не удается. Правда,   стала работать процедура блокирующая кнопку закрытия на форме. Уже не плохо. Теперь проблема по серьезней. Настроил использование плана раскраски для таблиц. Работает супер. Для многострочной части справочника не хочет никак, что только не делал. Обычная раскраска в норме.
  
Наверх
 
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #17 - 24. Января 2011 :: 01:57
Печать  
xliding писал(а) 24. Января 2011 :: 00:46:
Привет Альф. Пришёл новый год, проблемы остались. Блокировать окно запроса на сохранение документа пока не удается. Правда,   стала работать процедура блокирующая кнопку закрытия на форме. Уже не плохо. Теперь проблема по серьезней. Настроил использование плана раскраски для таблиц. Работает супер. Для многострочной части справочника не хочет никак, что только не делал. Обычная раскраска в норме.

Это уже сто раз обсуждалось и подтверждалось Альфом - для красивого отображения с цветами и доп.форматированием надо использовать ТабличноеПоле, а не ТЗ. Раскраска в ТЗ дорабатываться не будет, ибо не используется и оставлена только для совместимости...
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #18 - 24. Января 2011 :: 07:09
Печать  
Dmitry The Wing писал(а) 24. Января 2011 :: 01:57:
Это уже сто раз обсуждалось и подтверждалось Альфом - для красивого отображения с цветами и доп.форматированием надо использовать ТабличноеПоле, а не ТЗ. Раскраска в ТЗ дорабатываться не будет, ибо не используется и оставлена только для совместимости...


Это ты что-то путаешь. Скорее всего с Деревом спутал. В ТЗ и в остальных штатных объектах раскраска должна нормально работать.
  

FormEx developer
Наверх
www  
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #19 - 24. Января 2011 :: 07:09
Печать  
xliding писал(а) 24. Января 2011 :: 00:46:
Теперь проблема по серьезней. Настроил использование плана раскраски для таблиц. Работает супер. Для многострочной части справочника не хочет никак, что только не делал. Обычная раскраска в норме.


Лучше подробней и с примером.
  

FormEx developer
Наверх
www  
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #20 - 24. Января 2011 :: 08:01
Печать  
АЛьФ писал(а) 24. Января 2011 :: 07:09:
Dmitry The Wing писал(а) 24. Января 2011 :: 01:57:
Это уже сто раз обсуждалось и подтверждалось Альфом - для красивого отображения с цветами и доп.форматированием надо использовать ТабличноеПоле, а не ТЗ. Раскраска в ТЗ дорабатываться не будет, ибо не используется и оставлена только для совместимости...

Это ты что-то путаешь. Скорее всего с Деревом спутал. В ТЗ и в остальных штатных объектах раскраска должна нормально работать.

Действительно. Тогда разговор шел о дереве. Думаю, после работы с ТП, мне просто сложно представить, зачем может потребоваться раскраска ТЗ...
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Функция OpenToolsForm и не Русская винда.
Ответ #21 - 24. Января 2011 :: 09:48
Печать  
Dmitry The Wing писал(а) 24. Января 2011 :: 08:01:
Действительно. Тогда разговор шел о дереве. Думаю, после работы с ТП, мне просто сложно представить, зачем может потребоваться раскраска ТЗ...


Вообще-то автор про многострочную часть формы списка справочника спрашивал, а не про ТЗ..
  
Наверх
 
IP записан
 
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Re: Функция OpenToolsForm и не Русская винда.
Ответ #22 - 24. Января 2011 :: 13:20
Печать  
АЛьФ писал(а) 24. Января 2011 :: 07:09:
xliding писал(а) 24. Января 2011 :: 00:46:
Теперь проблема по серьезней. Настроил использование плана раскраски для таблиц. Работает супер. Для многострочной части справочника не хочет никак, что только не делал. Обычная раскраска в норме.


Лучше подробней и с примером.


Опять повторюсь, речь идеть о многострочной части справичника. С ТЗ на форме план справляется безупречно  Подмигивание. Подозреваю что и с многострочной частью в привычном смысле тоже работает. Специфика вопроса в том, что используется НЕ Русская винда и соответственно 1с в английском режиме. Прошлый раз Альф очень помог. Вероятно остался глюк с МЧ. Я собственно делаю все аналогично ТЗ. За исключением того, что добавляю в МЧ вычисляемое поле с названием FormEx_ColoringPlan



и вешаю туда функцию которая возвращает мне шаблон в виде "()()()()(BRUSH[64535])()" к примеру.

Не работает. Пробовал реквизит сделать служебный, тоже самое
« Последняя редакция: 24. Января 2011 :: 22:30 - xliding »  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Функция OpenToolsForm и не Русская винда.
Ответ #23 - 25. Января 2011 :: 06:50
Печать  
Гы... в заголовок пихай (FormEx_ПланРаскраски), а не в идентификатор.
  
Наверх
 
IP записан
 
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Re: Функция OpenToolsForm и не Русская винда.
Ответ #24 - 25. Января 2011 :: 16:55
Печать  
Eprst писал(а) 25. Января 2011 :: 06:50:
Гы... в заголовок пихай (FormEx_ПланРаскраски), а не в идентификатор.

Если бы так все было просто...  Нерешительный не тот случай
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Функция OpenToolsForm и не Русская винда.
Ответ #25 - 26. Января 2011 :: 06:09
Печать  
xliding писал(а) 25. Января 2011 :: 16:55:
Eprst писал(а) 25. Января 2011 :: 06:50:
Гы... в заголовок пихай (FormEx_ПланРаскраски), а не в идентификатор.

Если бы так все было просто...  Нерешительный не тот случай

Что значит не тот ?
Что не работает у тебя ?

На вот, мини-пример:
  

_________.rar ( 23 KB | Загрузки )
Наверх
 
IP записан
 
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Re: Функция OpenToolsForm и не Русская винда.
Ответ #26 - 26. Января 2011 :: 18:50
Печать  
Eprst писал(а) 26. Января 2011 :: 06:09:
xliding писал(а) 25. Января 2011 :: 16:55:
Eprst писал(а) 25. Января 2011 :: 06:50:
Гы... в заголовок пихай (FormEx_ПланРаскраски), а не в идентификатор.

Если бы так все было просто...  Нерешительный не тот случай

Что значит не тот ?
Что не работает у тебя ?

На вот, мини-пример:


Спасибо большое. Это очень помогло. По крайней мере понять что впринципе все работает. У меня в МЧ несколько скрытых пустых  полей было, поэтому надо было точно расчитать, какую по счету колонку расцвечивать. Ошибка была в том что функция неправильно определяла нужную колонку, выподало всегда на пусто и я думал что все не работает. Не подумал, что счет надо вести начиная с колонки с иконой, она первая.
  
Наверх
 
IP записан
 
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Re: Функция OpenToolsForm и не Русская винда.
Ответ #27 - 06. Февраля 2011 :: 17:11
Печать  
Все-таки еще одна проблемка осталась. При использовании выборочной раскраски для Многострочной части справочника не работает функция ColourTable("MULTYCOLUMN"). Ошибку выдает. Это только если не! русская винда. В русской работает.
  
Наверх
 
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #28 - 20. Декабря 2019 :: 13:09
Печать  
На одной нерусскоязычной винде появилась ошибка неправильного получения координат ячейки ТабличнойЧасти в функции

Код
Выбрать все
ФормаРасш.ПолучитьКоординатыТекущейЯчейки("МногострочнаяЧасть",В,Л,Н,П,0);
 



В ходе разбирательства обнаружил на форуме в лохматом 2009 году упоминание, что на не русскоязычной винде вместо "МногострочнаяЧасть" нужно использовать "Multycolumn"! Попробовал - таки заработало.

Но вот вопрос - а как определить, что нужно использовать именно это имя?

При отладке пробую вывести:
Код (C++)
Выбрать все
ФормаРасш.ПолучитьАтрибутПоКоординатам(_X,_Y).Идентификатор = "МногострочнаяЧасть"
ФормаРасш.ПолучитьАтрибут("МногострочнаяЧасть") = Error in expression! 


Т.е. как видно - идентификатор по координатам возвращает русское имя, но получить по нему же атрибут - уже нельзя, как и в ПолучитьКоординатыТекущейЯчейки()!

Есть какие-то советы, как отслеживать необходимость применения англоязычного названия?
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #29 - 05. Февраля 2020 :: 11:28
Печать  
Тестовое сообщение. Для поднятия темы.
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать