Метод объекта не обнаружен

Содержание

"Метод объекта не обнаружен" после внезапного отключения электричества!

Я
aleks159 Здравствуйте, уважаемые гуру!) Я обычный ИП, уровень знания 1С поверхностный, но постараюсь все изложить достоверно))
После внезапного отключения электричества с запущенной 1С стал получать вот такое сообщение: "Метод объекта не обнаружен (ПолучитьДоступноеПодключаемоеОборудование)" Вот все нормально работало, а теперь вылезло это окно и никак не могу его победить. Появляется после нажатия на РМК — Регистрация продаж — вылазит это окно(
История: Недавно обновлял саму 1С на следующую версию, более новую и поэтапно обновил все версии конфигурации. Все установилось на отлично, ни сбоев, ни ошибок не было. С момента обновления все нормально функционировало где-то недели 1,5-2.
Подскажите, пожалуйста в чем проблема) буду благодарен за помощь)
Еще смог зайти через отладку и увидеть вот это:

{Обработка.РМКУправляемыйРежим.Форма.Форма.Форма(1414)}: Метод объекта не обнаружен (ПолучитьДоступноеПодключаемоеОборудование)    ПодключаемоеОборудованиеРТ.ПолучитьДоступноеПодключаемоеОборудование(ИспользоватьПодключаемоеОборудование, ПодключаемоеОборудованиеЕстьТСД, ПодключаемоеОборудованиеЕстьВесы); но весами не пользуемся и ТСД тоже не понятно что это. Из подключенного оборудования только нефискальный регистратор FPrint55 и сканер штрих-кодов Honeywell. Может быть причина в этой строчке?

Также обнаружили ошибки и в других разделах 1С: при нажатии на "Поддержка и обслуживание" появляется похожее окно, но написано: "Метод объекта не обнаружен (ПолучитьСтруктуруНастроекПомощника)".

Услуги (Акт): Ошибка "Метод объекта не обнаружен (УстановитьВидЭД)

Еще не могу закрывать смену и пробивать чеки(((
Помогите, пожалуйста! Магазин просто стоит и не работает!!!
Информация: 1С:Предприятие 8.3 (8.3.9.1850), Розница (базовая), редакция 2.2 (2.2.4.33).
 
 

   Лефмихалыч Удали базу из списка и добавь обратно и бэкапы же есть у тебя, да? если нет, то можно начать уже задумываться о том, чтобы приступитьк  тому, чтобы их когда-то начать делать    aleks159

Фото ошибки: https://yadi.sk/i/GeCQgNhT33WPiR

   bodri

Если зайти в торговое оборудование, что происходит?
можно ещё кэш прочистить

   aleks159 (1) Спасибо, сейчас попробую) Полноценные бэкапы научился делать вот только после этого случая(( до этого копировал только саму папку "RetailBase"    bodri

(4) тоже кое-какой бекап

   aleks159

(3) В оборудование спокойно пускает, все работает, все определяется.. Единственное первоначально драйвер на сканер штрихкодов выделывался, писал что не установлен.. Но я с сайта скачал последний и обновил. С этого момента все работает без ошибок вроде

   Волшебник

Модератор

Бэкапы придумали трусы!

   Лефмихалыч

(4) ну, копия папки с файловой базой — это и есть бэкап. Если ты говоришь "Полноценные бэкапы" про выгрузку в dt, то ты лучше вернись обратно к копированию папки

   aleks159

(8) да-да, как раз это и имел ввиду) значит буду просто папку копировать)) а dt нельзя делать? и почему это плохо, не расскажете?)

   aleks159

(1) Лефмихалыч, большущее спасибо Вам! Все заработало! Я уже что только не пытался, даже конфигурацию пытался заменить от другой базы, вновь созданной.. А тут на тебе, одно сообщение и проблема решена! Парни, всем Вам спасибо ОГРОМНОЕ за помощь, Вы — молодцы!!!

 
     Лефмихалыч

(9) выгрузка в dt — это только и всего лишь средство сделать из файловой базы клиент-серверную. Для резервного копирования оно не предназначено, т.к. целостности не гарантирует.

http://its.1c.ru/db/metod8dev#content:2922:hdoc

   aleks159

(11) Все понял, еще раз спасибо за помощь! 🙂

   Umga2002

11. Зачем некорректно читаешь инструкции.

Ну и где написано что не поддерживает целостность.

Не вводите в заблуждение пользователей.

10 лет пользуюсь выгрузкой — ни разу не было сбоев…

   CepeLLlka

(11)Ооуу, Оооу.. То есть была файловая база, сделал клиент-серверную, а база то неполная оказалась, найс средство 🙂

   Лефмихалыч

(14) нет. после выгрузки в dt база может не загрузиться из этого dt. В этом случае делаешь повторную выгрузку.

   Лефмихалыч

(13) тебе 10 лет везет просто, купи лотерейный билет.
Поиском по форуму можешь поискать веселые истории о том, что люди думали, что у них есть бэкапы до тех пор, пока не настала пора из этих бэкапов восстановиться

   MiniMuk

(16) так админи так и делятся, кто делает бекапы, кто не делает, и кто их проверяет

   Одинесю

(13) Попробуй выгрузить-загрузить dt с внутренней таблицей более 4 Гб

 

Наведи порядок в своей работе используя конфигурацию 1C "Управление IT-отделом 8"

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

ОШИБКА: Метод объекта не обнаружен ПолучитьОбъект()

Я mihalich979 Конфа самописная 1С 8.3.10Вот кусок кода:

    Режим = РежимДиалогаВыбораФайла.Открытие;          ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим);     Фильтр = "CSV (*.csv)|*.csv";     ДиалогОткрытия.Фильтр = Фильтр;     ДиалогОткрытия.МножественныйВыбор = Ложь;     ДиалогОткрытия.Заголовок = "Выберите файл";     Если ДиалогОткрытия.Выбрать() Тогда         ИмяФайла = ДиалогОткрытия.ПолноеИмяФайла;     Иначе         Предупреждение("Нет выбранного файла!");     КонецЕсли;          Таблица = Новый ТаблицаЗначений;    &nbsp//очищаем таблицу и удаляем информацию     Таблица.Очистить();     Таблица.Колонки.Очистить();    &nbsp// чтение     ЗагружаемыйФайл = Новый ТекстовыйДокумент;     ЗагружаемыйФайл.Прочитать(ИмяФайла);         &nbsp//шапка по умолчанию первая строчка     Шапка = ЗагружаемыйФайл.ПолучитьСтрoку(1); Уважаемый all помогите. 
     mihalich979 ОШИБКА метод объекта не обнаружен ПолучитьСтроку() П.С. В заголовке ошибка    Heckfy А где в коде ПолучитьОбъект()??? ЗЫ: Вангую, код выполняется на клиенте. 🙂    Heckfy Вот этот ШЕДЕВР 🙂     Таблица = Новый ТаблицаЗначений;    �//очищаем таблицу и удаляем информацию     Таблица.Очистить();     Таблица.Колонки.Очистить(); Тоже не будет на клиенте работать.
Вот это:     ЗагружаемыйФайл = Новый ТекстовыйДокумент;     ЗагружаемыйФайл.Прочитать(ИмяФайла); не есть гуд. На больших файлах получишь жестокий тупняк лучше замени на Новый ЧтениеТекста    mihalich979

(3) работает  в толстом клиенте прекрасно.
(2) получитьОбъект() — это про какой именно объект?

   Волшебник

Модератор

в цитируемом фрагменте кода ПолучитьОбъект не найден

   mihalich979 Возможно я что-то делаю не так.

Задача:

— Есть файл CSV (разделитель ";") который надо загрузить в таблицу документа
что хочу:

— заполнить таблицу документа на основании данного файла

что делаю:

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

П.С. Файл формализован изначально, и я не могу повлиять на его содержимое.

Метод объекта не обнаружен (причины возникновения)

Редактирование файла перед загрузкой не рассматривается.

П.П.С. запутался немного что на клиента что на сервере делать и как между ними передавать данные.

Вот мой код:

&НаКлиенте
Процедура Загрузить(Команда)              Режим = РежимДиалогаВыбораФайла.Открытие;          ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим);     Фильтр = "CSV (*.csv)|*.csv";     ДиалогОткрытия.Фильтр = Фильтр;     ДиалогОткрытия.МножественныйВыбор = Ложь;     ДиалогОткрытия.Заголовок = "Выберите файл";     Если ДиалогОткрытия.Выбрать() Тогда         ИмяФайла = ДиалогОткрытия.ПолноеИмяФайла;     Иначе         Предупреждение("Нет выбранного файла!");     КонецЕсли;              &nbsp// чтение    &nbsp//ЗагружаемыйФайл = Новый ТекстовыйДокумент;     ЗагружаемыйФайл = Новый ЧтениеТекста;     ЗагружаемыйФайл.Прочитать(ИмяФайла);         &nbsp//шапка по умолчанию первая строчка     Шапка = ЗагружаемыйФайл.ПрочитатьСтрoку();         &nbsp//раскладываем строку в массив     МассивКол = РазложитьСтрокуВМассивПодстрок(Шапка,";");// процедура из типовой конфигурации, разбивает строку в массив по разделителям          Таблица = Новый ТаблицаЗначений;    &nbsp//очищаем таблицу и удаляем информацию     Таблица.Очистить();     Таблица.Колонки.Очистить();         &nbsp//генерируем столбцы     Для Каждого ИмяСтолбца Из МассивКол Цикл         ИмяБезПробелов = СтрЗаменить(ИмяСтолбца," ","");// убираем из имени пробелы         Таблица.Колонки.Добавить(ИмяБезПробелов,,ИмяСтолбца);         НовыйСтолбец = Таблица.Колонки.Добавить(ИмяБезПробелов, ИмяСтолбца);         НовыйСтолбец.Данные = ИмяБезПробелов;     КонецЦикла;          Для НомерСтроки=2 по ЗагружаемыйФайл.КоличествоСтрок() Цикл             &nbsp// получить стрoку с указанным номером и преобразуем её в массив         Строка = ЗагружаемыйФайл.ПрочитатьСтроку()//ПолучитьСтроку(НомерСтроки);         МассивКол = РазложитьСтрокуВМассивПодстрок(Строка,";")// процедура из типовой конфигурации, разбивает строку в массив по разделителям         НоваяСтрочка= Таблица.Добавить();                  Если МассивКол.Количество() <> Таблица.Колонки.Количество() Тогда             Продолжить;// скорее всего в тексте содержит разделитель         КонецЕсли;                  Для НомерСтолбца= 1 по МассивКол.Количество() Цикл            &nbsp//заполняем строчку значениями             ТекущееЗначение = МассивКол;             ИмяКолонки = Таблица.Колонки.Имя;             НоваяСтрочка = ТекущееЗначение;         КонецЦикла;              КонецЦикла;          ТабДанныеЗаМесяц = ЭтотОбъект.Элементы.ДанныеЗаМесяц;     Для Каждого Строка ИЗ Таблица Цикл         НоваяСтрока = ТабДанныеЗаМесяц.ДобавитьСтроку();         НоваяСтрока.Дата = Строка.Дата;     КонецЦикла;          КонецПроцедуры &НаСервере Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",",     Знач ПропускатьПустыеСтроки = Неопределено)     Результат = Новый Массив;    &nbsp// для обеспечения обратной совместимости     Если ПропускатьПустыеСтроки = Неопределено Тогда         ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь);         Если ПустаяСтрока(Строка) Тогда             Если Разделитель = " " Тогда                 Результат.Добавить("");             КонецЕсли;             Возврат Результат;         КонецЕсли;     КонецЕсли;    &nbsp//     Позиция = Найти(Строка, Разделитель);     Пока Позиция > 0 Цикл         Подстрока = Лев(Строка, Позиция — 1);         Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда             Результат.Добавить(Подстрока);         КонецЕсли;         Строка = Сред(Строка, Позиция + СтрДлина(Разделитель));         Позиция = Найти(Строка, Разделитель);     КонецЦикла;     Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда         Результат.Добавить(Строка);     КонецЕсли;     Возврат Результат; КонецФункции

   mihalich979 (6)
попытался заменить на "чтениетекста" еще не работает в данном виде    mihalich979 ура. что-то получилось.

передал файл на сервер во временное хранилище и получил его оттуда и смог прочитать.

&НаКлиенте
Процедура Загрузить(Команда)              Режим = РежимДиалогаВыбораФайла.Открытие;          ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим);     Фильтр = "CSV (*.csv)|*.csv";     ДиалогОткрытия.Фильтр = Фильтр;     ДиалогОткрытия.МножественныйВыбор = Ложь;     ДиалогОткрытия.Заголовок = "Выберите файл";     Если ДиалогОткрытия.Выбрать() Тогда         ИмяФайла = ДиалогОткрытия.ПолноеИмяФайла;     Иначе         Предупреждение("Нет выбранного файла!");     КонецЕсли;         &nbsp// создадим тестовый файл для передачи          ОповещениеОЗавершении = Новый ОписаниеОповещения("ВыполнитьПослеПомещенияФайла", ЭтотОбъект);         НачатьПомещениеФайла(ОповещениеОЗавершении,         ,// адрес в хранилище         ИмяФайла,// имя файла         Ложь,// интерактивно         ЭтаФорма.УникальныйИдентификатор);    &nbsp// если опустить последний параметр, то помещенный файл    &nbsp// будет удален после очередного запроса сервера    &nbsp// а если указать — то только после удаления объекта формы    &nbsp// если нужно предоставить пользователю возможность    &nbsp// выбрать файл самому четвёртый параметр (интерактивно)    &nbsp// нужно установить в Истина КонецПроцедуры &НаСервере Процедура ПрочитатьФайлНаСервереИзХранилищаНаСервере(АдресФайлаВХранилище)     Если АдресФайлаВХранилище = "" Тогда         Сообщить("Сначала нужно передать файл с клиента на сервер.");         Возврат;     КонецЕсли;     ДвоичныеДанные =         ПолучитьИзВременногоХранилища(АдресФайлаВХранилище);     Если ДвоичныеДанные = Неопределено Тогда         Сообщить("Похоже файл уже был удалён из хранилища.");         Возврат;     КонецЕсли;     ДвоичныеДанные.Записать("c:\temp\server.txt");     Текст = Новый ЧтениеТекста("c:\temp\server.txt");     Пока Истина Цикл         Строка = Текст.ПрочитатьСтроку();         Если Строка = Неопределено Тогда             Прервать;         Иначе             Сообщить(Строка);         КонецЕсли;     КонецЦикла; КонецПроцедуры &НаКлиенте Процедура ВыполнитьПослеПомещенияФайла(Результат, Адрес,     ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт     Если Результат Тогда        &nbsp// сохраним полученный адрес в реквизит формы         АдресФайлаВХранилище = Адрес;         Сообщить(             "Наконец-то! Файл " +             ВыбранноеИмяФайла + " передан на сервер и сохранён во " +             "временном хранилище по адресу " + Адрес);     Иначе         Сообщить("Не удалось передать файл на сервер.");     КонецЕсли;          ПрочитатьФайлНаСервереИзХранилищаНаСервере(АдресФайлаВХранилище) КонецПроцедуры

 

Наведи порядок в своей работе используя конфигурацию 1C "Управление IT-отделом 8"

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Устранение ошибки метод объекта не обнаружен (ИзменитьПодсказкуРегНомера)

Особенности использования проверки конфигурации

Механизм проверки конфигурации позволяет выявить ошибки, которые не являются критичными для функционирования прикладного решения в принципе, но наличие которых может существенно снизить скорость работы прикладного решения или даже привести к возникновению ошибок при работе в некоторых специальных режимах.
Выполнение данных проверок не является обязательным (как, например, в случае синтаксического контроля), но является желательным, например, для проверки конфигурации перед поставкой заказчику, перед выпуском тиражного решения, для проверки после массированного удаления объектов или после объединения конфигураций.
Механизм проверки конфигурации включает в себя несколько тестов. Часть этих тестов доступна и в других режимах конфигуратора, а остальные специально разработаны дляэтого механизма.
Рассмотрим особенности этих тестов:

Проверка логической целостности конфигурации

Проверка логической целостности конфигурации включает в себя ряд стандартных проверок целостности прикладных объектов, которые обычно выполняются автоматически перед обновлением конфигурации базы данных.

Например проверка того, что все объекты метаданных в пределах одной ветки имеют уникальные имена.

Поиск некорректных ссылок

Конфигурацияна платформе 1С:Предприятие 8.1 представляет собой набор взаимосвязанных объектов. Каждый объект определяется его свойствами. Эти свойства могут содержать ссылки на другие объекты метаданных.

Ссылки бывают прямые (например, свойство справочника ОсновнаяФорма ссылается на объект метаданных Форма) или косвенные. К косвенным относятся, например, ссылки на типы, относящиеся к объекту метаданных, например СправочникСсылка.Номенклатура или ссылки на предопределенные значения объекта.

Свойства объектов метаданных можно разделить на простые и сложные. К простым, например, относятся Имя, Синоним, Тип, ОсновнаяФорма и другие. Сложными свойствами являются Форма, Макет, Интерфейс, Права, СправочнаяИнформация.

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

Например, нельзя удалить форму, если ссылка на нее содержится в свойстве справочника.

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

Метод объекта не обнаружен при вызове функции

Предполагается, что после объединения разработчик вручную поправит неразрешимые ссылки. Обязательная проверка простых свойств на корректность выполняется при обновлении конфигурации.

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

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

Для поиска и исправления таких ситуаций предназначен механизм поиска некорректных ссылок. Он позволяет определить только факт наличия неразрешимых ссылок в той или иной форме. Их поиск и исправление возлагается на разработчика.

Ниже приведены некоторые рекомендации, которые могут помочь в данном процессе.

Неразрешимыессылки в справочной информации

Если неразрешимые ссылки обнаружены в модуле справки, то для их локализации и исправления следует проверить работоспособность всех ссылок, находящихся в указанном модуле.

Если ссылка не работает, но существует объект, на который она ссылается — нужно скорректировать ссылку. Если объект, на который указывает ссылка, отсутствует — нужно, как минимум, очистить ссылку и, возможно, удалить соответствующий текст справки.

Некорректные ссылки в формах объектов

Если неразрешимые ссылки обнаружены в форме объекта, то для их локализациипрежде всего следует проверить на непустое значение свойства формы и свойства элементов формы (например такие свойства, как Цвет, Шрифт, Рамка и т.д.). Для табличного поля следует также проверить свойства колонок и элементов управления, расположенных в колонках.

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

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

Также довольно распространенным случаем некорректных ссылок может быть неправильный перечень реквизитов объекта в свойстве формы Сохраняемые значения. Для исправления таких ссылок необходимо открыть окно настройки этого свойства, и ничего не меняя нажать ОK.

Также следует проверять связи с данными.  Например, для свойств Связь по владельцу и Связь по типу нужно убедиться, что в окне формы настройки связи будет выбрано конкретное значение. Если нет — нужно заново выбрать нужное значение.

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

Для автоматизации поиска неразрешимых ссылок можно использовать Проверку конфигурации (команда Конфигурация — Проверка конфигурации в Конфигураторе).

Общие рекомендации 

Самый лучший способ борьбы с неразрешимыми ссылками — по возможности не допускать их появления.

Например, как было указано, при удалении объекта конфигуратор проверит наличие ссылок на удаляемый объект, но только в простых свойствах. Поэтому перед удалением рекомендуется провести полный поиск. Обратите внимание, что начиная с релиза 8.1.10, при выполнении команды "Поиск ссылок на объект" (и "Поиск ссылок в объекте") можно указать поиск во всех свойствах.

Синтаксический контроль модулей

Механизм проверки конфигурации предоставляет расширенные возможности синтаксического контроля модулей. Они позволяют проверить работоспособность конфигурации во всех режимах, предусмотренных разработчиком. Для того, чтобы понять назначение каждого из режимов, рассмотрим подробнее особенности исполнения модулей в платформе 1С:Предприятие 8.1.

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

Все модули, с точки зрения режимов исполнения, можно разделить на 5 групп. Это общие модули, модуль приложения, модуль внешнего соединения, модули хранимых объектов (обобщенное название, сюда относятся модули объектов, наборов записей) и модули форм.
Общие модули могут выполняться на клиенте, на сервере и в режиме внешнего соединения. Доступность конкретного общего модуля в каждой из этих сред определятся соответствующим свойством. 
Модуль приложения всегда исполняется на клиенте.
Модуль внешнего соединения всегда исполняется в режиме внешнего соединения.
Модули хранимых объектов могут исполняться везде. Это зависит того, где был создан соответствующий объект.
Модули форм всегда исполняются только на клиенте. 

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

Для выявления подобных "тонких" случаев, механизм проверки конфигурации предоставляет проверки модулей во всех пяти вариантах среды исполнения.

Работа клиентского приложения

Синтаксический контроль модулей в режиме эмуляции сеанса клиентского приложения в файловом варианте работы.

Работа внешнего соединения

Синтаксический контроль модулей в режиме эмуляции сеанса внешнего соединения в файовом варианте работы.

Среди наиболее часто встречающихся ошибок при тестировании работы в режиме внешнего соединения, можно выделить следующие:

  • Вызов метода глобального контекста, который неможет быть использован в режиме внешнего соединения (например, ВвестиЗначение());

  • Использование свойства глобального контекста, которое не может быть использовано в режиме внешнего соединения (например, РабочаяДата);

  • Создание объекта, который не может быть использован в режиме внешнего соединения (например, Цвет);

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

  • Вызов процедур общего модуля, для которого не установлено свойство использования во внешнем соединении.

Для исправления подобных ошибок следует установить свойство Внешнее соединение общего модуля, либо, если вызываемая процедура используется только в режиме внешнего соединения, перенести ее в отдельный общий модуль с установленным свойством Внешнее соединение. Также, для исправления подобных ошибок, можно использовать директивы препроцессора, в явном виде указывающие контекст исполнения участка кода. Например, модули отчетов и обработок можно полностью ограничивать операторами #Если Клиент Тогда#КонецЕсли.

  • Использование переменных, определенных в модуле приложения;

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

Работа клиентского приложения в режиме клиент-сервер

Синтаксический контроль модулей в режиме эмуляции сеанса клиентского приложения в клиент-серверном варианте.

Работа внешнего соединения в режиме клиент-сервер

Синтаксический контроль модулей в режиме эмуляции сеанса внешнего соединения в клиент-серверном варианте.

Работа сервера 1С:Предприятия

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

Среди наиболее часто встречающихся ошибок при тестировании работы на сервере 1С:Предприятия, можно выделить следующие:

  • Вызов метода глобального контекста, которыйне может быть использован на сервере (например, Предупреждение());

  • Использование свойства глобального контекста, которое не может быть использовано на сервере (например, РабочаяДата);
  • Создание объекта, который не может быть использован на сервере (например, Цвет);

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

  • Вызов процедур общего модуля, у которого не установлен признак использования на сервере;

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

  • Использование переменных, определенных в модуле приложения;

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

Например: Переменная модуля приложений — глТекущийПользователь и ПараметрСеанса — ТекущийПользователь.

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

Общие рекомендации

Для обеспечения работоспособности модулей в различных режимах можно использовать директивы препроцессора (такие как #Если Клиент Тогда#КонецЕсли).
Для того чтобы учесть отличие файлового варианта работы от клиент-серверного, можно использовать тот факт, что в клиент-серверном варианте работы для случая, например, сеанса клиентского приложения будет определен только один контекст: либо клиента, либо сервера, а в файловом варианте работы оба контекста будут определены одновременно. Ну и, наконец, следует учитывать, что контексты клиента и внешнего соединения одновременно не будут определены никогда.

Поставка модулей без исходных текстов

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

Логическая проверка модулей

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

Поиск неиспользуемых процедур и функций

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

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

Следует учитывать, что в некоторых случаях определение процедуры или функции как неиспользуемой может выполняться некорректно. Это относится к случаям динамического назначения обработчиков событий при помощи объекта Действие и методов УстановитьДействие() и ПодключитьОбработчикОжидания().

Проверка существования назначенных обработчиков

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

Поиск пустых обработчиков

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

Метод объекта не обнаружен (ПолучитьФорму) UDSGame

При выполнении обмена выходит сообщение об ошибке:

Я
   Castlevania Ошибка при выгрузке данных для узла плана обмена Объект = Тестовая ОписаниеОшибки = Метод объекта не обнаружен (ОпределитьТипОтправкиДанных) ПозицияМодуля = Обработка.ОбменДаннымиXML(11644) КодСообщения = 72 УзелПланаОбмена = Получатель Окончание выгрузки: 05.06.200910:26:09 Произошла ошибка при выгрузке объектов. Было выгружено: 0Запись изменений текущей информационной базы в файл обмена завершилась с ошибками!
Обмен данными по настройке "УТУПП" завершен (10:26:09).
 
     ТелепатБот

Книга знаний: Инкрементальный экспорт с ипользованием Конвертации Данных v8
Книга знаний: Быстрое создание и настройка правил обмена для зависимых объектов в Конвертации Данных v8

   Castlevania

Кроме Телепат-Бота есть еще варианты?

   Castlevania

То, что описано в "Книга знаний: Инкрементальный экспорт с ипользованием Конвертации Данных v8" не работает

   Castlevania

ап

   Castlevania

Мертвый форум 🙁

   rcs

Все в разделе LIFE, пятница однако…

   Castlevania

Кому пятница, а кому и работа 🙁

   GenV

(0) План обмена свой используешь или типовой?

   hhhh

скорее всего пустой объект передаешь. От нас то ты что хочешь. Отладчик в зубы, ставь точку останова на строке 11644. Или лучше сделай там ПОпытку Исключение и точку останова поставь в исключении. Ну и посмотреть, что там за объект ты им подсовываешь, и есть ли у него этот метод "ОпределитьТипОтправкиДанных".

   zbv

в модуле плана обмена нет экспортной процедуры "ОпределитьТипОтправкиДанных"

 
 

 

Наведи порядок в своей работе используя конфигурацию 1C "Управление IT-отделом 8"

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.

Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.