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

Сервис.ВыбратьЗначение(,) - не работает

(12 posts)

Тэги:

  1. Попробовал перевести, отчет не из конфы от 1с на йоксель, всё заработало, (группировк там не было). Применил методику Ёпрст:"Переход на Йоксель за 5 минут" Но с расшифровкой есть ньанс, расшифровка в отчете юзается глобальная, и там используется формексовский Сервис.ВыбратьЗначение ... вот листинг ошибки

    Если _Сервис.ВыбратьЗначение(Меню,Отчет) = 0 Тогда
    {Глобальный модуль(391)}: Возникла критическая ошибка. Описание ошибки, возвращаемое Windows: Операция успешно завершена.

    Отказаться от сервиса не желательно, т.к. имеются вложенные списки значений

    Отправлено 16 года(лет) назад #
  2. Методику сделал Djelf.

    Сервис.ВыбратьЗначение - функционал Формекс, я не знаю, как он работает. Ничего не могу сказать.

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

    Отправлено 16 года(лет) назад #
  3. По сабжу подтверждаю - не дружат. Тест приложен.
    Сам таким пока не пользуюсь ;)

    Attachments

    1. ЙохельFormex.rar (11.1 KB, 152 downloads) 16 года(лет) old
    Отправлено 16 года(лет) назад #
  4. DjeIf, спасибо! Почему-то мне казалось, что смоделировать будет гораздо сложнее, поэтому и сказал автору, чтобы он как-то сам это сделать попытался.

    Проблема оказалась в том, что Формекс принимает йоксельный документ за моксельный. И пытается с ним работать как с мокселем. У меня MFC-класс имеет такое же название, что у 1С, но находится в другом namespace. Компиляции это не мешает, а MFC-шное RTTI от этого пучит :) Думаю, лучшим выходом будет, если я поменяю название класса - это несложно.

    PS. Кстати, все забываю спросить. Ты специально два акка сделал? Или у первого пароль не дошел? Если пароль не дошел, то можешь попробовать использовать "восстановление пароля" - вдруг дойдет. Если не дойдет - скажи, просто перевешу на другой мыл.

    Отправлено 16 года(лет) назад #
  5. А нет, поторопился я. В общем так, Формекс считает, что может быть два вида активных окон - документ Мокселя и форма чего-нибудь. Если я могу его разубедить, что документ Йокселя не Моксель, то для форм проверок вообще не делается - считается, что если не моксель, значит, форма. Здесь уже надо править Формекс. Проблема здесь:

    Файл Service.cpp,
    ...
    case methChooseValue:
    ...
    if(CString("CSheetDoc") == pDoc->GetRuntimeClass()->m_lpszClassName) // здесь падало раньше и исправить это я смог
    ... чуть дальше ...
    CGetField * pField = ((CGetDoc7*)pDoc)->GetActiveField(); // здесь я уже ничего исправить не могу

    Отправлено 16 года(лет) назад #
  6. Первая регистрация где-то застряла тогда. Потом дошла. Так что второй можно спокойно прибить (первый на aae@xxxx).

    Отправлено 16 года(лет) назад #
  7. Нет уж, пусть будет :)

    Отправлено 16 года(лет) назад #
  8. Oleg, Djelf спасибо за быстрое реагирование на вопрос...не ожидал так быстро

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

    2 ev-kov
    А у меня на не фреймовом Йокселе все работает... вот глянь тут я написал и скрин приложил - http://yoksel.net.ru/forum/topic.php?id=52

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

  10. Отправлено 15 года(лет) назад #
  11. На последнем Йокселе и старом FormEx, почти совершенно случайно, :D удалось запустить Сервис.ВыбратьЗначение во Фрейме без ошибок.
    Чтоб не ругалось "Возникла критическая ошибка. Описание ошибки, возвращаемое Windows: Операция успешно завершена.", надо вместо
    Сервис.ВыбратьЗначение(Список,Зн);
    использовать
    Сервис.ВыбратьЗначение(Список,Зн,,,2);

    Отправлено 15 года(лет) назад #
  12. Нелишне также будет попробовать версии формекса посвежее, в старых версиях - были такие сообщения при перехвате мокселя, я в свое время списывался с Альфом - он поправил, возможно это родственные проблемы

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

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

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

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