Поменять видимость

Тема в разделе "1C и всё что с ней связано", создана пользователем Leon3, 21 июл 2008.

  1. Leon3

    Leon3 Гость

    Помогите пожалйста кто знает? Нужно Из обработки Поменять видимость колонки Таблицы !
    Форма.<НазваниеКолонки>.Видимость(0);
    Док.Форма.НП.Видимость(0) - ТАк Не Работает! Форма - можно использовать только из модуля документа! Можно ли вообще это сделать?
     
  2. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Что ты имеешь ввиду под таблицей? ТаблицуЗначений? или табличную часть документа?
    попробуй тоже-только без ДОК

    Форма.НП.Видимость(0)
     
  3. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Для таблицы значений :
    ВидимостьКолонки(<?>,,);
    ColumnVisibility(<?>,,);
    Синтаксис:
    ВидимостьКолонки(<Колонки>,<Видимость>,<Позиция>)
    Назначение:
    Показать/скрыть колонки таблицы значений в визуальном представлении таблицы значений.

    Если надо скрыть колонку в табличной части документа (в о бработке), выгрузи табличную часть в таблицу значений и ...
    далее см. выше
     
  4. Leon3

    Leon3 Гость

    табличную часть документа! А именно Многострочную часть документа поступление материалов

    Табл = СоздатьОбъект("ТаблицаЗначений");
    Док.ВыгрузитьТабличнуюЧасть(Табл);
    Табл.ВидимостьКолонки("НП",0);

    Док.ЗагрузитьТабличнуюЧасть(Табл);

    Так Не получилось Сделать невидным!! Не подскажите Как Пожал?
     
  5. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Ты имеешь ввиду чтобы видимость была в форме документа или внешнеё обработке?
    Если в форме документа тогда Форма.НП.Видимость(0)

    Если в внешней обработке создаешь в обработке таблицу, обзываешь её Табл , при этом в модуле никакого СоздатьОбъект("ТаблицаЗначений") не надо, достаточно

    Док.ВыгрузитьТабличнуюЧасть(Табл);
    Табл.ВидимостьКолонки("НП",0);
     
  6. Leon3

    Leon3 Гость

    Спасибо конечно, Но Нет, пух14 Ты понял не правильно ! Нужно из обработки по нажатию кнопки, Что бы в создавшемся документе поступление материалов Колонки Нп Небыло видно! Если создать документ вручную в предприятии документ проверяет и не выводит колонку НП! А вот из обработки как это же сделать - вот в чем вопрос!
     
  7. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Создать реквизит шапки числовой и записывать в него число из обработки, а дальше при открытии по условию этого числа делать видимой или невидимой колонку НП ф модуле формы.
     
  8. Leon3

    Leon3 Гость

    Тогда же нужно нужно изменять документ, а этого делать нельзя
     
  9. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    А в чем проблема? ну добавил реквизит шапки, ну и что?
     
  10. kaa

    kaa Гость

    1. Посмотри модуль формы где-то в зависимости от какого-то рекивизита устанвливается видимость реквизита НП
    2. При програмном создании документа надо этому реквизиту присвоить соответствующие значение , ВСЕ!
     
  11. Leon3

    Leon3 Гость

    Пух14: Эта Обработка используется Для многих фирм,Баз, Везде менять реквизит шапки НИкак!


    каа: 2 . При програмном создании документа надо этому реквизиту присвоить соответствующие значение , ВСЕ!

    Я вот как раз это и Пытаюсь сделать, но не получается никак
     
  12. kaa

    kaa Гость

    Привожу аналогию торговля

    Если УчитаватьНДС = 1 Тогда
    Форма.СатвкаНДС.Видимость(1);
    Форма.СуммаНДС.Видимость(1);
    Иначе
    Форма.СатвкаНДС.Видимость(0);
    Форма.СуммаНДС.Видимость(0);
    КонецЕсли;

    Если создовать документ програмно
    Док = СоздатьОбъект("Документ.Реализация");
    Док.УчитыватьНДС = 1; // при открытии получаем Форма.СатвкаНДС.Видимость(1);

    или

    Док.УчитыватьНДС = 0; // при открытии получаем Форма.СатвкаНДС.Видимость(0);

    надо в документе найти реквизит отвечающий за видимость нужного тебе реквизита
     
  13. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    О Идея - у тебя из обработки Автор записывается? если нет тогда в модуле формы в процедуре ПриОткрытии()

    Если ПустоеЗначение(Автор) = 1 Тогда
    Форма.НП.Видимость(0);
    КонецЕсли;

    Проверь чтобы автор записывался в процедуре ВводНового - ТОгда в созданых вручную документах колонка НП будет видна.

    Автор чаще всего живёт в общих реквизитах документов. Можешь условие повесить не на пустого автора, а на конкретного пользователя.

    а если не работает ПустоеЗначение(Автор) = 1 попробуй

    Если Автор = "" Тогда
    Форма.НП.Видимость(0);
    КонецЕсли;
     
  14. Leon3

    Leon3 Гость

    надо в документе найти реквизит отвечающий за видимость нужного тебе реквизита
    А нет такого теквизита вроде!
     
  15. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Ну нет такого реквизита - если не можешь создать - тогда пользуйся имеющимеся. Наверняка у тебя есть какой-то из общих реквизитов, который тебе из обработки не нужен, типа того-же автора. Завяжи условие видимости в форме на точное значение этого реквизита, при котором у тебя отключается видимость колонки. А из обработки записывай это точное значение!
     
  16. kaa

    kaa Гость

    Не надо ни чего править !
    Выложи код МодульФормы
     
  17. Leon3

    Leon3 Гость

    Ясно ! Спасибо! Я уже занялся другим проектом
     
Загрузка...

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