8.х Поле табличного документа на форме

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

  1. TopicStarter Overlay
    andyid
    Offline

    andyid Новичок в 1С

    Регистрация:
    14 окт 2010
    Сообщения:
    27
    Симпатии:
    1
    Баллы:
    4
    Здравствуйте. Подскажите пожалуйста у меня проблема.

    На форме есть реквизит "Поле табличного документа" Поле1. Как сделать так, что бы весь этот объект т.е. Поле1 занести скажем в таблицу значений т.е. и в дальнейшем по необходимости выгрузить обратно на форму в это Поле1

    Например:

    Код:
    ТЗ = Новый ТаблицаЗначений;
    ТЗ.Колонки.Добавить("Колонка1");
    
    НоваяСтрока=ТЗ.Добавить();
    НоваяСтрока.Колонка1 = Поле1;
    
    
    потом в форме это поле поменяли, и возникла необходимость вернуть все изменения обратно, как это можно сделать (т.е. имеем запомненное "поле табличного документа" в "таблице значений" и на форме "поле табличного документа")?
  2. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Через "Поле1.Значение", там хранится отображаемая таблица значений
  3. TopicStarter Overlay
    andyid
    Offline

    andyid Новичок в 1С

    Регистрация:
    14 окт 2010
    Сообщения:
    27
    Симпатии:
    1
    Баллы:
    4
    а неподскажите по подробнее, скажем я в модуле формы пишу

    Поле1.Значение

    а мне программа выдает ошибку, что поле1 переменная не обнаружена, надо через ЭлементыФормы?

    и вообще пишет, что поле объекта не обнаружено(Значение), когда пишу Поле1.Значение :(
  4. TopicStarter Overlay
    andyid
    Offline

    andyid Новичок в 1С

    Регистрация:
    14 окт 2010
    Сообщения:
    27
    Симпатии:
    1
    Баллы:
    4
    В общем я сам разобрался методом научного тыка как это возможно сделать.

    Значит имеем в форме поле табличного документа Поле1, для того, что бы присвоить это поле переменной или в таблице значений нужно сделать следующее:

    Код:
    ТЗ = Новый ТаблицаЗначений;
    ТЗ.Колонки.Добавить("Колонка1");
    
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Вывести(ЭлементыФормы.Поле1.ПолучитьОбласть("R1C1:R10C10"));
    
    НоваяСтрока=ТЗ.Добавить();
    НоваяСтрока.Колонка1 = ТабДок;
    
    //...

    потом в форме изменились ячейки (скажем значения или шрифт или цвет) и захотелось вернутся к первоначальной таблице, то необходимо:

    Код:
    ТекущаяСтрока = ТЗ.Получить(0);
    
    ЭлементыФормы.Поле1.Очистить();
    ЭлементыФормы.Поле1.Вывести(ТекущаяСтрока.Колонка1);
    
    
    и все ок :) может кому пригодится...

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