8.х Определение видимости колонок

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

  1. TopicStarter Overlay
    Asaena
    Offline

    Asaena

    Регистрация:
    30 ноя 2009
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте. Помогите, пожалуйста, определить видимость колонок табличной части документа из обработки.
    Сейчас видимость определяется так:
    Код:
    Колонки = ЭлементыФормы.Товары.Колонки; // это обработка
    Для каждого Колонка Из Колонки Цикл
    
    Колонки[Колонка.Имя].Видимость = НЕ ПустаяСтрока(мФормаДокумента.ЭлементыФормы[мИмяТабличнойЧастиДокумента].Колонки.Найти(Колонка.Имя)); 
    
    КонецЦикла;
    
    
    т.е. просто по наличию колонки в табличной части документа. А нужно по видимости.
    p.s. это стандартная обработка табличной части товары для документов.
  2. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Не совсем понял задачу. Как это: видимость колонки должна определяться по ее видимости??
  3. TopicStarter Overlay
    Asaena
    Offline

    Asaena

    Регистрация:
    30 ноя 2009
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    Видимость колонки в табличной части обработки должна определятся по видимости колонки ТЧ документа. Сейчас определяется просто по её наличию (в ТЧ документа).
  4. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    так?
    Код:
    Колонки[Колонка.Имя].Видимость = НЕ ПустаяСтрока(мФормаДокумента.ЭлементыФормы[мИмяТабличнойЧастиДокумента].Колонки.Найти(Колонка.Имя)) И мФормаДокумента.ЭлементыФормы[мИмяТабличнойЧастиДокумента].Колонки[Колонка.Имя].Видимость;
    
    Хотя так ошибка может выскакивать. Так попробуйте:

    Код:
    ЕстьКолонка = НЕ ПустаяСтрока(мФормаДокумента.ЭлементыФормы[мИмяТабличнойЧастиДокумента].Колонки.Найти(Колонка.Имя));
    КолонкаВидима = Ложь;
    Если ЕстьКолонка Тогда
    КолонкаВидима = мФормаДокумента.ЭлементыФормы[мИмяТабличнойЧастиДокумента].Колонки[Колонка.Имя].Видимость;
    КонецЕсли;
    Колонки[Колонка.Имя].Видимость =  ЕстьКолонка И КолонкаВидима;
    
  5. TopicStarter Overlay
    Asaena
    Offline

    Asaena

    Регистрация:
    30 ноя 2009
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    Спасибо, работает.
  6. TopicStarter Overlay
    Asaena
    Offline

    Asaena

    Регистрация:
    30 ноя 2009
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    Народ, еще пару вопросов задам тут, если можно:
    1) Обработка запускается из формы документа по кнопке. Можно ли сделать так, чтобы было запрещено повторное открытие формы обработки? (ОткрытьМодально() не подходит, т.к. придется менять модуль формы документа).
    2) Как проверить модифицировалась ли табличная часть на форме? (пробовал ЭтаФорма.Модифицированность, но что то не сработало, или не там использовал).
  7. afinogen
    Offline

    afinogen Опытный в 1С

    Регистрация:
    28 фев 2011
    Сообщения:
    160
    Симпатии:
    0
    Баллы:
    26
    проверка на открытость формы
    если ЭтаФорма.Открыта Тогда
    ЭтаФрорма.Активизировать
  8. TopicStarter Overlay
    Asaena
    Offline

    Asaena

    Регистрация:
    30 ноя 2009
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    Это не мешает запускать обработку еще и еще =/
  9. TopicStarter Overlay
    Asaena
    Offline

    Asaena

    Регистрация:
    30 ноя 2009
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    p.s. первый вопрос снимается.

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