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

Обновлено: 04.07.2024

Задача: В "1С:Управление торговлей 11" (релиз 11.06.7). В форме документа счет-фактура выданный аванс заполнить табличную часть Авансы на основании документа поступление безналичных денежных средств.

1) Перед заполнением табличной части документа получить от пользователя подтверждение на это действие;

2) Обработку создания документа сделать внешней и подключаемой к форме документа счет-фактура на аванс выданный;

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

Пункты 1 и 2 не представляют особой сложности, но пункт 3 заставил меня задуматься и написать, по-моему мнению, топорный, но исправно действующий код.

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

Приведу код в модуле обработки:

Так как нам придется работать с формами объектов, мы просто вынуждены использовать метод ВызовКлиентскогоМетода для вызова команды внешней обработки.

Напомню, при использовании ВызовСерверногоМетода с формами объектов работать не получится.

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

Так как мы использовали ВызовКлиентскогоМетода, то обязательную процедуру, для внешней подключаемой обработки заполнения объектов, ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт, необходимо выполнять &НаКлиенте в модуле формы обработки, а значит создадим любую форму обработки, пользователь её всеравно не увидит, и поместим внутрь модуля формы следующий код:

Ниже приведу код, который у вас может быть совершенно другим и делать какие-либо другие манипуляции с объектом формы:

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

Поэтому если есть другое решение поставленной задачи, то обязательно сообщите о нем.

Заполнение табличной части документа счет-фактура на аванс

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

(1) Не разбираешься, не лезь. И описывать различия не требуется, кто в теме, в курсе.

Разница такая, что в этой статье описана методика заполнения объекта (аналог из УПП 1.2 или УТ 10.3 - заполнение табличных частей), а в другой - описание создания связанных объектов или ввода на основании.
Статья полезная, сам думал, как бы это сделать пооптимальней. Намудили Намудрили разработчики с БСП.

criptid; cheburashka; Denis_Lebedinsky; Serg3141; stoptime; Enyel; hromovanton; Dmitri93; Krasnyj; klmop; MarinaLed; Lo1jke; dbachinsky; Spacer; tkv44; shard; biz-intel; KazeNoYaida; ShyThun; kote; Cobalt River; Nuobu; Denizzz; + 23 – 2 Ответить Вроде как в первом случае используется СозданиеСвязанныхОбъектов
а во втором ЗаполнениеОбъекта
в принципе задача то одна, а вот решения разные. Обратил внимание на ВыполнитьКоманду В данном контексте читать как "Результат один"
Понимаю, что основной задаче для автора является ее реализация.
полностью согласен. БСП еще допиливать и допиливать

(0) Автор, все еще жду ответа и исправления в описании!

(3) 1. Будь вежливее.
2. Цель моего предложения в (1) - автор ДОЛЖЕН расписать отличие одной обработки от другой, чтобы пользователь сайта, который не разбирается в этом (а ведь статья именно для таких пользователей! ), мог понять отличие и назначение каждой статьи.
Если ТЕБЕ эта моя цель непонятна/недоступна, это твои проблемы!
Уважаю тебя за твои работы, но здесь ты неправ.

ЗЫ На будущее - Не лезь и не обсуждай работу Модераторов.

Ляль Дикий; echo77; 1c.pro.fun; Lyolik; copperfox; pipetkabeatboo; www2000; altimait; + 8 – 3 Ответить

Разница публикаций очевидна из их названия.
Поясню:
1) Создание связанных объектов
2) Заполнение объекта

Задачи поставлены разные.
1) Создать документ счет-фактура выданный аванс на основании документа поступление безналичных денежных средств
2) В форме документа счет-фактура выданный аванс заполнить табличную часть Авансы

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

Я мог конечно написать только суть и даже не публиковать обработку, но тогда по собственному опыту скажу, что были бы только вопросы и плевки в мою сторону, особенно у новичков.

TaTaPuH-Magic; taasha25; baracuda; KarV; svartemov; drcrasher; Denizzz; Поручик; + 8 – Ответить (10) Успокойся, здесь люди всё таки адекватные, статью не удалят.
Это две разные публикации о разных задачах. Заявляю, как человек постоянно с прошлого года работающий с УТ 11 и вообще с БСП.
- это вполне может быть, здесь полно таких, вот я, к примеру. Поэтому Вам предложили только более понятно описать, о чем материал в статье, чтобы нам, "чайникам", было понятно. Удалять статьи никто не собирался. Подскажите можно ли как то делать отладку внешней подключаемой обработки?
И как какая тут последовательность надо вначале создать документ "счет-фактура выданный аванс" потом выбрать у него в основание "поступление безналичных денежных средств" а потом нажать заполнение? Хм, а если после выполнения обработки при любой попытке изменить реквизит или просто сохранить пишет «Ошибка блокировки объекта. Объект уже заблокирован <наименование сеанса>» ? Разобрался.
Опа, нет ещё.
Короче, нифига не выходит с заполнением формы без сохранения данных в объекте: форма заполняется - но больше с ней ничего не сделать: «Ошибка блокировки объекта. Объект уже заблокирован». Пришлось в серверной процедуре записывать объект с помощью ДанныеФормыВЗначение. Пытался прикрутить к УТ 11.0.6.7 заполнение графы «Основание» в ПКО описанием документа-основания ПКО. как обойти «Ошибка блокировки объекта. Объект уже заблокирован», подскажите оч надо Кстати, а зачем обработка заполнения ТЧ счета-фактуры на аванс?
На мой взгляд правильней заполнять с/ф в обработке формирования с/ф на аванс.

Кстати, а зачем обработка заполнения ТЧ счета-фактуры на аванс?

На мой взгляд правильней заполнять с/ф в обработке формирования с/ф на аванс.

Это лишь пример реализации интерактивного заполнения ТЧ. Можно было бы заполнять другую ТЧ, но суть решения не изменилась бы.

Хм, а если после выполнения обработки при любой попытке изменить реквизит или просто сохранить пишет «Ошибка блокировки объекта. Объект уже заблокирован <наименование сеанса>» ?

Верно подмечено. Разбираюсь в этой проблемой в данный момент.

?
Не хочу троллить, но автор сам пользовался этой обработкой? Сталкнулся с проблемой когда созданная внешняя обработка по загрузке прайса из XLS в док заказ клиента - выдавал в документе что он заблокирован, и в результате после заполнения таблич части документа нельзя было его не записать не сохранить - это безусловно баг УТ 11 и пофиксят непонятно в каких релизах потом - но проблема осталась!

Короче, нифига не выходит с заполнением формы без сохранения данных в объекте: форма заполняется - но больше с ней ничего не сделать: «Ошибка блокировки объекта. Объект уже заблокирован». Пришлось в серверной процедуре записывать объект с помощью ДанныеФормыВЗначение. Пытался прикрутить к УТ 11.0.6.7 заполнение графы «Основание» в ПКО описанием документа-основания ПКО.

Вопрос блокировок конечно очень обширный, поэтому я хотел бы для себя разобраться для начала в каком то одном частном вопросе. А именно как работает свойство БлокироватьДляИзменения у набора записей в 8.2 в управляемом режиме (SQL). Если для предыдущих версий платформы все достаточно понятно, так например:
Для 8.1 (Автоматический режим) ответы будут следующие:
1) Когда читаются данные, которые необходимо изменять в текущей транзакции необходимо в запросе указывать "ДЛЯИЗМЕНЕНИЯ"
2) Блокировка накладывается в момент выполнения запроса, диапазон блокируемых данных определяется условиями в запросе.
3) Блокируется запись, а так же чтение другими транзакциями, запросы которых используют директиву "ДЛЯИЗМЕНЕНИЯ"

Для 8.1 (Управляемый режим)
1) Когда читаются данные которые необходимо изменять в текущей транзакции нужно установить исключительную блокировку, когда необходимо просто обеспечить неизменность прочитанных данных - разделяемую.
2) Блокировка устанавливается явно, методом Заблокировать() блокируемые записи так же явно указываем в коде.
3) Разделяемая - запрещает запись, Исключительная - Чтение и запись

Для 8.2 (Управляемый режим) в принципе верно тоже что и для 8.1 (Управляемый),
но это если использовать старую методику - сначала контроль остатков, потом проведение.
Как действовать при новой методике, непонятно. ответ судя по всему кроется в понимании принципов работы этой самой "БлокироватьДляИзменения"

я так думаю нужно переделать в обработке каркас а именно это
Форма = ОткрытьФорму("Документ.СчетФактураВыданныйАванс.Форма.ФормаДокумента",КлючПоиска. Окно);

//Далее мы получаем объект только, что повторно открытой формы и помещаем её в переменную
//В объекте содержатся все реквизиты (элементы) формы
НовыйОбъект = Форма.Объект;

Стандартное Тестирование и исправление, а также утилита ошибок не выявляет.
Выгрузка и загрузка (.dt) тоже проходит без проблем.

Подскажите, пожалуйста, может кто сталкивался с подобной проблемой?

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Неправильный путь к файлу
Я хочу запустить .exe файл и указываю полный путь с указанием диска но он ругается на этот путь .


Как программно получить путь к файлу конфигураций программы (файлу user.config)?
Задался целью программно очистить параметры программы, которые сохраняются в файле user.config.

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

Разбить путь к файлу на части - путь, файл и расширение
Как разбить путь к файлу на части - путь, файл и расширение? Например: c:\kuku\part1\name.txt .

Попробуй протестировать саму конфигурацию:
Конфигурация -> Проверка конфигурации

Спасибо за совет!

Подскажите, пожалуйста, дальнейшие действия над результатами проверки.

Это могут быть проблемы типовой конфигурации.

1c-k, спасибо! Это было сделано в первую очередь.

HIPPOza, тогда надо схему скд проверять.

Добавлено через 35 секунд
HIPPOza, если всё таки не проедет на последнюю версию, дождаться следующей и не биться головой об стену. 1с такой 1с.

HIPPOza, если всё таки не проедет на последнюю версию, дождаться следующей и не биться головой об стену. 1с такой 1с.

Дык она ни на какую не обновляется! На первом этапе стреляется с вышеуказанной ошибкой.
Подобно как и при выгрузке в файл .cf

Как вычислить эту ссылку, убить ее, вычистить или еще что? Вот в чем вопрос.

HIPPOza, в файловом варианте chkdbl запускался? только на копии обязательно. HIPPOza, если chkdbl не поможет, (сохранив конфигурацию поставщика в файл) попробуйте загрузить конфигурацию из файла

Если имеется ввиду chdbfl.exe, и ее тоже использовал. Рапортует об успешной проверке. Ошибка при обновлении или выгрузке конфы в .cf осталась.

Подскажите, пожалуйста, как сохранить конфигурацию поставщика в файл?

Подскажите, пожалуйста, как сохранить конфигурацию поставщика в файл? Конфигурация -> Поддержка -> Настройка поддержки -> Сохранить

Попробовал. Как ни печально, та же ошибка, на том же месте ((


Вот лог обновления:

Неправильный путь приложения
Здравствуйте! Помогите, пожалуйста, кто — чем сможет. Ещё не сталкивался с таким. Каждый день по.

Неправильный путь приложения
Описание Неправильный путь приложения: C:\RstrLinkWeb\Bin\AppMIWSLauncherHighest.exe Сигнатура.


Ant и неправильный путь
Структура проекта: -build --classes --jar -src --main ---java(sources) ---resources .

Ошибка при вызове метода контекста (Подключить)
Имя = ВнешниеОтчеты.Подключить(АдресВХранилище);
по причине:
Ошибка подключения внешних метаданных
по причине:
Неправильный путь к файлу 'e1cib/tempstorage/dfbfec9b-2d93-496e-8f17-7c8429312d6

Что я делаю не так?

(1) invertercant, путь проверяй. Глянь через отладчик чему равен АдресВХранилище. (2) demarine,
Адрес собственно вот e1cib/tempstorage/dfbfec9b-2d93-496e-8f17-7c8429312d6 Тип Строка
В синтакс-помощнике на эту тему:
ВнешниеОтчетыМенеджер (ExternalReportsManager)
Подключить(<Путь>, <Имя>, <БезопасныйРежим>)
.
<Путь> (обязательный) Тип: Строка.
.
Выполняет подключение внешнего отчета по указанному пути. В качестве пути может использоваться только путь к данным в конфигурации и базе данных.
Возвращает имя подключенного внешнего отчета.
.

Я так понимаю что e1cib/tempstorage/dfbfec9b-2d93-496e-8f17-7c8429312d6 и есть путь в базе данных. Или я не прав? Я так понимаю что e1cib/tempstorage/dfbfec9b-2d93-496e-8f17-7c8429312d6 и есть путь в базе данных. Или я не прав

Да это типо Навигационная ссылка.

НавигационнаяСсылка (URL)
Использование:

Чтение и запись.
Описание:

Тип: Строка.
Ключ ссылки, т.е. собственно сама ссылка.
Объект информационной базы - e1cib/data/<путь к метаданному>?ref="<идентификатор ссылки>";
Запись регистра информационной базы - e1cib /data/<путь к метаданному>?<имя ключевого поля>="<значение>"[&<имя ключевого поля>="<значение>"];
Реквизит объекта информационной базы - e1cib/data/<путь к метаданному>.<имя реквизита>?ref="<идентификатор ссылки>";
Реквизит табличной части объекта информационной базы - e1cib/data/<путь к метаданному>.<имя табличной части>.<имя реквизита>?ref="<идентификатор ссылки>"index="<индекс строки табличной части>";
Реквизит записи регистра информационной базы - e1cib/data/<путь к метаданному>.<имя реквизита>?<имя ключевого поля>="<значение>" [&<имя ключевого поля>="<значение>"];
Отчет - e1cib/app/<путь к метаданному>;
Обработка - e1cib/app/<путь к метаданному>;
Раздел - e1cib/navigationpoint /<имя раздела>;
Навигационная точка - e1cib/navigationpoint/<имя раздела>/<имя команды>;
Временное хранилище - e1cib/tempstorage/<идентификатор временного значения>.

Каждый из Вас сам решает, где ставить запятую. Те, кто ставит запятую после первого слова, могут посмотреть и оставить свои комментарии. Те же, кому приходилось сталкиваться с "хитрым" заказчиком, могут воспользоваться этим расширением.

Расширение для защиты внешних обработок. Несмотря на свой столь малый размер и количество кода, решает часть вопросов исполнения и защиты внешних обработок:

  1. Обработка, передаваемая заказчику, закодирована;
  2. Кодер/Декодер закодирован (обфусцирован, байт код защищен, тексты удалены);
  3. Исходный текст обработки при выполнении не изменен (что позволяет быстро идентифицировать ошибки);

Теперь коротко о том, как это работает:

  1. Необходимо установить обработку в любую конфигурацию в режиме управляемого приложения, интерфейс управляемых форм (если проект будет развиваться, будут и обычные формы);
  2. Если считаете необходимым, настройте безопасный режим и защиту от опасных действий (если такой необходимости нет, отключите их);
  3. Используя обработку «МиниБлок» включенную расширение закодируйте Вашу обработку (в архиве есть тестовая обработка);
  4. Используя обработку «МиниБлок» включенную расширение откройте Вашу закодированную обработку;

Логика открытия кодированной обработки:

Модуль формы обработки открыт. Ниже приводится только фрагмент позволяющий понять как происходит работа с закодированной обработкой:

Модуль менеджера объекта закодирован. Листинг этого модуля без алгоритма кодирования/декодирования предоставлен в полном объеме ниже:

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

Механизм защиты реализован в модуле обработки в связи с тем, что некоторые приложения работают в режиме совместимости версии 8.3.8 в котором нет возможности расширениями добавлять свои общие модули. Тестировалось на версии 8.3.10.2252 в обычном режиме работы и в режиме совместимости 8.3.8.

В данном расширении реализован только функционал работы с внешними обработками.

Востребована ли эта тема и нужно ли ее развивать?

Если тема будет интересна, то легким движением руки функционал расширяется для отчетов. А как максимальное развитие – расширение БСП для работы с кодированными обработками и отчетами.

Как вы видите функционирование кодера в данном расширении ограничено датой 31.12.2018.

Пользователи, при запуске 1С с удаленных компьютеров могут увидеть ошибку ”Неправильный путь к файлу”.

oknosowibkoi.jpg


Рис. 1. Окно с ошибкой

Прежде всего, нужно убедиться:
1.) Включен ли компьютер, на котором содержится база;
2.) Правильно ли прописан путь;
3.) Вставлены ли все сетевые провода или работает ли Wi-Fi.

Если все пункты соблюдены, то скорее всего неправильно настроены сетевые настройки. Обычно они могут слететь при обновлении операционной системы. Для решения данной проблемы мы должны:

Найти папку, в которой лежит база, и нажать по ней правой кнопкой мыши и выбрать пункт “Свойства”.

svoistvopapkisbazoi.jpg

Рис. 2. Свойство папки с базой

Далее переходим на вкладку “Доступ” и там нажать кнопку “Общий доступ”.

obwiydostup.jpg


Рис.3. Общий доступ

Появляется окно “Общий доступ к файлам”, там для пользователя “Все” должен быть установлен уровень разрешений “Чтение и запись”.

nastroikadostupakpapke.jpg


Рис. 4. Настройка доступа к папке

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

proverkapolnogodostupa.jpg


Рис. 5. Проверка полного доступа

Далее нужно нажать правой кнопкой мыши по значку сети внизу справа в углу и выбрать пункт “Открыть параметры сети и Интернет”:

parametryseti.jpg


Рис. 6. Открытие параметров сети

Появляется окно, в котором нам нужно выбрать пункт “Ethernet”, и после справа сверху в углу выбрать “Изменение расширенных параметров общего доступа”.

izmraswparametrov.jpg


Рис. 7. Изменение расширенных параметров общего доступа

chastnaya.jpg


Рис. 8. Сетевой профиль “Частная”

gostevaya.jpg


Рис. 9. Сетевой профиль “Гостевая или общедоступная”

vneseti.jpg


Рис. 10. Сетевой профиль “Вне сети”

Если были изменены какие-либо параметры, нажмите кнопку “Сохранить изменения”.

Читайте также: