Йоксель » Главный форум

Окно элемента управления

(21 posts)
  1. testotest
    Участник

    При использовании объекта "ТабличныйДокумент.ЭлементУправления" проявились следующие проблемы:

    1. Если уничтожить объект, то вместе с ним уничтожается и окно контрола 1С на который он был смонтирован. После этого дальнейшая корректная работа с формой становится невозможной. При переключении закладок например, 1С просто падает...

    2. При создании элемента управления игнорируется состояние окна контрола 1С на который он монтируется. В ситуации, когда контрол 1С находится на скрытом слое он становится видимым, что не всегда желательно.

    Attachments

    1. пример.zip (11.2 KB, 147 downloads) 16 года(лет) old
    Отправлено 16 года(лет) назад #
  2. testotest
    Участник

    Было бы неплохо иметь возможность управлять необходимостью обновления окна элемента управления. Чтонибудь вроде метода БлокировкаОновления(1/0).
    А то вся черновая обработка содержимого табличного документа демонстрируется пользователю.
    Подозреваю, что для больших таблиц это также серьезно увеличивает время обработки, т.к. может вызывать большое количество бесполезных обновлений...

    Отправлено 16 года(лет) назад #
  3. 1. Если уничтожить объект, то вместе с ним уничтожается и окно контрола 1С на который он был смонтирован. После этого дальнейшая корректная работа с формой становится невозможной. При переключении закладок например, 1С просто падает...

    В качестве основного подразумевался сценарий, когда объект элемента управления создается один раз и существует на протяжении всей жизни формы. Или еще можно на основе йоксельного элемента создать какой-нибудь другой. Но, естественно, нехорошо, когда остается возможность убить 1С. Думаю, эту ситуацию можно исправить.

    При создании элемента управления игнорируется состояние окна контрола 1С на который он монтируется. В ситуации, когда контрол 1С находится на скрытом слое он становится видимым, что не всегда желательно.

    Логично :)
    Спасибо! :)

    Отправлено 16 года(лет) назад #
  4. testotest
    Участник

    Если для вывода изображения на экран используется 8-битная палитра, то после загрузки таблицы методом "ЗагрузитьИзТаблицы" теряется отображение большинства цветов, которые предлагаются в конфигураторе для заливки фона ячеек.

    Отправлено 16 года(лет) назад #
  5. Если для вывода изображения на экран используется 8-битная палитра, то после загрузки таблицы методом "ЗагрузитьИзТаблицы" теряется отображение большинства цветов, которые предлагаются в конфигураторе для заливки фона ячеек.

    Интересная, кстати говоря, тема - поддержка режима 256 цветов... Довольно геморная, но к следующей серии этот вопрос решим.

    Отправлено 16 года(лет) назад #
  6. testotest
    Участник

    Спасибо за оперативное исправление найденных недоработок.

    Отправлено 16 года(лет) назад #
  7. testotest
    Участник

    При использовании 8-битной палитры осталась проблема потери цветов при выводе на печать.

    Отправлено 16 года(лет) назад #
  8. При использовании 8-битной палитры осталась проблема потери цветов при выводе на печать.

    А модель принтера какая?

    Отправлено 16 года(лет) назад #
  9. testotest
    Участник

    Принтер HP LaserJet 1022
    Это можно увидеть в окне предварительного просмотра.
    Если делать предпросмотр штатной таблицы 1С - цвета в наличии.

    Отправлено 16 года(лет) назад #
  10. Принтер HP LaserJet 1022

    Секунду, а сам принтер цветной?
    То, что при предпросмотре с цветами не в порядке - это, скорее, нормально. 1С довольно своеобразно делает предпросмотр - тут еще не факт, что у них метод - эталон качества.

    Отправлено 16 года(лет) назад #
  11. В общем так. Если делается предпросмотр для цветных принтеров - искажений цветов не происходит. Если делается предпросмотр для черно-белых - есть искажения. Но я считаю, что это нормально. По хорошему, отрисовка должна происходить в черно-белых оттенках. Поэтому ни отрисовка в 1С, ни отрисовка Йокселя не соответствует по цветам тому, что будет напечатано. Зато в Йокселе меньше искажений в отрисовке сетки и шрифтов, чем в 1С. Поэтому, я думаю, менять что-то в предпросмотре нет необходимости. Скорее уж тут надо делать отрисовку в черно-белых полутонах, а не копировать поведение 1С.

    Отправлено 16 года(лет) назад #
  12. testotest
    Участник

    Прошу прощения, недосмотрел как следует.

    Принтер Ч/Б. У меня используется слишком бледный цвет, поэтому при печати его трудно отличить от белого. Если взять цвет потемнее, то нормально видно.
    Сбил с толку ч/б предпросмотр...
    Кстати, если запустить тотже excel в режиме 256 цветов, то он так же как и 1С показывает цветной предпросмотр...

    Отправлено 16 года(лет) назад #
  13. Кстати, если запустить тотже excel в режиме 256 цветов, то он так же как и 1С показывает цветной предпросмотр...

    Так на то он и Excel :) А 1С для предпросмотра использует слишком уж плохой метод, чтобы его заимствовать. Собственно, кроме цветов ничего хорошего в нем нет.

    Отправлено 16 года(лет) назад #
  14. Секундочку... У меня Excel для черно-белых принтеров предпросмотр делает отнюдь не цветной, а в оттенках серого. Для цветных соответственно в цвете. Йоксель же для черно-белых принтеров предпросмотр делает с искаженными цветами. А для цветных принтеров искажений цветов, практически, нет. И для режима 256 цветов тоже.

    Отправлено 16 года(лет) назад #
  15. В режиме 256 цветов для цветных принтеров есть ряд искажений для цветов текста. В общем, с предпросмотром стоит поразбираться. И насчет цветов текста и насчет отрисовки в оттенках серого. Правда, мне кажется, подобные вещи это уже для разбора, так сказать, "сверх сытости" :) Из разряда "полировки". Вряд ли люди сидят и по полчаса упорно разглядывают что там такое в предпросмотре вылезло :)

    Отправлено 16 года(лет) назад #
  16. testotest
    Участник

    Правда, мне кажется, подобные вещи это уже для разбора, так сказать, "сверх сытости" :) Из разряда "полировки".

    Нисколько не возражаю :)
    Гораздо быстрее хотелось бы получить, например, построитель отчетов.
    Само сабой отсутствие цветного предпросмотра не принципиально, просто увидев такое поведение первый раз я сделал ошибочный вывод о том, что и на бумаге будут проблемы :(

    Отправлено 16 года(лет) назад #
  17. testotest
    Участник

    Как можно определить номера строки/колонки ячейки на которой стоит курсор?

    Отправлено 16 года(лет) назад #
  18. Как можно определить номера строки/колонки ячейки на которой стоит курсор?

    Кстати, сам как-то искал такую возможность, когда сильно понадобилась :) Оказывается, ее нет :) Забыл сделать. Сделать ее очень просто, поэтому, думаю, в следующей серии появится. А пока, если очень сильно надо, то можно отслеживать событие "АктивизацияЯчейки" и где-то запоминать координаты - когда-то я так и выкрутился :))

    Отправлено 16 года(лет) назад #
  19. testotest
    Участник

    На форме элемент управления табличного документа и командная кнопка.
    Если ввести текст в ячейку и не нажимая ENTER кликнуть по кнопке на форме не происходит автоматического завершения редактирования ячейки.
    Соответственно процедура обработки документа, которая вызывается при нажатии на командную кнопку не видит последний введенный текст.

    Отправлено 16 года(лет) назад #
  20. В данном случае я просто собезьянничал с Мокселя. Он при потере фокуса не завершает редактирование ячейки. Это и в 7.7, и в 8.х так. Понятно, что не хорошо, когда обработка не видит введенный текст, но логика в этом есть - редактирование еще не завершилось, значит ячейка не изменена. В общем, не уверен, что тут надо менять поведение - нужно подумать. Может, у тебя еще какие-нибудь аргументы найдутся в пользу какого-нибудь решения?

    Отправлено 16 года(лет) назад #
  21. testotest
    Участник

    Оно и в экселе так. Но там это наиболее востребовано, т.к. ячейки могут содержать "неравномерно" форматированный текст, т.е. может понадобиться обратиться во время редактирования к панели инструментов экселя, чтобы выделить жирным часть вводимого текста. В 1с в ячейках хранится только неформатированный текст и "отвлекаться" во время редактирования вроде не на что. Может быть, конечно ситуация, когда текст склеивается кусочками из буфера обмена, но это мне кажется редкий случай.

    А вот в описанном мной случае происходит выборочная корректировка ячеек находящихся не рядом и поэтому для перехода между ними пользуются не клавиатурой, а кликами мышки по нужным ячейкам. И поэтому некрасиво выглядит ситуация, когда при клике по следующей ячейке приредыдущая автоматически завершает редактирование, а после корректировки последней при клике на командной кнопке редактирование не завершается.

    В принципе, чтобы обеспечить удобство работы с таблицей в обоих вариантах, можно снабдить ТабличныйДокумент методом "ЗакончитьРедактирование". Этот метод можно было бы вызывать в начале процедуры обработки и быть уверенным, в том что все данные будут доступны.

    Отправлено 16 года(лет) назад #

RSS экспорт этой темы

Отправить сообщение

Вы должны войти в систему, чтобы оставлять сообщения.