8.х Форма списка документов

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

  1. TopicStarter Overlay
    PsyTech
    Offline

    PsyTech Опытный в 1С

    Регистрация:
    4 янв 2008
    Сообщения:
    198
    Симпатии:
    0
    Баллы:
    26
    В форме списка есть колонка с реквизитом типа булево (реквизит документа). Как редактировать его в форме списка? Т.е. без открытия формы документа.
  2. thargon
    Offline

    thargon

    Регистрация:
    14 июн 2008
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Насколько я понимаю, штатными средствами редактировать его непосредственно в списке, как список элементов справочника, нельзя. Значит, остается вариант добавить в командную панель кнопку которая получит для текущей строки списка объект документа, установит/снимет этот флаг и запишет документ с нужным режимом проведения. ИМХО только так...
  3. Komich
    Offline

    Komich

    Регистрация:
    10 июл 2008
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Делаешь свою ФормуСписка.
    Обрабатываешь событие выбор.
    У меня получилось

    Код:
    Процедура ДокументСписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
    Если Колонка.Имя = "Реквизит1" Тогда
    СтандартнаяОбработка = Ложь;
    Док = ВыбраннаяСтрока.ПолучитьОбъект();
    Док.Реквизит1 = НЕ Док.Реквизит1;
    Док.Записать();
    КонецЕсли; 
    КонецПроцедуры
    
  4. TopicStarter Overlay
    PsyTech
    Offline

    PsyTech Опытный в 1С

    Регистрация:
    4 янв 2008
    Сообщения:
    198
    Симпатии:
    0
    Баллы:
    26
    Так и сделал. Спасибо.
  5. TopicStarter Overlay
    PsyTech
    Offline

    PsyTech Опытный в 1С

    Регистрация:
    4 янв 2008
    Сообщения:
    198
    Симпатии:
    0
    Баллы:
    26
    А если наоборот.
    Как в форму добавить колонку (тип булево), которая не содержит данных реквизитов документа, а просто визуально хранит значение в этой колонке?
  6. Komich
    Offline

    Komich

    Регистрация:
    10 июл 2008
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Сколько долго хранит значение?
  7. TopicStarter Overlay
    PsyTech
    Offline

    PsyTech Опытный в 1С

    Регистрация:
    4 янв 2008
    Сообщения:
    198
    Симпатии:
    0
    Баллы:
    26
    Все время, пока строка существует.
  8. Komich
    Offline

    Komich

    Регистрация:
    10 июл 2008
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Тогда какой смысл не создавать реквизит?
  9. TopicStarter Overlay
    PsyTech
    Offline

    PsyTech Опытный в 1С

    Регистрация:
    4 янв 2008
    Сообщения:
    198
    Симпатии:
    0
    Баллы:
    26
    Создать реквизит в документе? И потом получать объект по строке и записывать его, а если он проведен - то перепроводить?
    Мегко говоря не лучший вариант.
  10. Komich
    Offline

    Komich

    Регистрация:
    10 июл 2008
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    При вызове метода Записать() без параметров ПРОВЕДЕНИЕ домумента НЕ ВЫПОЛНЯЕТСЯ.
  11. TopicStarter Overlay
    PsyTech
    Offline

    PsyTech Опытный в 1С

    Регистрация:
    4 янв 2008
    Сообщения:
    198
    Симпатии:
    0
    Баллы:
    26
    Читай внимательней!
  12. TopicStarter Overlay
    PsyTech
    Offline

    PsyTech Опытный в 1С

    Регистрация:
    4 янв 2008
    Сообщения:
    198
    Симпатии:
    0
    Баллы:
    26
    И поставь точку останова в обработке проведения, измени любой реквизит в проведенном документе и нажми кнопку ЗАПИСАТЬ.
  13. Komich
    Offline

    Komich

    Регистрация:
    10 июл 2008
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Я говорю о вызове метода Записать() без параметров в рамках предыдущего обсуждения, т.е. в обработчике события Выбор.
    При нажатии на кнопку Записать на форме метод Записать вызывается с параметром Записать(РежимЗаписиДокумента.Проведение).

    ПЕРЕД предыщум ответом я поставил точку останова и проверил
  14. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Так, оба получаете предупреждения.
    Это форум, а не место, где можно оскор***** друг друга, не важно кто первый начал, в случае, если второй поддержал.


    По теме:
    1. Делаешь просто колонку с галочкой и непосредственным редактированием в форме списка (посмотреть на форуме как это сделать так же можно).
    2. Хранить такое в реквизите документа не хорошо из-за перезаписи задним числом (все зависит от того, какой это документ - из описания не ясно), делаем регистр сведений вида:
    Измерение: тип вашего документа, ведущее
    Ресурс: название вашего реквизита, тип булево
    3. При изменении этой галочки в форме списка - меняем ее в ресурсе регистра сведений

    Так же такую галочку можно вывести на форму документа и при записи редактировать ее в регистре сведений. Если запись в регистре сведений не найдена, то можно ее создавать.Форма списка от этого будет работать медленнее, нужно будет при выводе строки тащить данные из регистра сведений, но не будет тормозить при изменении каждой галочки.

    Аналогично, выведя галочку на форму, как просто элемент управления можно и документ перезаписывать, но при изменении галочки готовьтесь, что тормозить будет сильнее.

    Попробовать можете и тот и другой вариант.

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