Тип не определен 1с тип
Здравствуйте, переделываю конфигурацию на упф, столкнулся с проблемой.
Был следующий рабочий код. Сейчас его нужно реализовать на упф, как это сделать? Знаю, что ДиалогВыбораФайла должны вызыватся на клиенте, подскажите как реализовать эту функцию. Код из общего модуля.
Перевод Обычного приложения Толстого Клиента в Управляемое
Подскажите пожалуйста возможно ли это? Пытались перевести- ни одна форма не открывается.
Из обычного приложеиня перенести код в управляемое приложение
Добрый день. Возникла такая проблемка. Есть обычное приложение и в нем код в общем модуле.
Ошибка при создании scripting.filesystemobject: Тип не определен (СОМОбъект). Учебная версия платформы.
Почему когда хочу создать обект scripting.filesystemobject выдает ошибку: Тип не определен.
egor_22rus, разнесите: код для работы с файлами - на клиенте, код для работы с набором записей регистра - на сервере.
GreenkA, эта функция лежит в общем модуле, я ее вызываю в модуле справочника.
Решение
вы ее видимо вызываете в модуле формы элемента справочника по команде ПТС1().
Тогда в модуле формы элемента справочника меняем указанные выше процедуры на:
Вместо одного общего модуля ОбщегоНазначения - создаем два других(или доп. два других):
- ОбщегоНазначенияКлиент(в свойствах галочка Клиент)
- ОбщегоНазначенияСервер(галочки Сервер, ВызовСервера)
В общем модуле ОбщегоНазначенияКлиент:
GreenkA, спасибо гренка, получилось, в теории знал, как сделать но на практике реализовать не смог. Скажи, как реализовать механизм, чтобы выбранный файл сохранялся. В данный момент повторно открывается окно диалога.
Добавлено через 7 минут
GreenkA,
Но почемуто не срабатывает
Добавлено через 44 минуты
GreenkA, в регистр вроди бы записывает, файлик в нужной папке создает. Но при повторном открытии не срабатывает код, который поверяет есть ли в регистре эта ссылка. При повторном нажатии происходит не открытие созданного файла, а повторный вызов диалогового окна.
Тип не определен (Запрос)
Запрос = Новый >Запрос(); (Проверка: Тонкий клиент)
Всем здравствуйте. Создаю новую информационную базу, не из шаблона, для разработки. Создаю справочники, доки, регистры. Собственно вопрос. Если стоит параметр &НаКлиенте я так понимаю тип запрос на клиенте не определен, ставлю на сервере, ничего не происходит
&НаКлиенте
Процедура ПриОткрытии()
Запрос = Новый Запрос();
Запрос.Текст ;
Рез = Запрос.Выполнить().Выбрать();
Пока Рез.Следующий() Цикл
Сообщить(Рез.Цена);
Сообщить(Рез.Дата);
КонецЦикла;
КонецПроцедуры
Что пишу неправильно?
(10) открываем сп и в первой главе "директивы компиляции" изучаем, хотя может лучше порясят выращивать - ты подумай, что выгоднее
(14+) Медитируй до просветления:
Тип не определен (Запрос)
(14) То есть базу на локальном компьютере я правильно создал. Что дальше делать дабы в ней сожно было работать с запросами?
(23) На клиенте этой процедуры просто не будет.
Как вариант - создать общий модуль с галочками "сервер" и "вызов сервера", в нем расположить твою функцию которая вернет данные, ее и вызывать из ПриОткрытии.
(25) В общем все мои запросы исполнять в общих модулях, При открытии прописывать уже непосредственно передаваемые с сервера параметры?
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
имя: param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ПолеФормы'
(37) а вот этот бред как объясните? Что это за слово?
Сервер, толстый клиент, внешнее соединение.
Наименование обьекта текущей формы возвращает. Цену и Период возвращает почему-то пустыми. Хотя в регистресведений Цены эти данные заполнены
(53) Отладчик в руки и смотри что у тебя в Рез после Рез.Следующий. Попробуй запрос с твоими параметрами в консоли запросов. Так на глаз не вижу почему возвращает пустые значения
(56) Суть. Интересно, какой кошмар у него затаился в регистре Цены? Неужто Измерение Наименование строкового типа?
Извиняйте ребят, психологических отклонений нет,просто мудаг :))) Измерение Наименование сделал :( В общем переименовал заработало все.
С выходом 1С 839 появился баг в работающей до этого компоненте.
На серверной базе (на файловой все работает отлично) хоть тресни сыпет ошибки Тип не определен на всех попытках вызова классов.
Причем появлятся это только после второго использования.
То есть первый раз - все работает замечательно!
Но стоит только второй раз запустить туже обработку с компонентой - сыпет баг и хоть тресни.
Повторюсь - на файловой версии все отлично.
На серверной - баг после повторного использования.
Он сам не знает и не понимает - уже переколошматили все.
Все отлично работает за исключением сказанного.
Сервер - второй запуск.
А повторное подключение любой другой компоненты работает нормально?
Если да, то проблема именно в этой конкретной ВК, может, завершается там где-то чего-то некорректно.
Если с другими компонентами так же, может, это "фича" платформы.
(2) Значит ВК уже выгрузилась. Смотри где Ссылки на ВК обнуляются. Я на 64 разрядной пробовал все нормально.
(10) для серверной этот метод не доступен.
Единственный метод который доступен это ПодключитьВНешнююКомпоненту и он работает
(3) Ну то есть разработчик с дебаггером студии не смог отловить процесс инициализации компоненты и ошибку, которая в этот момент возникла, а мы тут по кофейной гуще всё угадаем?
Клиент х64 только в 8.3.9 появился, до этого только х86 (значит, все файловые версии х86), а сервера часто х64, компонента компилится отдельно для х86, отдельно для х64 - ты хоть сказал бы, какая архитектура. У тебя там вообще разные билды этой компоненты могут быть.
Платформа содержит оптимизацию - она в кэше хранит ВК и повторно подключает не так, как первый раз.
1. Попробовать поменять дурацкое имя XLS (которое в середине. Его определяет тот, кто использует метод ПодключитьВнешнююКомпоненту во втором параметре). Возможно, происходит конфликт где-то из-за имени
2. Если не помогает, генерить новое произвольное имя при каждом использовании. Это заполонит кэш, но по идее будет работать
(15) Так глюка с подключением во внешней обработке, когда на первое открытие обработки все ОК, а если повторно то нифига не сервере не пашет.
Потому что некоторые дятлы до сих пор не смогли понять что такое клиент-серверная УФ 1С.
Ошибка «Тип не определен» говорит об устаревшей платформе. В конфигурации используются более современные объект, чем присутствуют в платформе.
Либо контекст, который не позволяет использования данного объекта: запуск под другим типом клиента, а также банальная опечатка в имени типа.
В данном конкретном случае таким объектом является «ЗаписьJSON», которая появилась не так давно в версии 8.3 платформы 1С.
Полный текст ошибки
Тип не определен (ЗаписьJSON)
ЗаписьJSON = Новый >ЗаписьJSON;
Особенности проблемы:
Платформа позволяет использовать в конфигурации новые объекты, даже если в конфигурации установлен режим совместимости со старой версией.
Если же объектами являются объекты метаданных (к примеру, такие как Web-сервисы), то изменить такую конфигурацию не возможно (хотя она будет работать без данных объектов, не вызывая ошибок)
На скриншоте ниже: с версией 8.2
Другие причины проблемы:
Возможно новая платформа установлена, но запускается старая
для этого зайдите в свойства базы («Изменить» в списке запуска:) — нижнее поле «Версия 1С:Предприятия»
Либо указана устаревшая «версия» платформы (кнопка «Настройка» в списке баз) — раздел «Используемые версии»
Поведение системы
В большинстве случаев «тип не определен» это критичная ошибка, которая возникает:
- в момент запуска самой 1С, при этом полностью блокирует запуск.
- при запуске форм списка или форм объектов — блокирует запуск этого или ряда объектов.
Обычно не связана с правами пользователя и со средой исполнения, если это не com/activex-объекты.
Часто вызывающие ошибку объекты:
Клиент получает ту рекламу, которую он заслуживает!
— Дэвид Огилви
Начиная с версии 8.3.3 платформы в модуле управляемой формы, модуле команды и общем модуле появилось ключевое слово ЭтотОбъект , которое ссылается на текущий контекст модуля. В более ранних версиях платформы ключевое слово ЭтотОбъект использовалось только в модуле объекта или в модуле обычной формы и ссылалось на текущий объект. С какой стати решили использовать то же слово для модулей вместо более благозвучных ЭтотМодуль и ЭтаФорма — непонятно. Оставим это на совести разработчиков. Нам же нужно разобраться с ошибкой.
Итак, если вы разработали управляемую форму на платформе 8.3.3 или выше и пытаетесь использовать ее на платформе 1С:Предприятие 8.2 или 8.3.2 и ниже, помните, что в них ключевого слова ЭтотОбъект нет! Поэтому вызов, подобный этому, будет генерировать ошибку:
Чтобы избавиться от ошибки, можно:
- Обновить платформу до версии 8.3.3 или выше (Если используется стандартная конфигурация, возможно, потребуется обновить еще и версию конфигурации. Если конфигурация самописная, возможно, потребуется тестирование всех модулей и форм с последующим проведением рефакторинга);
- Избавиться от использования ключевого слова ЭтотОбъект , проведя рефакторинг кода;
Добавить комментарий Отменить ответ
Рубрики
Свежие записи
- Функция ПолучитьСклоненияСтроки()
- Ошибка «Тип не определен (ФормаКлиентскогоПриложения)»
- Процедура ПодключитьОбработчикОповещения()
- Недопустимое значение параметра номер 1 ПодключитьОбработчикОжидания()
- Процедура ОтключитьОбработчикОжидания()
- Процедура ПодключитьОбработчикОжидания()
- Что такое Символы.ПС в 1с 8?
- Свойство Символы.* глобального контекста
- Процедура ПолучитьЗаголовокСистемы()
- Процедура УстановитьЗаголовокКлиентскогоПриложения()
Свежие комментарии
- Александр К. к записи Функция ЗначениеЗаполнено()
- Олег к записи Функция ЗначениеЗаполнено()
- Александр К. к записи Как преобразовать таблицу значений в структуру?
- Михаил к записи Как преобразовать таблицу значений в структуру?
- Александр К. к записи Как получить формат даты месяц год?
Читайте также: