| 
    
        
     
     | 
    
    
  | 
План обмена в УПП | ☑ | ||
|---|---|---|---|---|
| 
    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 
 | 
         
        Вопрос закрыт. Мой косяк. Все оказалось на много проще...
 
        Прошу прощения за беспокойство.  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |