Имя: Пароль:
1C
1С v8
План обмена в УПП
, ,
0 Tanis
 
10.09.13
10:58
Добрый день!
Подскажите, пожалуйста!
Есть план обмена, который определяет тип Справочник или Документ, потом присваивает значение 2 или 1. Вызывается при записи объекта. Все работает хорошо и слаженно, но появилась проблема, стали использовать документ Прочие контролируемые сделки.
В итоге, там получается как бы документ в документе, точнее не знаю как это назвать.
Операции - Документы - Прочие контролируемые сделки, открывается окно, и там уже заносятся еще документы. (и вот при каком-либо действие со "вторым док-ом" вываливается ошибка не возможно определить тип).
У первого открывшегося окна нет ни записи, ни удаления и т.д.
Как можно обойти такую проблему?
1 Галахад
 
гуру
10.09.13
11:04
Может программиста позвать?
2 Tanis
 
10.09.13
11:05
А если просто подсказать?
3 Галахад
 
гуру
10.09.13
11:07
В отладчике включить опцию "останавливаться по ошибке" и посмотреть.
4 Serg_1960
 
10.09.13
11:16
(2) А что именно Вам "просто подсказать"? Про план обмена? Так вопрос в (0) не про это.

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

Когда путают визуальное представление с внутренними методами хранения данных. Это скорее свойство пользователя, чем программиста. Вот на это Вам и указали в (1)

Так называемые "документы" - это табличная часть "Сделки" в документе ПрочиеКонтролируемыеСделки.
5 Tanis
 
10.09.13
11:16
вот именно, что он и отладчиком не встает по ошибке.
т.к процедура должна вызываться при записи, а там записи как бы нет.
Отладчик тут особо не поможет
6 Tanis
 
10.09.13
11:18
(4) Так называемые "документы" - это табличная часть "Сделки" в документе ПрочиеКонтролируемыеСделки.

Вот на этих "Так называемые "документы"" он и встает, не дает с ними ничего сделать.
7 Tanis
 
10.09.13
11:19
это получается не обычная табличная часть?
8 Tanis
 
10.09.13
11:22
Процедура ПередЗаписью(СтруктураДанныхОбъекта, СсылкаНаОбъект) Экспорт
    
    Если ТипЗнч(СсылкаНаОбъект) = Тип("СправочникСсылка.ДоговорыКонтрагентов") Тогда
        
        КодУзла = "2";
        
    ИначеЕсли Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(СсылкаНаОбъект)) Тогда
        
        КодУзла = "1";
        
    Иначе
        
        ТекстСообщения = "Тип: " + ТипЗнч(СсылкаНаОбъект) + " не определен для регистрации в план обмена: " + Метаданные.ПланыОбмена.ОбменБухгалтерияЛетограф.Синоним;
        ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения,,,, Ложь);    
        Возврат;
        
    КонецЕсли;    
    
    ТекущийУзел = ПланыОбмена.ОбменБухгалтерияЛетограф.НайтиПоКоду(КодУзла);//Пока что так
    
    Если ЗначениеЗаполнено(ТекущийУзел) Тогда
        
         РегистрироватьИзмененияОбъекта = НеобходимоРегистрироватьИзменения(СтруктураДанныхОбъекта, СсылкаНаОбъект);
         Если РегистрироватьИзмененияОбъекта Тогда
            
             ПланыОбмена.ЗарегистрироватьИзменения(ТекущийУзел, СсылкаНаОбъект);
            
         КонецЕсли;    
        
    Иначе//Если ЗначениеЗаполнено(Узел1) Тогда    
        
        ТекстСообщения = "Узел по коду " + КодУзла + " в плане обмена: " + Метаданные.ПланыОбмена.ОбменБухгалтерияЛетограф.Синоним + " не существует";
        ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения,,,, Ложь);    
        
    КонецЕсли;    
    
КонецПроцедуры    


Останавливается на попытке ПланыОбмена.ЗарегистрироватьИзменения(ТекущийУзел, СсылкаНаОбъект);
9 Tanis
 
10.09.13
11:49
Подскажите, как можно обойти написанное в процедуре, при действиях с Прочими контролируемыми сделками?
10 Serg_1960
 
10.09.13
12:05
Точный текст ошибки?
11 Tanis
 
10.09.13
12:15
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
{ОбщийМодуль.РегистрацияИзмененийЛетограф.Модуль(397)}: Ошибка при вызове метода контекста (ЗарегистрироватьИзменения)

по причине:
Недопустимое значение параметра (параметр номер '2')
12 Галахад
 
гуру
10.09.13
12:21
Интересно, что же там за параметр.
13 Tanis
 
10.09.13
12:23
2 - договор, 1 - документ.

Если "Так называемые "документы"" являются ТЧ документа, то почему у каждой строки свой номер. Т.е. и получается, что это не просто ТЧ. :-(
14 Галахад
 
гуру
10.09.13
12:25
(13) 1С однозначно пишет, что это не ссылка.
15 Tanis
 
10.09.13
12:33
Может и не ссылка, но как обойти проблему. И почему если это не ссылка, то присваивается номер.
Может наша процедура не воспринимает управляемые формы документа...
16 Tanis
 
10.09.13
13:11
Вопрос закрыт. Мой косяк. Все оказалось на много проще...
Прошу прощения за беспокойство.