Конвертация данных
Меня до сих пор волнует проблема, возникающая при переносе данных: «Недопустимый способ указания значения — Нпп»
Но! оно не дало ясности в решении проблемы, поясните пожалуйста, где отключить «такую-то галочку ПКО»?
В общем, я пытаюсь слить при помощи КД2 несколько баз по бухучету (бюджет, 1С 7.7) в одну базу. Все конфигурации идентичные, но я столкнулся со сложностями переноса периодических реквизитов и предопределенных перечислений (теряются ссылки).
Как я вижу решение:
1) в конфигураторе для источника для периодических реквизитов я снимаю галочки «периодический», и данные переносятся в приемник. Правильно ли я поступаю?
2) что делать с предопределенными перечислениями?
Технологии «Конвертации данных 2.0» позволяют вести обмена данными с информационными базами, реализованными на платформах «1С:Предприятие 7.7» и «1С:Предприятие 8.0». В силу особенностей работы платформы «1С:Предприятие 7.7» подготовка правил обмена данных с использованием обработчиков событий для информационных баз, реализованных на этой платформе имеет ряд особенностей.
Для платформы «1С:Предприятие 7.7» нет возможности выполнить произвольный код (аналог функции Выполнить для V8). Если необходимо использовать обработчики событий для платформы V7.7 необходимо заменять текст обработки выгрузки или загрузки данных текстами обработок, которые выдает конфигурация «Конвертации данных 2.0».
Если необходимо перенести данные из V7.7 в V8 тогда:
При выгрузке, кроме самого файла правил, система генерирует текст модуля для обработки V77Exp.ert с функциями, реализующими обработчики событий. Затем, в конфигураторе, мы должны заменить модуль стандартной V77Exp.ert на новый, сгенерированный «Конвертацией данных 2.0».
При разработке решений по обмену данными на платформе «1С:Предприятие 7.7» нужно помнить про эту важную «мелочь». Ваши правила будут корректно работать только в том случае, если Вы используете модифицированную обработку, текст модуля которой создан при выгрузке правил обмена данными. У этого правила есть одно исключение — если Вы не пользуетесь обработчиками событий, то можно применять стандартную обработку.
Источник
ПодключитьОбработчикОжидания и попасть на Сервер
Всем привет.
Управляемое приложение.
Разбираюсь с ПодключитьОбработчикОжидания.
В Модуле.УправляемоеПриложение.ПриНачалеРаботыСистемы()
МойМодульКлиент.Подключить()
МойМодульКлиент — общий модуль с галкой Клиент.
Как с него теперь выполнить процедуру на Сервере никак не пойму?
Если вызываю процедуры общих модулей с галкой только Сервер — пишет имя процедуры не обнаружен.
Если на этом модуле поставить еще галку Клиент — то перестают быть доступными объекты типа Регистр.
Как быть?
В Модуле.УправляемоеПриложение.ПриНачалеРаботыСистемы()
МойМодульКлиент.Подключить()
теперь при запуске 1с выдает
<ОбщийМодуль.МойМодульКлиент .Модуль(3)>: Ошибка при вызове метода контекста (ПодключитьОбработчикОжидания)
ПодключитьОбработчикОжидания(«МояОбработкаОповещения», 1);
по причине:
Недопустимое значение параметра (параметр номер ‘1’)
Переделал:
В Модуле.УправляемоеПриложение.ПриНачалеРаботыСистемы()
МойМодульКлиент.Подключить()
ОбщийМодуль.МойМодульКлиент //(Галка только Клиент)
Процедура Подключить() Экспорт
ПодключитьОбработчикОжидания(«МояОбработкаОповещения», 1);
КонецПроцедуры
Процедура МояОбработкаОповещения() Экспорт
ОбщийМодуль.МойМодуль()
КонецПроцедуры
и опят тоже самое: Недопустимое значение параметра (параметр номер ‘1’)
Процедура обработчика ожидания находится в общем модуле Клиентском экпортируемом. Почему она не вызывается?
Тип: Строка.
Имя экспортируемой процедуры модуля управляемого приложения (модуля обычного приложения) или глобального общего модуля .
Источник
Обработка ошибок, возникающих при обмене данными в распределенной информационной базе
При организации обмена данными в рамках распределенной информационной базы могут возникать различные ситуации, приводящие к сообщениям об ошибках. Однако не все подобные ситуации являются ошибками в чистом виде: некоторые из них могут быть отнесены к штатным ситуациям, соответствующим протоколу обмена данными, некоторые — к неадаптированности конфигурации для работы в рамках распределенной информационной базе.
Общие ошибки, возникающие при работе с XML
Сообщение обмена данными является документом XML, поэтому имеет смысл описать возможные ошибки, которые могут возникнуть во время чтения/записи сообщений обмена данными при использовании средств чтения/записи данных XML, предоставляемых платформой «1С:Предприятие 8». При работе с данными в формате XML может возникать множество различных ситуаций, однако в данной статье будут рассмотрены только те, которые так или иначе имеют отношение к обмену данными в рамках распределенной информационной базы.
Сообщение об ошибке | Описание ошибки | ||||||||||||||||||||||||||||||||||||
Возможные пути исправления ошибки | |||||||||||||||||||||||||||||||||||||
Не установлен MS XML Core Services 4.0 | На компьютере не установлен Microsoft XML Core Services 4.0, используемый «1С:Предприятием 8» для работы с XML | ||||||||||||||||||||||||||||||||||||
Установить Microsoft XML Core Services 4.0. При установке «1С:Предприятия 8» Microsoft XML Core Services 4.0 устанавливается автоматически | |||||||||||||||||||||||||||||||||||||
Ошибка разбора XML | Ошибка, возникающая при синтаксическом анализе данных XML в процессе чтения. Все ошибки, определенные в SAX2, трансформируются в данную ошибку, генерируемую платформой «1С:Предприятие 8» | ||||||||||||||||||||||||||||||||||||
Проверить правильность оформления и синтаксис данных XML (см. http://www.w3.org/TR/REC-xml). | |||||||||||||||||||||||||||||||||||||
Ошибочный порядок записи XML | Методы записи содержимого документа XML вызываются в неправильном порядке. Например, запись атрибута вызывается после записи текста элемента. | ||||||||||||||||||||||||||||||||||||
Выявить и исправить места некорректного порядка вызова методов | |||||||||||||||||||||||||||||||||||||
Текст XML содержит недопустимые символы | Записываемый текст XML содержит недопустимые символы. | ||||||||||||||||||||||||||||||||||||
Текст XML должен соответствовать требованиям, изложенным в главе 2.2 рекомендации XML (см. http://www.w3.org/TR/REC-xml#charsets) | |||||||||||||||||||||||||||||||||||||
Недопустимое имя XML | Записываемое имя XML содержит недопустимые символы. | ||||||||||||||||||||||||||||||||||||
Имя XML должно соответствовать требованиям, изложенным в главе 2.3 рекомендации XML (см. http://www.w3.org/TR/REC-xml#NT-Name) | |||||||||||||||||||||||||||||||||||||
Пустое значение URI допустимо только для пространства имен по умолчанию | Производится попытка записать соответствие пространства имен, в котором URI пространства имен, представленному пустой строкой, соответствует непустой префикс. | ||||||||||||||||||||||||||||||||||||
Переопределение пространства имен по умолчанию для текущего элемента XML недопустимо | Текущий записываемый элемент не относится ни к какому пространству имен. Поэтому для него недопустимо определение непустого пространства имен по умолчанию. | ||||||||||||||||||||||||||||||||||||
Переопределение пространства имен по умолчанию для элемента, не относящегося ни к какому пространству имен -запрещено | |||||||||||||||||||||||||||||||||||||
Ошибка преобразования данных XML | Ошибка возникает вследствие нарушения структуры передаваемых данных. При чтении данных XML платформой производится автоматическое определение типа получаемых данных, кроме случаев, когда тип данных указан при вызове операции чтения. Если структура данных XML не соответствует структуре данных, определяемых типом, то будет сгенерировано данное сообщение об ошибке. | ||||||||||||||||||||||||||||||||||||
При обмене данными в рамках распределенной информационной базы используются штатные механизмы записи/чтения XML. Данная ошибка является следствием искажения сообщения обмена. Необходимо повторно получить сообщение от информационной базы — источника сообщения | |||||||||||||||||||||||||||||||||||||
Значения данного типа не могут быть представлены в XML | |||||||||||||||||||||||||||||||||||||
Ошибка может возникнуть при участии в обмене информационных баз, имеющих различные конфигурации. Однако при обмене данными в рамках распределенной информационной базы поддерживается идентичность конфигураций информационных баз, участвующих в обмене. Данная ошибка является следствием искажения сообщения обмена. Необходимо повторно получить сообщение от информационной базы — источника сообщения | |||||||||||||||||||||||||||||||||||||
Ошибка данных XML | Ошибка возникает при получении некорректных данных из источника XML или же в случаях неудачного считывания из базы данных содержимого объекта, данные которого должны быть прочитаны из источника XML: блокировка объекта или же отсутствие прав на чтение данного объекта. Например, чтение существующего элемента справочника: если элемент справочника является группой, а было прочитано то, что является элементом, будет сгенерирована данная ошибка. | ||||||||||||||||||||||||||||||||||||
Сообщение об ошибке | Описание ошибки |
Возможные пути исправления ошибки | |
Узел не является узлом распределенной ИБ | При вызове одного из методов встроенного языка, относящегося к распределенной ИБ, значение переданного параметра — узла плана обмена — не принадлежит плану обмена с установленным признаком «Распределенная информационная база». |
Необходимо убедиться в правильности передаваемого в метод параметра | |
Запись сообщения обмена данными не начата | В метод записи изменения данных передан в качестве параметра объект ЗаписьСообщенияОбмена , у которого не был вызван метод НачатьЗапись или был вызван метод завершения записи ( ПрерватьЗапись , ЗакончитьЗапись ). |
Убедиться, что вызов записи изменений вызывается в рамках процесса записи объекта ЗаписьСообщенияОбмена | |
Чтение сообщения обмена данными не начато | В метод чтения изменения данных передан в качестве параметра объект ЧтениеСообщенияОбмена , у которого не был вызван метод НачатьЧтение или был вызван метод завершения записи ( ПрерватьЧтение , ЗакончитьЧтение ). |
Убедиться, что вызов чтения изменений вызывается в рамках процесса чтения объекта ЧтениеСообщенияОбмена . | |
Номер сообщения распределенной ИБ должен быть больше номера ранее принятого сообщения | Производится попытка чтения старого (возможно, уже принятого) сообщения обмена данными. |
Необходимо произвести синхронизации номера принятого сообщения в текущем узле распределенной ИБ и номера отправленного сообщения в узле — источнике сообщения обмена данными. Этого можно достичь при помощи непосредственного изменения соответствующих реквизитов у узлов плана обмена, по которому осуществляется работа, или выполнить запись необходимого количества сообщений обмена данными в узле — источнике сообщения | |
Начальный образ может быть выгружен только во вновь созданную или пустую ИБ | По указанному месторасположению начального образа уже существует другая информационная база. |
Необходимо убедиться, что при создании начального образа указано место, в котором не существует информационной базы | |
Ошибка формата представления изменений | Структура и порядок следования элементов сообщения обмена данными не соответствуют требуемому. |
При обмене данными в рамках распределенной информационной базы используются штатные механизмы записи/чтения XML. Данная ошибка является следствием искажения сообщения обмена данными. Необходимо повторно получить сообщение от информационной базы — источника сообщения | |
Попытка приема изменений от неизвестной конфигурации | При попытке чтения сообщения обмена данными в рамках распределенной информационной базы обнаружено несоответствие конфигураций источника и приемника сообщения. |
По всей видимости, сообщение обмена было записано для информационной базы, имеющей конфигурацию, отличную от данной. Подобная ситуация может произойти в случае ручной настройки распределенной информационной базы. Если подчиненный узел распределенной информационной базы создавался путем объединения конфигурации информационной базы и конфигурации главного узла, то внутренняя идентификация объектов метаданных не будет соответствовать конфигурации главного узла, что приводит к данной ошибке. Рекомендуется создавать информационные базы подчиненных узлов либо при помощи создания начального образа, либо при помощи полной загрузки конфигурации в информационную базу | |
Искажены изменения конфигурации! | При попытке чтения сообщения обмена данными обнаружены искажения в передаваемых изменениях конфигурации. |
Необходимо получить от источника сообщения новое сообщение обмена данными | |
Конфигурация узла распределенной ИБ не соответствует ожидаемой! | Конфигурация текущей информационной базы была изменена по отношению к конфигурации информационной базы источника сообщения. |
Изменения конфигурации не могут быть получены из подчиненного узла распределенной ИБ | При чтении сообщения обмена, полученного от подчиненного узла, в нем обнаружены изменения конфигурации. |
Подобная ситуация может возникнуть если имеет место искажение сообщения обмена, либо обмен производится в распределенной информационной базе с незавершенным процессом перестроения иерархии узлов. Необходимо убедится, что сообщение обмена получено без искажений и правильно заполнены узлы соответствующего плана обмена в обоих узлах распределенной информационной базы (источнике и приемнике сообщения). | |
Из главного узла распределенной ИБ получены изменения конфигурации. Необходимо выполнить обновление конфигурации базы данных. Обновление может быть выполнено в режиме Конфигуратор | Из главного узла получены изменения конфигурации. |
Необходимо запустить систему в режиме Конфигуратор , произвести обновление конфигурации базы данных, после чего повторить чтение данного сообщения обмена в режиме 1С:Предприятие для завершения чтения сообщения. | |
Данные не входят в состав плана обмена | При чтении сообщения обмена обнаружены данные, не входящие в состав плана обмена. |
При обмене данными в рамках распределенной информационной базы используются штатные механизмы записи/чтения XML. Данная ошибка является следствием искажения сообщения обмена. Необходимо повторно получить сообщение от информационной базы — источника сообщения |
При чтении сообщения обмена производится автоматическая запись полученных изменений данных в информационную базу. Если в процессе записи данных происходит ошибка, то процесс чтения сообщения прерывается. Для определения в процедурах записи элементов данных (объектов и наборов записей) режима записи после загрузки из сообщения обмена существует свойство Загрузка . Для корректной работы в рамках распределенной информационной базы процедуры записи элементов данных должны быть написаны с учетом произвольного порядка загрузки данных из сообщений обмена (например, не должны выполняться проверки связанной с записываемым элементом данных информации.
Источник