[РЕШЕНО] Доступность КнопкиОткрытия в режиме ТолькоПросмотр

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Zerder, 26 июл 2015.

  1. TopicStarter Overlay
    Zerder
    Offline

    Zerder

    Регистрация:
    18 июл 2015
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте.
    Подскажите пожалуйста как решить данную ситуацию.
    Код:
    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
        Если Объект.Проведен Тогда
            Сообщение = Новый СообщениеПользователю;
            Сообщение.Текст = "Документ закрыт "+Объект.Дата;
            Сообщение.Сообщить();
        ЭтотОбъект.ТолькоПросмотр = Истина;
        КонецЕсли  
    КонецПроцедуры
    
    В режиме ТолькоПросмотр в ТабличнойЧасти ПрикрепленныеФайлы в реквизите СсылкаНадокумент нет кнопки открыть, а она очень нужна.
    Пробовал:
    Код:
    Элементы.ПрикреленныеФайлыСсылкаНадокумент.Доступность = Истина;
    
    Не помогает.
  2. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Кнопка открытия не отображается в строках табличной части.
    У таблицы формы есть событие "Выбор". Оно вызывается при двойном клике на строке таблицы (нажатии клавиши Enter).
    В этом событии Вы можете прописать открытие нужного документа.
    Алгоритм примерно такой:
    1) Условие на то, что форма находится в режиме только просмотра.
    1) Получаете текущую строку.
    2) Если требуется, то проверяете имя колонки (параметр процедуры "Поле")
    3) Открываете документ методом "ОткрытьЗначение()" (в случае неиспользования модальности - "ПоказатьЗначение()").
    Zerder нравится это.
  3. TopicStarter Overlay
    Zerder
    Offline

    Zerder

    Регистрация:
    18 июл 2015
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Я сделал немного по другому:
    Создал общую команду с таким кодом:
    Код:
    &НаКлиенте
    Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
       ОткрытьФормуМодально("ОбщаяФорма.ФормаДляФайлов", ,ПараметрыВыполненияКоманды.Источник);
    КонецПроцедуры
    Сделал форму, которая заполняется:
    Код:
    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
       Сообщение = Новый СообщениеПользователю;
       Сообщение.Текст = "Я открылась";
       Сообщение.Сообщить();
       КоличествоСтрок = ВладелецФормы.Объект.ПрикрепленныеФайлы.количество();
       Для Счетчик = 0 По КоличествоСтрок-1 Цикл
           НоваяСтрока = СпискокФайлов.Добавить();
          НоваяСтрока.дата = ВладелецФормы.Объект.ПрикрепленныеФайлы[Счетчик].Дата;
         НоваяСтрока.Файл = ВладелецФормы.Объект.ПрикрепленныеФайлы[Счетчик].СсылкаНадокумент;
         НоваяСтрока.Комментарий = ВладелецФормы.Объект.ПрикрепленныеФайлы[Счетчик].Комментарий;
       КонецЦикла;
    КонецПроцедуры
    
    Но проблема в том, что иногда в табличной части нет реквизита "дата", пытаюсь исправить этот момент через
    Код:
    Если Тип("ВладелецФормы.Объект.ПрикрепленныеФайлы[Счетчик].Дата")<>ТипЗнч("") Тогда
                 НоваяСтрока.дата = ВладелецФормы.Объект.ПрикрепленныеФайлы[Счетчик].Дата;
    КонецЕсли
    Не получается, что можно сделать в этом случае?
    А так, всё работает, если реквизит дата есть
    Последнее редактирование: 30 июл 2015
  4. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Не совсем понял, что у Вас там..., но, думаю, это должно подойти:
    Код:
    Если ВладелецФормы.Объект.ПрикрепленныеФайлы[Счетчик].Свойство("Дата") Тогда
    Последнее редактирование: 31 июл 2015
    Zerder нравится это.

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