8.х Табличная часть!

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем 3dvol, 1 окт 2010.

  1. TopicStarter Overlay
    3dvol
    Offline

    3dvol

    Регистрация:
    22 авг 2010
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Добрый день!
    Подскажите, пожалуйста, а то замучался уже искать :angry:
    Есть документ с табличной частью "Учет" и реквизитом "счет учета". Необходимо, чтобы при добавлении новой строки автоматически в счет учета подставлялся необходимый счет.
    Вот что получилось, а дальше никак:
    Код:
    	Если НаправлениеОплаты = Перечисления.НаправлениеДвиженияДокОплата.ПоступлениеДенежныхСредств Тогда
    СтрокаТЧ.СчетУчета = ПланыСчетов.Основной.РасчетыСПокупателямиИЗаказчиками;
    Иначе
    СтрокаТЧ.СчетУчета = ПланыСчетов.Основной.РасчетыСПоставщикамиИПодрядчиками;
    
    Возвращает ошибку "значение не является значением объектного типа (СчетУчета)"
    Я так понимаю необходимо обращаться не к элементу формы, а к текущей строке табличной части, но как это можно сделать?
  2. alexburn
    Online

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Ссылку нужно указать.
  3. shurikvz
    Online

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    СтрокаТЧ что у вас такое? Код дайте как ее получаете. Вышеприведенный код где располпгается?
  4. TopicStarter Overlay
    3dvol
    Offline

    3dvol

    Регистрация:
    22 авг 2010
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Код располагается в модуле формы
    Код:
    СтрокаТЧ = ЭлементыФормы.Учет.ТекущиеДанные;
    
  5. shurikvz
    Online

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    В модуле формы в какой процедуре? ЭлементыФормы.Учет.ТекущиеДанные может равняться "Неопределено".
  6. TopicStarter Overlay
    3dvol
    Offline

    3dvol

    Регистрация:
    22 авг 2010
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Код:
    Процедура УчетПередНачаломДобавления(Элемент, Отказ, Копирование)
    Если НаправлениеОплаты.Пустая() Тогда
    Предупреждение("Выберите направление оплаты!");
    Отказ = Истина;
    Иначе 
    СтрокаТЧ = ЭлементыФормы.Учет.ТекущиеДанные;
    Если НаправлениеОплаты = Перечисления.НаправлениеДвиженияДокОплата.ПоступлениеДенежныхСредств Тогда
    СтрокаТЧ.СчетУчета = ПланыСчетов.Основной.РасчетыСПокупателямиИЗаказчиками;
    Иначе
    СтрокаТЧ.СчетУчета = ПланыСчетов.Основной.РасчетыСПоставщикамиИПодрядчиками;
    КонецЕсли;
    КонецЕсли;
    КонецПроцедуры
    
    
  7. shurikvz
    Online

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Ну так это, перед началом добавления, там скорее всего ничего и нет. Посмотрите в отладчике после этой строки "СтрокаТЧ = ЭлементыФормы.Учет.ТекущиеДанные;", чему равна "СтрокаТЧ".
  8. TopicStarter Overlay
    3dvol
    Offline

    3dvol

    Регистрация:
    22 авг 2010
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    shurikvz, спасибо! Там всетаки ничего еще нету.
    Проблему решил:

    Код:
    Процедура УчетПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    СтрокаТЧ = ЭлементыФормы.Учет.ТекущиеДанные;
    Если СтрокаТЧ.СчетУчета.Пустая() Тогда
    Если НаправлениеОплаты = Перечисления.НаправлениеДвиженияДокОплата.ПоступлениеДенежныхСредств Тогда
    СтрокаТЧ.СчетУчета = ПланыСчетов.Основной.РасчетыСПокупателямиИЗаказчиками.Ссылка;
    Иначе 
    СтрокаТЧ.СчетУчета = ПланыСчетов.Основной.РасчетыСПоставщикамиИПодрядчиками.Ссылка;
    КонецЕсли;
    КонецЕсли;
    КонецПроцедуры
    
  9. shurikvz
    Online

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Buldozer только учтите: ПриВыводе строки - далеко не самый лучшый выбор, чтобы что-то заполнять в ТЧ. Посмотрите лучше события "ПриИзменении".

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