Ошибка при загрузке данных ошибка записи объекта

  

Draconus

1 — 15.01.11 — 15:20

Решил поменять процедуру Записи в Обработке «ОбменДаннымиXML»:

//Процедура ЗаписатьОбъектВИБ(Объект, Тип)
//        
//    Попытка
//        
//        УстановитьОбменДаннымиЗагрузка(Объект);
//        Объект.Записать();
//        
//    Исключение
//        
//        СтрокаСообщенияОбОшибке = ЗаписатьИнформациюОбОшибкеВПротокол(26, ОписаниеОшибки(), Объект, Тип);
//        
//        Если Не ФлагРежимОтладки Тогда
//            ВызватьИсключение СтрокаСообщенияОбОшибке;
//        КонецЕсли;
//        
//    КонецПопытки;        
//        
//КонецПроцедуры
Процедура ЗаписатьОбъектВИБ(Объект, Тип)

       Попытка

               УстановитьОбменДаннымиЗагрузка(Объект);

               Попытка

                       Объект.Записать();

                   Исключение

                       СтрокаОшибки = ОписаниеОшибки();

                       Если Найти(СтрокаОшибки, «Ошибка при вызове метода контекста (Записать): Ошибка при попытке вставки записи с неуникальным значением ссылки.») = 0 Тогда

                               СтрокаСообщенияОбОшибке = ЗаписатьИнформациюОбОшибкеВПротокол(26, ОписаниеОшибки(), Объект, Тип);

                               Если Не ФлагРежимОтладки Тогда
                   ВызватьИсключение СтрокаСообщенияОбОшибке;
               КонецЕсли;

                                           КонецЕсли;

                   КонецПопытки;

           Исключение

               СтрокаСообщенияОбОшибке = ЗаписатьИнформациюОбОшибкеВПротокол(26, ОписаниеОшибки(), Объект, Тип);

               Если Не ФлагРежимОтладки Тогда
           ВызватьИсключение СтрокаСообщенияОбОшибке;
       КонецЕсли;

           КонецПопытки;        

    КонецПроцедуры

Возможно ли что это вызовет какие нибудь ошибки в будущем?

  

Draconus

3 — 15.01.11 — 15:49

Что-то такое нашел на unfostart.ru

Презабавнейшая история битвы с самим собой:

Общая ситуация такая:
Выгружаю данные из БП в УПП с помощью КД. Взял стандратный обмен, он отстает от текущих на 10 версий, довел до ума и тестирую обмен.
При выгрузке справочников выдается ошибка:

Ошибка при загрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML(3326)}: Ошибка записи объекта
ТипОбъекта = Справочник ссылка: Контрагенты
Объект = НекаяФирма ООО
ОписаниеОшибки = Ошибка при вызове метода контекста (Записать): Ошибка при попытке вставки записи с неуникальным значением ссылки.
таблица Reference102.
ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML(3319)
КодСообщения = 26

Причем, если мы выгружаем все справочники, то ошибка есть, если только контрагенты, то ошибки нет.
Проблема оказалась в том, что при включенной галке «Оптимизированная запись» при записи Свойства объекта происходит не запись, а сохранение объекта в стеке, которое подразумевает отложенную запись.
Но отложенной записи не происходит и получается такая ситуация – в стеке висит структура, которая хранит одновременно объект и ссылку.
Как только требуется обработать еще один объект, мы получаем ссылку по тому же ГУИД, привязываем ссылку к новому объекту и сохраняем. В структуре стека объект отвязывается от нашей ссылки и содержит пустую ссылку с идентификатором «00000000-0000-0000-0000-000000000000». Как только мы, наконец, доходим до самого объекта, он видит, что в стеке есть данные и использует их, причем считая что объект связан со ссылкой, а это, как мы помним, не так.
Все лечится тем, что убираем галку Оптимизированная запись.

Ситуация по коду:

Идем вниз по стеку вызовов:
ПрочитатьОбъект() Читаем «Контактные лица контрагентов»
НайтиОбъектПоСсылке() По ГУИД ищем ссылку на контактые лица
ПрочитатьИнформациюОСвойствахПоиска() Ищем свойства поиска
ПрочитатьСвойстваПоискаИзФайла() Ищем свойства в файле
ПрочитатьСвойство() Читаем свойство Владелец (Это наш контагент)
НайтиОбъектПоСсылке() Пытаемся прочитать нашего владельца
//НайтиИлиСоздатьОбъектПоСвойству() По ГУИД ищем объект (фактически ищем ссылку)
СоздатьНовыйОбъект() Создаем объект и ссылку
Там есть такой пункт
Если ГНпп <> 0 ИЛИ Не ОптимизированнаяЗаписьОбъектов. Глобального номера у нас нет, а оптимизированная запись включена, поэтому запись откладывается в стек объектов, но из стека не уходит, так как работа со стеком предусмотрена только для объектов, а не для свойств

НайтиОбъектПоСсылке перед завершением устанавливает СвойстваОбъектаМодифицированы = Истина; но этот признак никто не обрабатывает, объект зависает в стеке, ссылка теряется и потом мы получаем то, что получаем.

  

Draconus

4 — 15.01.11 — 16:00

Объект.ОбменДанными.Загрузка=Истина;

Устанавливается в

       УстановитьОбменДаннымиЗагрузка(Объект);

        Её код:

Процедура УстановитьОбменДаннымиЗагрузка(Объект, Значение = Истина) Экспорт

       Попытка
       Объект.ОбменДанными.Загрузка = Значение;
   Исключение
   КонецПопытки;

       Если УзелОбменаЗагрузкаДанных <> Неопределено
       И НЕ УзелОбменаЗагрузкаДанных.Пустая() Тогда

           Попытка
           Объект.ОбменДанными.Отправитель = УзелОбменаЗагрузкаДанных;
       Исключение
       КонецПопытки;

       КонецЕсли;

    КонецПроцедуры // УстановитьОбменДаннымиЗагрузка()

  

Draconus

7 — 21.01.11 — 14:43

В итоге оставил окончательный вариант следующий:

В обработке ОбменДаннымиXML, в модуле объекта подправил процедуру.

//Процедура ЗаписатьОбъектВИБ(Объект, Тип)
//        
//    Попытка
//        
//        УстановитьОбменДаннымиЗагрузка(Объект);
//        Объект.Записать();
//        
//    Исключение
//        
//        СтрокаСообщенияОбОшибке = ЗаписатьИнформациюОбОшибкеВПротокол(26, ОписаниеОшибки(), Объект, Тип);
//        
//        Если Не ФлагРежимОтладки Тогда
//            ВызватьИсключение СтрокаСообщенияОбОшибке;
//        КонецЕсли;
//        
//    КонецПопытки;        
//        
//КонецПроцедуры
Процедура ЗаписатьОбъектВИБ(Объект, Тип)

       Попытка

               УстановитьОбменДаннымиЗагрузка(Объект);
       Объект.Записать();

           Исключение

               СтрокаОшибки = ОписаниеОшибки();

               Если Найти(СтрокаОшибки, «Ошибка при вызове метода контекста (Записать): Ошибка при попытке вставки записи с неуникальным значением ссылки.») = 0 Тогда

                       СтрокаСообщенияОбОшибке = ЗаписатьИнформациюОбОшибкеВПротокол(26, ОписаниеОшибки(), Объект, Тип);

                       Если Не ФлагРежимОтладки Тогда
               ВызватьИсключение СтрокаСообщенияОбОшибке;
           КонецЕсли;

                   КонецЕсли;

           КонецПопытки;        

    КонецПроцедуры

0

18.03.2019 — 10:39


Тестим перенос данных из ЗиК 7.7 371 в ЗУП 3.1. Данные выгружались обработкой ПомощникВыгрузкиV7.ert, ошибок не было. При загрузке в 8-ку вываливается ошибка —

Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъе кта(6107)**: Ошибка записи объекта
ТипОбъекта = Перенос данных
Объект = Перенос данных РОтп1 от 18.03.2019
ОписаниеОшибки = Ошибка при вызове метода контекста (Записать): Номер года в литерале типа ‘Дата’ превышает 3999.
ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъек та(6100)
КодСообщения = 26

Судя по писанию, ругается на какую-то дату в документах отпуска, которая или пустая или больше 3999. Проверила доки — приказы на отпуск и начисления отпуска, доков с такими ошибками не нашла. Всё вроде корректно. В какую сторону копать? Или как точнее определить, обо что запинается загрузка? В 8.3 пока еще не очень, так что не пинайте плз!

1

18.03.2019 — 11:07

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

2

19.03.2019 — 05:54

1-user1C > Да прогоняла обработкой, проверяла даты доков, на пустые и больше последних дат отпусков — Приказы по отпуску и Начисление отпуска. Данные на начало года, да. Может проверить еще на меньшие значения — ранее первых отпусков в базе?

3

19.03.2019 — 06:39

(2)А почему не поступите наоборот? в ЗУП 3.1 есть импорт из предыдущей учетной программы ЗИК или ЗУП 2.5

4

19.03.2019 — 09:13

(2)
само собой на ранние даты проверять, я ж написал выше… и проверять надо не только даты доков самих, но и даты в доках(начало и окончание отпуска, например)

5

19.03.2019 — 09:48

(0) А проверить данные в файлах выгрузки? Вряд-ли пустая дата генерировала бы год, больший 3999. Скорее всего где-то вводили год 2 цифрами, например 99-й. А программа интерпретировала в 9900-й. Я бы использовал такой шаблон поиска: Тип=»Дата»><Значение>4
Где 4 — начало 4-х тысячного столетия (т.е. больше 3999), ну и перебрать варианты 5,6,7,8,9.

6

20.03.2019 — 04:16

3-USSR > Ну так я так и поступила, только вторым вариантом, выгрузкой через файлы. Как вариант, можно и напрямую попробовать, но боюсь, что будет дольше и те же грабли, но с другой стороны.

7

20.03.2019 — 04:18

4-user1C >Я и проверяла даты начала и окончания, пардон, если написала непонятно, хотя и даты доков тоже проверила.

8

20.03.2019 — 04:23

5-US1C >Поначалу так и хотела сделать, но файл очень большой, 130 Мб, у нас около полутора тысяч работников в штате, и чем с таким файлом работать не придумала. Спасибо за идею поиска по шаблону! Подскажите, а во что его загрузить, такой большой, чтоб сильных тормозов не было? Ну, в смысле, в какой программе проверять? Пробовала пару xml редакторов, но они вылетают при загрузке файла. Может банально Блокнотом, потянет?

9

20.03.2019 — 04:39

8-Грей Сашенька >Блокнотом не потянет.
Я пользуюсь бесплатным PilotEdit (в инете ищется по названию легко).

10

20.03.2019 — 05:50

9-victuan >Спасибочки! Будем пробовать.

11

20.03.2019 — 07:05

AKXMLEdit еще есть

12

20.03.2019 — 08:32

(8) Я использую Notepad++
Насчет максимального размера обрабатываемого файла не знаю, но функционал (особенно с плагинами) — не детский.

13

20.03.2019 — 08:36

(8) Только что открыл им xml-файл размером в 200 метров. В легкую.

14

20.03.2019 — 09:37

(7)
и что, все даты в порядке?

15

20.03.2019 — 21:48

Цитата:

Сообщение от Грей Сашенька Посмотреть сообщение

Я и проверяла даты начала и окончания

хм.. рискну поставить грош, что даты начала и окончания отпуска ни при чем.
а ошибка у тебя в «За какой период предоставляется отпуск».
или, говоря по-русски, быстренько пробежаться по документам ПриказПоОтпуску и проверить обработочкой НачалоПериода и ОкончаниеПериода.
Принимаешь ставку ? :))

16

20.03.2019 — 21:52

Кстати, на пустую дату не ругается. А ругатется именно на дату больше 3999
рискну поставить еще один грош :), что ошибка в том, что тысячелетие «2» подменили на «5»
т.е, к примеру, ОкончаниеПериода — вместо «2017» — «5017»

17

20.03.2019 — 21:56

И да, я пользуюсь XML Notepad 2007. Мне нравится, функционал для моих невеликих потребностей меня устраивает.

18

21.03.2019 — 02:24

рискную , что деньги нужны, 1с7 пытаются логично убивать

19

21.03.2019 — 05:03

18-101 >

Цитата:

Сообщение от 101 Посмотреть сообщение

деньги нужны

А кому они нынче не нужны?)))

Цитата:

Сообщение от 101 Посмотреть сообщение

1с7 пытаются логично убивать

А чего её убивать? Зика последние годы сама как тот живой труп :(

20

21.03.2019 — 05:18

14-user1C >

Цитата:

Сообщение от user1C Посмотреть сообщение

и что, все даты в порядке?

Походу нет, нашла два дока «из будущего»)))

21

21.03.2019 — 05:24

15-Блондинка в шок >

Цитата:

Сообщение от Блондинка в шок Посмотреть сообщение

Принимаешь ставку ? :))

Принимаю! И при этом — бинго! В яблочко! Нашла два старых дока с реквизитами НачалоПериода и ОкончаниеПериода именно с подменой «2» на «5» — 5006 и 5008 годы. Спасибочки! я сама что-то и не догадалась их проверить… Поправлю и буду снова тестить с выгрузкой-загрузкой. Потом отпишусь, если кому интересно конечно.

22

21.03.2019 — 11:25

Цитата:

Сообщение от Грей Сашенька Посмотреть сообщение

И при этом — бинго! В яблочко! Нашла два старых дока с реквизитами НачалоПериода и ОкончаниеПериода именно с подменой «2» на «5» — 5006 и 5008 годы

Не поверишь :)
По моей статистике, в каждом более-менее крупном учреждении (в которых более 200-300 действующих сотрудников) — мне эта ситуация встречалась в 100% случаев. То ли мне так «повезло», то ли это можно засчитать как фичу эксплуатации ЗиК 7.7 :)

Спецы 1С для удобства конечного пользователя создали специальные решения, позволяющие по нажатию кнопки выгрузить данные. Попробовал и я…

1.1. Ошибка записи объекта:
Тип объекта = Регистр сведений запись: Настройки учета страховых взносов
Описание ошибки = Ошибка при вызове метода контекста (Записать): Запись не верна! Значение поля «Организация» не может быть пустым.

Устранение ошибки: В ПКО «УчетСтраховыхВзносовНастройкиОрганизаций» для свойства «Организация» не указано ПКО

1.2. Ошибка в обработчике события ПередЗагрузкойДанных (конвертация)
Описание ошибки = Ошибка при вызове метода контекста (СоздатьНабор): Недопустимое значение параметра (параметр номер ‘1’)

Устранение ошибки: Константа «ВедетсяДеятельностьПоДоговорамКомиссииНаПродажу» не существует. Удалил ссылку на нее.

1.3. Ошибка при загрузке данных: Поле объекта не обнаружено (ПоложенияПереходногоПериодаУСН)

Устранение ошибки: Указанный реквизит регистра сведений «УчетнаяПолитикаОрганизаций» переименован в «УдалитьПоложенияПереходногоПериодаУСН». Отключил для переноса.

1.4. Ошибка записи объекта
Тип объекта = Вид вычетов НДФЛ
Описание ошибки = Ошибка при вызове метода контекста (Записать): Не удалось записать «103 (Вид вычетов НДФЛ)»!

Устранение ошибки: Для ПКО «ВидыВычетовНДФЛ» поставил крыж «Не замещать существующие». Непонятно только почему для предопределенных объектов это не отслеживается в процессе загрузки по умолчанию!?

1.5. Ошибка записи объекта
Тип объекта = Договор
Описание ошибки = Ошибка при вызове метода контекста (Записать): Значение поля «Контрагент» не заполнено или заполнено неверно

Устранение ошибки: Так и не понял как с зтим бороться. Отключил загрузку реквизитов контрагента «Основной договор» и «Основной счет». Поставил крыж «Загружать только новые».

После выгрузки объекта отключил проверку ИНН и КПП

Если НЕ Объект.ЭтоГруппа Тогда
Объект.ИННВведенКорректно = Истина;
Объект.КППВведенКорректно = Истина;
КонецЕсли;

Вроде помогло.

1.6. Ошибка записи объекта
Тип объекта = Регистр сведений запись: Текущие кадровые данные сотрудников
Описание ошибки = Ошибка при вызове метода контекста (Записать): Ошибка при выполнении: Значение не является значением объектного типа (Ссылка)

Устранение ошибки: Такое ощущение, что шло зацикливание (при загрузке) когда в регистре шла ссылка на сотрудника, а в нем — на данный регистр, но почему при загрузке? Выгрузилось то нормально!
Создал ПКО «СотрудникиСсылка» (не замещать, а только новые) со свойствами для поиска:

  • Наименование
  • Организация
  • Физическое лицо

и сослался на него в свойстве «Сотрудник» указанного регистра 

1.7. Ошибка в обработчике события ПослеЗагрузкиДанных (конвертация)
Описание ошибки = Поле объекта не обнаружено (Организация)

Устранение ошибки: Для параметра «ОРГАНИЗАЦИЯ» проставил крыж «При загрузке» и указал правило конвертации «Организации»

1.8. Ошибка записи объекта
Тип объекта = Регистр сведений запись: Текущая тарифная ставка сотрудников
Описание ошибки = Ошибка при вызове метода контекста (Записать): Запись не верна! Значение поля «Физическое лицо» не может быть пустым!:

Устранение ошибки: Вместо двух свойств «Сотрудник» в правиле конвертации достаточно одного. И добавить «ФизическоеЛицо», «ТекущаяОрганизация»
Для «Сотрудник» назначил правило «СотрудникСсылка».

2. Теперь пытаемся загрузить документы.

2.1 Не проводятся после загрузки!
прописал в обработчик «Перед конвертацией объекта»

Если ТипЗначенияСтр(Источник) = "Документ" Тогда
Если (Источник.Вид() = "Счет")
ИЛИ (Источник.Вид() = "Доверенность")
ИЛИ (Источник.Вид() = "ПлатежноеПоручение")
Тогда
Если Источник.ПометкаУдаления() = 0 Тогда РежимЗаписи = "Проведение"; КонецЕсли;
Иначе
Если Источник.Проведен() = 1 Тогда РежимЗаписи = "Проведение"; КонецЕсли;
КонецЕсли;
КонецЕсли;

2.2 Ошибка при загрузке данных: Поле объекта не обнаружено (Услуги)
Смею предположить, что это «Счет на оплату покупателю» в котором указанную табличную часть подготовили к удалению.

Устранение ошибки: В ПКО «Счет» ее отключил и пометил на удаление. В коллекцию «Товары» добавил свойство «Содержание» и прописал его заполнение.

2.3 Ошибка записи объекта
Тип объекта = Договор
Описание ошибки = Ошибка при вызове метода контекста (Записать): Поле «Вид договора» заполнено некорректно.
Существуют документы, проведенные по договору. Реквизит не может быть изменен.

Устранение ошибки: В ПКО «Договоры контрагентов» свойство «ВидДоговора» вытащил из группы и назначил отбор по его значению (для элемента)
В ПКО «ДоговорыКонтрагентовПоВидам» — то же самое (не знаю зачем оно вобще нужно!).

Вообще с определением вида договора реальная проблема!
В ПКО документа «Счет» для свойства «Договор» перед выгрузкой прописал

Параметры.ПараметрыАлгоритмов.Установить("Документ",Источник);
Параметры.ПараметрыАлгоритмов.Установить("Договор",Источник.Договор);
ОпределитьВидДоговора();

подкорректировал апгоритм ОпределитьВидДоговора
1. Для документа «Платежное поручение».
2. Для пустого документа, когда передается только счет б/у.

В ПКО «ДоговорыКонтрагентов» закомментировал

//Параметры.ПараметрыАлгоритмов.Установить("ВидДоговора","");
//Параметры.ПараметрыАлгоритмов.Установить("ВесДоговора","");

Похоже, из-за этого вид договора не передавался в соответствующее свойство при выгрузке!

2.4 Ошибка записи объекта
Тип объекта = Сотрудник
Описание ошибки = Ошибка при вызове метода контекста (Записать): Значение «0000000009» поля «Таб. номер» не уникально

Устранение ошибки: Проблема загрузки Документа типа Выписка при перечислении зарплаты на л/с сотрудников. Попытка конвертации сотрудников в контрагенты.
В моей конкретной ситуации расчет зарплаты и кадровый учет ведется в ЗиК 77 (сейчас переходим на ЗУП 83) и переносится в бухгалтерию СВОДНО. Поэтому решил не заморачиваться, а просто прорисовать конкретную ситуацию.

Для того, чтобы добиться желаемого результата при переносе, пришлось:

  • добавить новый параметр «УчетПоСтрудникамСводно» (Зарплата без детализации по сотрудникам);
  • закомментировать несколько строк кода конвертации «Перед загрузкой данных»;
  • настроил вручную параметры учета для блока «Зарплата и кадры».

2.5. Перекроил модуль «При выгрузке» ПКО «Выписка_Списание» (там много всего «по мелочам»)
Ну, например, добавил реквизит «Налог». 
А в платежном поручении — «Налог» и «Вид операции».

После загрузки остатков обнаружил, что по забалансовому счету «001» виды субконто поменялись местами. Откорректировал алгоритм «Добавить Проводку».

2.6. Ошибка записи объекта
Тип объекта = Регистр сведений запись: Процент ЕНВД для учета затрат на зарплату
Описание ошибки = Ошибка при вызове метода контекста (Записать): Запись не верна! Значение поля «Организация» не может быть пустым!:

Устранение ошибки: В ПКО «ВводПроцентаДеятельностиЕНВД» для свойства «Организация» прописал правило конвертации

3. Кроме всего прочего

Для плана не все значения счетов могут быть синхронизированы. В нашем конкретном случае отсутствовали добавленные в ручную счета:

  • 50.2 с 50.02 «Операционная касса»;
  • 68.8 и 68.08 «Налог на имущество»;
  • субсчета счета 68.4 «Налог на прибыль».

Их нужно добавить в список значений ПКО «План счетов — Хозрасчетный»

Показывать по
10
20
40
сообщений

Новая тема

Ответить

nemo888

Дата регистрации: 24.08.2010
Сообщений: 115

Настроил план обмена из УТбазовая10.3.14 в БПбазовая2.0.27<br>Предполагается односторонний обмен из УТ в БП через общий каталог<br>Следуя инструкции по настройке плана обмена создал правила ,которые загрузил при настройке плана обмена в БП.<br>Следующим пунктом идет выгрузка справочников из УТ.Сделал,в БП загрузил.<br>Затем идет выгрузка документов из УТ.<br>Выгружает,но при попытке загрузить в БП выдает ошибку:<br> <br>Начат обмен данными по настройке «Обмен с «1С:Управление торговлей 8 (начиная с версии 10.3)» (22:01:16).<br>Начало загрузки: 09.10.2011 22:01:16<br>Ограничение базовой версии. В информационной базе может быть введена только одна организация.<br>Ошибка записи объекта<br> ТипОбъекта             = Организации<br> Объект             = ООО ДиС<br> ОписаниеОшибки       = Ошибка при вызове метода контекста (Записать): Не удалось записать: «Организации»!<br> ПозицияМодуля       = Обработка.ОбменДаннымиXML.МодульОбъекта(3784)<br> КодСообщения       = 26<br>Ошибка при загрузке данных: {Обработка.ОбменДаннымиXML.МодульОбъекта(3791)}: Ошибка записи объекта<br> ТипОбъекта             = Организации<br> Объект             = ООО ДиС<br> ОписаниеОшибки       = Ошибка при вызове метода контекста (Записать): Не удалось записать: «Организации»!<br> ПозицияМодуля       = Обработка.ОбменДаннымиXML.МодульОбъекта(3784)<br> КодСообщения       = 26<br>Окончание загрузки: 09.10.2011 22:01:18<br>Ошибка при загрузке объектов. Было загружено: 0<br>Чтение данных из файла обмена завершено с ошибками!<br> <br>В базе УТ только одна организация-ООО ДиС,также как и в БП.<br>ИНН,КПП и наименование организации совпадают в обоих базах.<br>В чем может быть причина,подскажите?

VVP

Дата регистрации: 12.10.2006
Сообщений: 4950

> В базе УТ только одна организация-ООО ДиС,также как и в БП.<br>> ИНН,КПП и наименование организации совпадают в обоих базах.<br>> В чем может быть причина,подскажите?<br>Может быть коды разные. И наименование проверьте. Может пробел лишний или кавычки.

Денис (САМАРА)

Дата регистрации: 09.04.2008
Сообщений: 8351

Какие у Вас в правилах обмена поля для поиска указаны?

nemo888

Дата регистрации: 24.08.2010
Сообщений: 115

Спасибо за отклик всем.<br>Всё получилось-заново снёс все предыдущие настройки обменов и пошагово проделал то,что предлагал Помощник.<br>Оставил префиксы в УТ и БП,которые предлагались(мне советовали не ставить префикс в УТ т.к. она основная база) ,последовательно выгрузил правила в БП,там их загрузил,выгрузил справочники из УТ,в БП их загрузил,выгрузил док-ты из УТ- и о чудо!!! в БП всё загрузилось.<br>Только почему-то склад(а он единственный) в перенесенных док-тах не заполнился и соотв-но они не провелись.<br>Не совсем понятно почему.Вроде везде где-только можно я указал этот склад подставлять по умолчанию.<br>Но это уже мелочи ))

Prikum

активный пользователь

онлайн

Дата регистрации: 18.02.2002
Сообщений: 20834

Потому что в УТ склад можно указывать в табличной части, а в БП нельзя.

Показывать по
10
20
40
сообщений

Страница 1 из 2

  1. Здравствуйте, помогите с ошибкой, я с одной базы хотел загрузить некоторые данные с документов на другую базу. С первой базы все выгрузил через «Выгрузка базы данных в идентичную базу». Все нормально,формат XML, а вот теперь на второй базе через «Универсальный обмен данными в формате XML» он выдает такую ошибку, подскажите…

    Начало загрузки: 31.05.2013 15:50:56
    Нельзя менять способ оценки запасов, т.к. существуют проведенные документы!!
    Нельзя менять способ оценки запасов, т.к. существуют проведенные документы!!
    Нельзя менять способ оценки запасов, т.к. существуют проведенные документы!!
    Нельзя менять способ оценки запасов, т.к. существуют проведенные документы!!
    Нельзя менять способ оценки запасов, т.к. существуют проведенные документы!!

    Ошибка записи объекта
    ТипОбъекта = Начисления организаций
    Объект = Средне -месячная з/плата при служебных командировках К
    ОписаниеОшибки = Ошибка при вызове метода контекста (Записать): Дублирование базовых видов расчета
    ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(4788)
    КодСообщения = 26

    Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(4795)}: Ошибка записи объекта
    ТипОбъекта = Начисления организаций

    Объект = Средне -месячная з/плата при служебных командировках К
    ОписаниеОшибки = Ошибка при вызове метода контекста (Записать): Дублирование базовых видов расчета

    ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(4788)
    КодСообщения = 26

    Окончание загрузки: 31.05.2013 15:59:33

    Загружено объектов: 380

    как сделать так чтобы он дополнял новыми?
    ОписаниеОшибки = Ошибка при вызове метода контекста (Записать): Дублирование базовых видов
    Как его исправить?

    Вложения:

    • Безымянный.png
  2. нужно смотреть правила как у вас происходит синхронизация справочника ВР. Похоже дело именно в нем. Недопустимо в список базовых видов расчета внести несколько раз один и тот же вид расчета. В этом случае как раз и выдается предупреждение: «Дублирование базовых видов расчета».

    з/ы В режиме отладки документ грузится?

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

  4. Вы пытаетесь с 2х баз все «слить» в третью или как?

  5. нет, с первой базы выгружаю, а на вторую загружаю… С первой выгрузил через «Выгрузка базы данных в идентичную базу», а со второй хочу загрузить через «Универсальный обмен данными в формате XML»

    ОписаниеОшибки = Ошибка при вызове метода контекста (Записать): Дублирование базовых видов
    Как его исправить?

  6. Я вам уже ответил в посте №2… Вы ВР сравнивали в 2х базах?

  7. а можно по подробнее как это сделать? я просто только начинаю изучать 1с

  8. Сравните чем отличаются в базах ВР «Средне -месячная з/плата при служебных командировках».. Попробуйте синхронизировать кода справочника

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

  10. Вам знакомо слово «синхронизировать»? (без обид)

  11. а как в 1с в.8 синхронизировать? я же до этого вам говорил что начинаю изучать 1с

  12. В данном случае вручную. Справочник не архи большой. Тем более известен конкретный элемент.

  13. я нашел этот объект «Средне -месячная з/плата при служебных командировках К», а что будет если я его удалю? он при загрузке данных обратно восстановится? Как я понял, происходит дубликация… или это не так?

  14. У вас кода элемента справочника совпадают в базах?

  15. Странно. У вам БП? Какой релиз?

  16. так как мне решить проблему?)))

  17. Вы как будто не слышите наводящих вопросов… Уточните конфигурацию/релиз!

  18. 1С:Предприятие 8.2 (8.2.16.368)
    Бухгалтерия для Казахстана, редакция 2.0, разработка для Казахстана: «1С-Рейтинг», 2011 (2.0.10.5)

Страница 1 из 2


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

   Draconus

1 — 15.01.11 — 15:20

Решил поменять процедуру Записи в Обработке «ОбменДаннымиXML»:

//Процедура ЗаписатьОбъектВИБ(Объект, Тип)
//        
//    Попытка
//        
//        УстановитьОбменДаннымиЗагрузка(Объект);
//        Объект.Записать();
//        
//    Исключение
//        
//        СтрокаСообщенияОбОшибке = ЗаписатьИнформациюОбОшибкеВПротокол(26, ОписаниеОшибки(), Объект, Тип);
//        
//        Если Не ФлагРежимОтладки Тогда
//            ВызватьИсключение СтрокаСообщенияОбОшибке;
//        КонецЕсли;
//        
//    КонецПопытки;        
//        
//КонецПроцедуры
Процедура ЗаписатьОбъектВИБ(Объект, Тип)

       Попытка

               УстановитьОбменДаннымиЗагрузка(Объект);

               Попытка

                       Объект.Записать();

                   Исключение

                       СтрокаОшибки = ОписаниеОшибки();

                       Если Найти(СтрокаОшибки, «Ошибка при вызове метода контекста (Записать): Ошибка при попытке вставки записи с неуникальным значением ссылки.») = 0 Тогда

                               СтрокаСообщенияОбОшибке = ЗаписатьИнформациюОбОшибкеВПротокол(26, ОписаниеОшибки(), Объект, Тип);

                               Если Не ФлагРежимОтладки Тогда
                   ВызватьИсключение СтрокаСообщенияОбОшибке;
               КонецЕсли;

                                           КонецЕсли;

                   КонецПопытки;

           Исключение

               СтрокаСообщенияОбОшибке = ЗаписатьИнформациюОбОшибкеВПротокол(26, ОписаниеОшибки(), Объект, Тип);

               Если Не ФлагРежимОтладки Тогда
           ВызватьИсключение СтрокаСообщенияОбОшибке;
       КонецЕсли;

           КонецПопытки;        

    КонецПроцедуры

Возможно ли что это вызовет какие нибудь ошибки в будущем?

   Draconus

3 — 15.01.11 — 15:49

Что-то такое нашел на unfostart.ru

Презабавнейшая история битвы с самим собой:

Общая ситуация такая:
Выгружаю данные из БП в УПП с помощью КД. Взял стандратный обмен, он отстает от текущих на 10 версий, довел до ума и тестирую обмен.
При выгрузке справочников выдается ошибка:

Ошибка при загрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML(3326)}: Ошибка записи объекта
ТипОбъекта = Справочник ссылка: Контрагенты
Объект = НекаяФирма ООО
ОписаниеОшибки = Ошибка при вызове метода контекста (Записать): Ошибка при попытке вставки записи с неуникальным значением ссылки.
таблица Reference102.
ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML(3319)
КодСообщения = 26

Причем, если мы выгружаем все справочники, то ошибка есть, если только контрагенты, то ошибки нет.
Проблема оказалась в том, что при включенной галке «Оптимизированная запись» при записи Свойства объекта происходит не запись, а сохранение объекта в стеке, которое подразумевает отложенную запись.
Но отложенной записи не происходит и получается такая ситуация – в стеке висит структура, которая хранит одновременно объект и ссылку.
Как только требуется обработать еще один объект, мы получаем ссылку по тому же ГУИД, привязываем ссылку к новому объекту и сохраняем. В структуре стека объект отвязывается от нашей ссылки и содержит пустую ссылку с идентификатором «00000000-0000-0000-0000-000000000000». Как только мы, наконец, доходим до самого объекта, он видит, что в стеке есть данные и использует их, причем считая что объект связан со ссылкой, а это, как мы помним, не так.
Все лечится тем, что убираем галку Оптимизированная запись.

Ситуация по коду:

Идем вниз по стеку вызовов:
ПрочитатьОбъект() Читаем «Контактные лица контрагентов»
НайтиОбъектПоСсылке() По ГУИД ищем ссылку на контактые лица
ПрочитатьИнформациюОСвойствахПоиска() Ищем свойства поиска
ПрочитатьСвойстваПоискаИзФайла() Ищем свойства в файле
ПрочитатьСвойство() Читаем свойство Владелец (Это наш контагент)
НайтиОбъектПоСсылке() Пытаемся прочитать нашего владельца
//НайтиИлиСоздатьОбъектПоСвойству() По ГУИД ищем объект (фактически ищем ссылку)
СоздатьНовыйОбъект() Создаем объект и ссылку
Там есть такой пункт
Если ГНпп <> 0 ИЛИ Не ОптимизированнаяЗаписьОбъектов. Глобального номера у нас нет, а оптимизированная запись включена, поэтому запись откладывается в стек объектов, но из стека не уходит, так как работа со стеком предусмотрена только для объектов, а не для свойств

НайтиОбъектПоСсылке перед завершением устанавливает СвойстваОбъектаМодифицированы = Истина; но этот признак никто не обрабатывает, объект зависает в стеке, ссылка теряется и потом мы получаем то, что получаем.

   Draconus

4 — 15.01.11 — 16:00

Объект.ОбменДанными.Загрузка=Истина;

Устанавливается в

       УстановитьОбменДаннымиЗагрузка(Объект);

        Её код:

Процедура УстановитьОбменДаннымиЗагрузка(Объект, Значение = Истина) Экспорт

       Попытка
       Объект.ОбменДанными.Загрузка = Значение;
   Исключение
   КонецПопытки;

       Если УзелОбменаЗагрузкаДанных <> Неопределено
       И НЕ УзелОбменаЗагрузкаДанных.Пустая() Тогда

           Попытка
           Объект.ОбменДанными.Отправитель = УзелОбменаЗагрузкаДанных;
       Исключение
       КонецПопытки;

       КонецЕсли;

    КонецПроцедуры // УстановитьОбменДаннымиЗагрузка()

  

Draconus

7 — 21.01.11 — 14:43

В итоге оставил окончательный вариант следующий:

В обработке ОбменДаннымиXML, в модуле объекта подправил процедуру.

//Процедура ЗаписатьОбъектВИБ(Объект, Тип)
//        
//    Попытка
//        
//        УстановитьОбменДаннымиЗагрузка(Объект);
//        Объект.Записать();
//        
//    Исключение
//        
//        СтрокаСообщенияОбОшибке = ЗаписатьИнформациюОбОшибкеВПротокол(26, ОписаниеОшибки(), Объект, Тип);
//        
//        Если Не ФлагРежимОтладки Тогда
//            ВызватьИсключение СтрокаСообщенияОбОшибке;
//        КонецЕсли;
//        
//    КонецПопытки;        
//        
//КонецПроцедуры
Процедура ЗаписатьОбъектВИБ(Объект, Тип)

       Попытка

               УстановитьОбменДаннымиЗагрузка(Объект);
       Объект.Записать();

           Исключение

               СтрокаОшибки = ОписаниеОшибки();

               Если Найти(СтрокаОшибки, «Ошибка при вызове метода контекста (Записать): Ошибка при попытке вставки записи с неуникальным значением ссылки.») = 0 Тогда

                       СтрокаСообщенияОбОшибке = ЗаписатьИнформациюОбОшибкеВПротокол(26, ОписаниеОшибки(), Объект, Тип);

                       Если Не ФлагРежимОтладки Тогда
               ВызватьИсключение СтрокаСообщенияОбОшибке;
           КонецЕсли;

                   КонецЕсли;

           КонецПопытки;        

    КонецПроцедуры

Показывать по
10
20
40
сообщений

Новая тема

Ответить

assnake44

Дата регистрации: 24.08.2016
Сообщений: 6

Пробую перенести штатными средствами. Выгружается без ошибок, но при загрузке:
«Ошибка записи объекта
ТипОбъекта             = Подразделение
Объект             = Магазины
ОписаниеОшибки       = Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика — ‘ПриЗаписи’: {Справочник.ПодразделенияОрганизаций.МодульОбъекта(112)}: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика — ‘ПриЗаписи’: {ОбщийМодуль.ЗарплатаКадры.Модуль(985)}: Не удалось изменить подчиненное подразделение Магазин 76 при записи Магазин 76.
Возможно, подразделение редактируется другим пользователем
ПозицияМодуля       = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(5985)
КодСообщения       = 26
Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(5992)}: Ошибка записи объекта
ТипОбъекта             = Подразделение
Объект             = Магазины
ОписаниеОшибки       = Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика — ‘ПриЗаписи’: {Справочник.ПодразделенияОрганизаций.МодульОбъекта(112)}: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика — ‘ПриЗаписи’: {ОбщийМодуль.ЗарплатаКадры.Модуль(985)}: Не удалось изменить подчиненное подразделение Магазин 76 при записи Магазин 76.
Возможно, подразделение редактируется другим пользователем
ПозицияМодуля       = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(5985)
КодСообщения       = 26»

З.Ы. Подразделение – «Магазины» родитель для подразделения «Магазин 76». Подскажите куда копать?

assnake44

Дата регистрации: 24.08.2016
Сообщений: 6

Может кому-то пригодится:
Причина была в в реквизите «ЕстьОбособленныеПодразделения» в справочнике Организации. Перенесся он не корректно из-за кода в макете переноса:
ВЫБОР
             КОГДА ИСТИНА В
                                           (ВЫБРАТЬ ПЕРВЫЕ 1
                                                            ­ ИСТИНА
                                           ИЗ
                                                            ­ Справочник.Организации КАК ПодчиненныеОрганизации
                                           ГДЕ
                                                            ­ ПодчиненныеОрганизации.ГоловнаяОрганизация = Организации.Ссылка

                                                                         ­ ОБЪЕДИНИТЬ

                                                                         ­ ВЫБРАТЬ ПЕРВЫЕ 1
                                                            ­                  ИСТИНА
                                                            ­ ИЗ
                                                            ­                  Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций
                                                            ­ ГДЕ
                                                            ­                  НЕ ПодразделенияОрганизаций.КодПоОКАТО = «»
                                                            ­                  И НЕ ПодразделенияОрганизаций.КодПоОКТМО = «»
                                                            ­                  И ПодразделенияОрганизаций.Владелец = Организации.Ссылка)
                                           ТОГДА ИСТИНА
                               ИНАЧЕ ЛОЖЬ
             КОНЕЦ КАК ЕстьОбособленныеПодразделения

Так как КодПоОКАТО не используется, и был не заполнен. Соответственно получается их нет.

Игорь Афанасьев

Дата регистрации: 01.11.2016
Сообщений: 1

assnake44,Полностью согласен с предыдущим ответом. При переходе на ОКТМО в некоторых подразделениях они становятся не заполненными (человек мог у подразделения заполнить только КПП — раньше проверки на ОКАТО не было.
Затем включили ОКТМО, а перезаполнять его у подразделений никто не стал.

Решение: пройтись по подразделениям, и если ОКТМО не нужно, снять галку или заполнить ОКТМО

Показывать по
10
20
40
сообщений

Читают тему:

0

18.03.2019 — 10:39


Тестим перенос данных из ЗиК 7.7 371 в ЗУП 3.1. Данные выгружались обработкой ПомощникВыгрузкиV7.ert, ошибок не было. При загрузке в 8-ку вываливается ошибка —

Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъе кта(6107)**: Ошибка записи объекта
ТипОбъекта = Перенос данных
Объект = Перенос данных РОтп1 от 18.03.2019
ОписаниеОшибки = Ошибка при вызове метода контекста (Записать): Номер года в литерале типа ‘Дата’ превышает 3999.
ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъек та(6100)
КодСообщения = 26

Судя по писанию, ругается на какую-то дату в документах отпуска, которая или пустая или больше 3999. Проверила доки — приказы на отпуск и начисления отпуска, доков с такими ошибками не нашла. Всё вроде корректно. В какую сторону копать? Или как точнее определить, обо что запинается загрузка? В 8.3 пока еще не очень, так что не пинайте плз!

1

18.03.2019 — 11:07

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

2

19.03.2019 — 05:54

1-user1C > Да прогоняла обработкой, проверяла даты доков, на пустые и больше последних дат отпусков — Приказы по отпуску и Начисление отпуска. Данные на начало года, да. Может проверить еще на меньшие значения — ранее первых отпусков в базе?

3

19.03.2019 — 06:39

(2)А почему не поступите наоборот? в ЗУП 3.1 есть импорт из предыдущей учетной программы ЗИК или ЗУП 2.5

4

19.03.2019 — 09:13

(2)
само собой на ранние даты проверять, я ж написал выше… и проверять надо не только даты доков самих, но и даты в доках(начало и окончание отпуска, например)

5

19.03.2019 — 09:48

(0) А проверить данные в файлах выгрузки? Вряд-ли пустая дата генерировала бы год, больший 3999. Скорее всего где-то вводили год 2 цифрами, например 99-й. А программа интерпретировала в 9900-й. Я бы использовал такой шаблон поиска: Тип=»Дата»><Значение>4
Где 4 — начало 4-х тысячного столетия (т.е. больше 3999), ну и перебрать варианты 5,6,7,8,9.

6

20.03.2019 — 04:16

3-USSR > Ну так я так и поступила, только вторым вариантом, выгрузкой через файлы. Как вариант, можно и напрямую попробовать, но боюсь, что будет дольше и те же грабли, но с другой стороны.

7

20.03.2019 — 04:18

4-user1C >Я и проверяла даты начала и окончания, пардон, если написала непонятно, хотя и даты доков тоже проверила.

8

20.03.2019 — 04:23

5-US1C >Поначалу так и хотела сделать, но файл очень большой, 130 Мб, у нас около полутора тысяч работников в штате, и чем с таким файлом работать не придумала. Спасибо за идею поиска по шаблону! Подскажите, а во что его загрузить, такой большой, чтоб сильных тормозов не было? Ну, в смысле, в какой программе проверять? Пробовала пару xml редакторов, но они вылетают при загрузке файла. Может банально Блокнотом, потянет?

9

20.03.2019 — 04:39

8-Грей Сашенька >Блокнотом не потянет.
Я пользуюсь бесплатным PilotEdit (в инете ищется по названию легко).

10

20.03.2019 — 05:50

9-victuan >Спасибочки! Будем пробовать.

11

20.03.2019 — 07:05

AKXMLEdit еще есть

12

20.03.2019 — 08:32

(8) Я использую Notepad++
Насчет максимального размера обрабатываемого файла не знаю, но функционал (особенно с плагинами) — не детский.

13

20.03.2019 — 08:36

(8) Только что открыл им xml-файл размером в 200 метров. В легкую.

14

20.03.2019 — 09:37

(7)
и что, все даты в порядке?

15

20.03.2019 — 21:48

Цитата:

Сообщение от Грей Сашенька Посмотреть сообщение

Я и проверяла даты начала и окончания

хм.. рискну поставить грош, что даты начала и окончания отпуска ни при чем.
а ошибка у тебя в «За какой период предоставляется отпуск».
или, говоря по-русски, быстренько пробежаться по документам ПриказПоОтпуску и проверить обработочкой НачалоПериода и ОкончаниеПериода.
Принимаешь ставку ? :))

16

20.03.2019 — 21:52

Кстати, на пустую дату не ругается. А ругатется именно на дату больше 3999
рискну поставить еще один грош :), что ошибка в том, что тысячелетие «2» подменили на «5»
т.е, к примеру, ОкончаниеПериода — вместо «2017» — «5017»

17

20.03.2019 — 21:56

И да, я пользуюсь XML Notepad 2007. Мне нравится, функционал для моих невеликих потребностей меня устраивает.

18

21.03.2019 — 02:24

рискную , что деньги нужны, 1с7 пытаются логично убивать

19

21.03.2019 — 05:03

18-101 >

Цитата:

Сообщение от 101 Посмотреть сообщение

деньги нужны

А кому они нынче не нужны?)))

Цитата:

Сообщение от 101 Посмотреть сообщение

1с7 пытаются логично убивать

А чего её убивать? Зика последние годы сама как тот живой труп :(

20

21.03.2019 — 05:18

14-user1C >

Цитата:

Сообщение от user1C Посмотреть сообщение

и что, все даты в порядке?

Походу нет, нашла два дока «из будущего»)))

21

21.03.2019 — 05:24

15-Блондинка в шок >

Цитата:

Сообщение от Блондинка в шок Посмотреть сообщение

Принимаешь ставку ? :))

Принимаю! И при этом — бинго! В яблочко! Нашла два старых дока с реквизитами НачалоПериода и ОкончаниеПериода именно с подменой «2» на «5» — 5006 и 5008 годы. Спасибочки! я сама что-то и не догадалась их проверить… Поправлю и буду снова тестить с выгрузкой-загрузкой. Потом отпишусь, если кому интересно конечно.

22

21.03.2019 — 11:25

Цитата:

Сообщение от Грей Сашенька Посмотреть сообщение

И при этом — бинго! В яблочко! Нашла два старых дока с реквизитами НачалоПериода и ОкончаниеПериода именно с подменой «2» на «5» — 5006 и 5008 годы

Не поверишь :)
По моей статистике, в каждом более-менее крупном учреждении (в которых более 200-300 действующих сотрудников) — мне эта ситуация встречалась в 100% случаев. То ли мне так «повезло», то ли это можно засчитать как фичу эксплуатации ЗиК 7.7 :)

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