8.х Отсутствует ключ строки

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем zlodeev09, 29 июн 2010.

  1. TopicStarter Overlay
    zlodeev09
    Offline

    zlodeev09

    Регистрация:
    26 май 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Подскажите, как решить эту проблему

    Код:
    Процедура ДоговорКонтрагентаПередНачаломДобавления(Элемент, Отказ, Копирование, ВидыДоговораВзаиморасчетов,СтандартнаяОбработка, СтруктураПараметров, ДоговорКонтрагента, СтруктураДополнительныхПараметров = Неопределено) 
    
    МетаданныеДокумента = ДокументОбъект.Метаданные();
    
    Если Не Контрагент.Пустая() Тогда
    ФормаВыбора = Справочники.ДоговорыКонтрагентов.ПолучитьФормуВыбора();
    ФормаВыбора.ПараметрОтборПоВладельцу = Контрагент;
    ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора.Владелец.Доступность = Ложь;
    
    Если ВидыДоговораВзаиморасчетов<>Неопределено Тогда
    
    // Оставим в выборе только "правильные" договоры
    Если ТипЗнч(ВидыДоговораВзаиморасчетов) = Тип("СписокЗначений") Тогда
    ФормаВыбора.СправочникСписок.Отбор.ВидДоговора.ВидСравнения                    = ВидСравнения.ВСписке;
    Иначе
    ФормаВыбора.СправочникСписок.Отбор.ВидДоговора.ВидСравнения                    = ВидСравнения.Равно;
    КонецЕсли;
    ФормаВыбора.СправочникСписок.Отбор.ВидДоговора.Значение                            = ВидыДоговораВзаиморасчетов;
    ФормаВыбора.СправочникСписок.Отбор.ВидДоговора.Использование                       = Истина;
    ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора.ВидДоговора.Доступность = Ложь;
    КонецЕсли;
    
    
    // Еще надо фильтровать по организации, если она заполнена
    Если ОбщегоНазначения.ЕстьРеквизитДокумента("Организация",МетаданныеДокумента)
    И ЗначениеЗаполнено(ДокументОбъект.Организация) Тогда
    ФормаВыбора.СправочникСписок.Отбор.Организация.Значение                            = ДокументОбъект.Организация;
    ФормаВыбора.СправочникСписок.Отбор.Организация.Использование                       = Истина;
    ФормаВыбора.СправочникСписок.Отбор.Организация.ВидСравнения                        = ВидСравнения.Равно;
    ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора.Организация.Доступность = Ложь;
    КонецЕсли;
    
    
    // Добавим фильтры по дополнительным параметрам отбора
    Если ТипЗнч(СтруктураДополнительныхПараметров) = Тип("Структура") Тогда
    Для каждого ЭлементСтруктуры Из СтруктураДополнительныхПараметров Цикл
    
    СтруктураОтбора = ЭлементСтруктуры.Значение;
    
    ЗначениеОтбора     = Неопределено;
    ВидСравненияОтбора = Неопределено;
    ДоступностьОтбора  = Неопределено;
    
    Если СтруктураОтбора.Свойство("ЗначениеОтбора", ЗначениеОтбора) Тогда
    
    Если СтруктураОтбора.Свойство("ВидСравненияОтбора", ВидСравненияОтбора) Тогда
    ФормаВыбора.СправочникСписок.Отбор[ЭлементСтруктуры.Ключ].ВидСравнения = ВидСравненияОтбора;
    Иначе
    ФормаВыбора.СправочникСписок.Отбор[ЭлементСтруктуры.Ключ].ВидСравнения = ВидСравнения.Равно;
    КонецЕсли;
    
    ФормаВыбора.СправочникСписок.Отбор[ЭлементСтруктуры.Ключ].Значение      = ЗначениеОтбора;
    ФормаВыбора.СправочникСписок.Отбор[ЭлементСтруктуры.Ключ].Использование = Истина;
    
    Если СтруктураОтбора.Свойство("ДоступностьОтбора", ДоступностьОтбора) Тогда
    ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора[ЭлементСтруктуры.Ключ].Доступность = ДоступностьОтбора;
    Иначе
    ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора[ЭлементСтруктуры.Ключ].Доступность = Ложь;
    КонецЕсли;
    
    КонецЕсли;
    
    КонецЦикла;
    
    КонецЕсли;
    
    
    
    
    
    
    
    КонецЕсли;
    
    
    ФормаВыбора.ПараметрВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Элементы;
    ФормаВыбора.ЭлементыФормы.СправочникСписок.ТекущаяСтрока = ДоговорКонтрагента;
    
    ФормаВыбора.Открыть();
    
    
    КонецПроцедуры
    

    Выдает ошибку:
  2. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Ну так вы пытаетесь превратить арбузы в шапки! Это как? Вы текущей строке (с типом строка табличного поля) пытаетесь пристоить ссылку на справочник. Зачем спрашивается.
  3. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Посмотрите, какого типа должно быть значения для ТекущаяСтрока. Ваше значения туда нельзя подпихнуть в таком виде.

Поделиться этой страницей