8.х РегистрСведений

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

  1. TopicStarter Overlay
    quazare
    Offline

    quazare Опытный в 1С

    Регистрация:
    21 мар 2009
    Сообщения:
    95
    Симпатии:
    0
    Баллы:
    26
    А как обратиться к Колонке табличной части тогда?

    Документ
    - Таблица(Товары)
    - Место (Хранения)...
  2. vitaly_mnpz
    Offline

    vitaly_mnpz Опытный в 1С

    Регистрация:
    15 фев 2009
    Сообщения:
    267
    Симпатии:
    0
    Баллы:
    26
    На самом деле, задача нетривиальная. Необходимо, чтобы при изменении значения в одной колонке. в другой колонке формировался список выбора. Правильно? Ну а как тогда быть, если значение изменилось, но пользователь перешел на другую строку и изменил значение там. А потом вернулся на первоначальную строку?

    Список, по моему мнению, нужно формировать не в момент изменения значения, а в момент активизации ячейки. А это тормоза жуткие.

    Но если очень хоцца, то примерно так:

    Код:
    Процедура НашаТабЧастьПриАктивизацииЯчейки(Элемент)
    Элемент.КнопкаСпискаВыбора = Истина;
    ДанныеСтроки = Элементыформы.НашаТабЧасть.ТекущиеДанные;
    
    // Здесь определяем ключевой реквизит, от которого зависит состав списка. Например этот реквизит - номенклатура
    Номенклатура = ДанныеСтроки.Номенклатура;
    
    // Здесь формируем наш список
    Запрос = Новый Запрос;
    //...
    
    Элемент.СписокВыбора = НашСписокВыбора;
    КонецПроцедуры
    
    
  3. TopicStarter Overlay
    quazare
    Offline

    quazare Опытный в 1С

    Регистрация:
    21 мар 2009
    Сообщения:
    95
    Симпатии:
    0
    Баллы:
    26
    Код:
    Процедура ТоварыПриАктивизацииЯчейки(Элемент)
    
    Элемент.КнопкаСпискаВыбора = Истина;
    
    ДанныеСтроки = Элементыформы.Товары.ТекущиеДанные;
    
    ПараметрВыбора = ДанныеСтроки.Место;
    
    
    Запрос= Новый Запрос(
    "ВЫБРАТЬ
    |	СкладыКомпанииЯчейки.ПолноеНаименование КАК Наименование
    |ИЗ
    |	Справочник.СкладыКомпании.Ячейки КАК СкладыКомпанииЯчейки
    |ГДЕ
    |	СкладыКомпанииЯчейки.ТипЯчейки = &ТипЯчейки
    |	И СкладыКомпанииЯчейки.Наполнение = &Наполнение"
    );
    
    Запрос.УстановитьПараметр("ТипЯчейки", ПараметрВыбора);
    Запрос.УстановитьПараметр("Наполнение", ЛОЖЬ);
    Результат=Запрос.Выполнить().Выбрать();
    
    НашСписокЗначений = Новый СписокЗначений;
    
    Пока Результат.Следующий() Цикл
    НашСписокЗначений.Добавить(Результат.Наименование);
    КонецЦикла;
    
    Элемент.СписокВыбора = НашСписокЗначений;
    
    КонецПроцедуры
    
    пишет, что поле объекта не обнаружено (список выбора)... блин мне не совсем понятна эта реализация. А как просто "тупо обратиться" к колонке табличной части через форму??
  4. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    а ты глянь что такое "элемент"... Обычно при вызове методов табличного поля это и есть само абличное поле :) А у него скорее всего нет поля списокВыбора...

    а обратиться к колонке можно, но зачем? Работа с таблицей подразумевает получение ячейки через получение строки, а потом уже колонки, а не наоборот.
  5. vitaly_mnpz
    Offline

    vitaly_mnpz Опытный в 1С

    Регистрация:
    15 фев 2009
    Сообщения:
    267
    Симпатии:
    0
    Баллы:
    26
    Код:
    Элемент.ТекущаяКолонка.ЭлементУправления.КнопкаСпискаВыбора = Истина;
    
    Целиком согласен с tunec. Неужели лень посмотреть в отладчике....

    А насчет реализации, так можно и ПриОткрытии(), да хоть в модуле приложения ПриНачалеРаботыСистемы() построить эти списки. Только лишний геморрой получишь :unsure:
  6. TopicStarter Overlay
    quazare
    Offline

    quazare Опытный в 1С

    Регистрация:
    21 мар 2009
    Сообщения:
    95
    Симпатии:
    0
    Баллы:
    26
    Действительно, это так... торможу...
Похожие темы
  1. OIT
    Ответов:
    9
    Просмотров:
    681
Загрузка...

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