1С 7.7 Редактирование реквизита документа

  • Автор темы Автор темы olga13
  • Дата начала Дата начала
O

olga13

Добрый день! Суть проблемы такова: после отгрузки товара со склада необходимо запретить редактирование всего документа кроме одного реквизита. Применение Форма.ТолькоПросмотр(1) устанавливает запрет на весь документ, а описывать все реквизиты через Форма.Доступность(0) как-то не хочется... Может, существуют другие решения?
 
Попробуй через метаданные
Перебор всех реквизитов шапки и тч, а потом просто на свой реквизит установи доступность(1)
 
Спасибо за совет, попробую.
 
Можно сделать, чтобы из формы открывалась обработка для редактирования одного реквизита. Делал подобное, когда нужно было изменение реквизита без перепроведения.
 
Неплохая мысль
 
Человеки, а что с кнопками и реквизитами формы, которые не являются напрямую реквизитами шапки или ТЧ думаете делать? Я бы посмотрел в сторону FormEx.dll - можно перебрать все реквизиты формы и сделать их недоступными в цикле. Кнопки и всякого рода боксы в этом случае будут являться реквизитами формы.
Предлагаю всем проникнуться и отплюсоваться ;)
 
А и правда. Даже напишу пример
Код:
РФ= СоздатьОбъект("РасширениеФормы"); 
РФ.УстановитьФорму(Форма);
Для С = 0 По РФ.КоличествоАтрибутов() - 1 Цикл
РФ.ПолучитьАтрибут(С).Доступность = 0;
КонецЦикла;
 
Только для 7.7 это не пройдет
 
Человеки, а что с кнопками и реквизитами формы, которые не являются напрямую реквизитами шапки или ТЧ думаете делать?
Так если элементы формы не являются реквизитами документа, то это никак не помешает.
А предложение
unknown181538
на мой взгляд, вполне реализуемо :
1. В процедуре ПриОткрытии() ставим Форма.ТолькоПросмотр(1);
2. Вызываем простенькую обработку редактирования единственного реквизита
3. И закрываем документ с измененным реквизитом.

Если перепроведение необходимо, понадобятся еще манипуляции, но все преодолимо
 
vbs
FormEx как раз для 7.7 и предназначена. А расширенный ответ TimeDontWait по гениальной наводке vitfil - есть самое правильное в данном случае решение. :RTFM:
 
FormEx как раз для 7.7 и предназначена. А расширенный ответ TimeDontWait по гениальной наводке vitfil - есть самое правильное в данном случае решение.
Виноват, с синтаксисом FormEx не очень знаком
 
А что такое FormEx и где его взять?
 
Ольга13, а что вам Google ответил на ваш вопрос?
 
Попробовала FormEx, штука действительно замечательная. Не могу только найти, как при переборе атрибутов формы определить, что они собой представляют - это реквизит, кнопка, флажок... У меня ведь задача запретить редактирование документа, а процедура в таком виде, как предлагает TimeDontWait, делает недоступными и кнопки. Так что документ нельзя даже распечатать. Или это как-то по-другому делается?
 
А для этого я обычно даю осмысленные префиксы реквизитам. Например, "кн_" - это кнопка, "фл_" - это все чекбоксы.
 
А если у кнопки или флажка нет идентификатора?
 
Ольга13, а добавить религия не позволяет? ну, скажем, что у кнопки может не быть идентификатора, могу себе представить, но на кой нужен флажок без идентификатора не форме???
 
Добавлять идентификаторы я умею. Хотя, для интереса посчитала - у меня на форме 18 кнопок. Поэтому хотелось бы избежать их описания. А насчет флажков без идентификаторов - я их делаю, например, для задания параметров печати. Зачем их хранить? Распечатал док. и все.
А вопрос мой больше касается возможностей FormEx, может быть, там есть такой инструмент, да я не нашла.
 
Добавлять идентификаторы я умею. Хотя, для интереса посчитала - у меня на форме 18 кнопок. Поэтому хотелось бы избежать их описания. А насчет флажков без идентификаторов - я их делаю, например, для задания параметров печати. Зачем их хранить? Распечатал док. и все.
А вопрос мой больше касается возможностей FormEx, может быть, там есть такой инструмент, да я не нашла.
Вы путаете идентификатор флажка и его связь с реквизитом.
Но даже если вам надо оставить доступным функционал по печати, вполне достаточно назначить идентификатор 1-2 кнопкам и флажкам, которые отвечают за печать и в цикле проверять их, а все остальные сделать недоступными. Но даже если 18 кнопок, не вижу проблем ЕДИНОЖДЫ в 18 раз задать идентификаторы кнопок. Типа кн_Печать, кн_Ок и т.д.
Кстати, раз уж пошла такая пьянка, я бы руки поотрубал за 18 кнопок!
Ок - Записать, Провести, Закрыть
Закрыть - Закрыть
Провести - Провести
Печать - все формы печати
Действия - Подбор, Заполнить и т.д.
И не пытайтесь убедить меня, что требуется больше функциональных кнопок (за исключением кнопок возле реквизитов, если требуется открывать формы этих реквизитов или обнулять значения реквизитов - для не подозревающих про "горячие" клавиши).

Если больше 5-6 кнопок на форме, это навевает тоску на пользователя. Как и количество колонок, не помещающееся на ширину открытой формы, в табличной части. Вместо мыслей о том "что я должен делать", у пользователя будет постоянно вертеться в голове "как бы не забыть, что делает какая кнопка".
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab