Имя: Пароль:
1C
 
Нет данных в структуре ДополнительныеПараметры
0 falselight
 
23.06.17
08:08
Извините если что не так.
Суть проблемы такова. Проводится некий документ.
При его проведении перепроводится, другой документ.
Но на его перепроведении срабатывает критическая ошибка.
Структура ЭтотОбъект.ДополнительныеСвойства пуста!!!
Не пойму что это за структура, от куда берется, нет нигде
её среди реквизитов документа. И почему могут может быть пустая
эта структура? В дубликате базы, все нормально отрабатывает.
Может кто что подскажет что натолнет на решение?!
1 1dvd
 
23.06.17
08:10
Отладчик поможет
2 falselight
 
23.06.17
08:20
(1) Так я там и лаже без остановки. Но нет понимания.
В одной базе при попадании в модуль объекта структура
ДополнительныеСвойства со значениями. В другой попадая
так же в модуль объекта, она пустая, из за чего идет ошибка (((
Как понять из за чего она то со значениями то пустая.
Если пустая то все ломается, критическая ошибка.
Но как это отловить, устранить не пойму пока.
3 patria0muerte
 
23.06.17
08:40
(2) Чем-то похоже на реп. Если на фоне включить какой-нибудь бит, то можно неплохо так зачитать.
4 1dvd
 
23.06.17
08:48
(3) вот сейчас даже я не понял :)
5 Альбатрос
 
23.06.17
08:54
Чо, ошибка так и звучит "Структура ЭтотОбъект.ДополнительныеСвойства пуста!!! "?
6 falselight
 
23.06.17
09:00
(5) Не, вот в этой процедуре идет чтение свойств структуры, проверка. А если она пустая то идет ошибка, что нет таких полей у структуры. А если эту проверку исключить, проверив например что структура пустая, то ошибка идет далее уже. Я так понимаю что она не может быть пустая. Нужно выявить момент, от чего она может быть то пустая то нет.


Функция РучнаяКорректировкаОбработкаПроведения(РучнаяКорректировка, Отказ, Заголовок, ЭтотОбъект, ВыборочноОчищатьРегистры = Истина)  Экспорт
    
    Если РучнаяКорректировка Тогда
        ИзменитьАктивностьПоРегистратору(ЭтотОбъект, Отказ);
        ТекстСообщения = "Движения документа отредактированы вручную и не могут быть автоматически актуализированы.";
        СообщитьОбОшибке(ТекстСообщения, ,Заголовок);
        Возврат Истина;
    Иначе
        Если ЭтотОбъект.ДополнительныеСвойства.Количество() <> 0 Тогда
            УдалитьДвиженияРегистратора(ЭтотОбъект, Отказ, Ложь,
                ВыборочноОчищатьРегистры И НЕ ЭтотОбъект.ДополнительныеСвойства.ДатаДокументаСдвинутаВперед);
            Возврат Ложь;
        Иначе
            Сообщить("У докумнета -Начисление процентов по витрине-, пустая структура дополнительные свойства.");
        КонецЕсли;
    КонецЕсли;
    
КонецФункции // РучнаяКорректировкаОбработкаПроведения()
7 falselight
 
23.06.17
09:01
(6+) Это я попробовал добавить, но не помогло.
Ошибки идут потом далее. Я так понял что она не может быть пустая!


Если ЭтотОбъект.ДополнительныеСвойства.Количество() <> 0 Тогда
8 Альбатрос
 
23.06.17
09:08
(7) Ты ошибку хочешь озвучить и код показать, в котором она возникает, примерно к 389 посту?
9 falselight
 
23.06.17
09:17
(8) На этой строке, я же сказал


УдалитьДвиженияРегистратора(ЭтотОбъект, Отказ, Ложь,
                ВыборочноОчищатьРегистры И НЕ ЭтотОбъект.ДополнительныеСвойства.ДатаДокументаСдвинутаВперед);



ошибка в том что структура ЭтотОбъект.ДополнительныеСвойства пустая, и там нет поля ДатаДокументаСдвинутаВперед, в этом и ошибка
10 catena
 
23.06.17
09:17
(9)Ну так заполни.
11 Альбатрос
 
23.06.17
10:45
(9) Если бы твоя структура была пустая, об эту строчку не запиналась бы.
Основная теорема систематики: Новые системы плодят новые проблемы.