1с доступность кнопки записать
неактивные кнопки
Здравствуйте! 1С-7,7 (7.70.526) Сегодня после выгрузки из банка выписки пропала возможность с ней работать. Т.е. выписка открывается, но кнопки "подбор по п/п", "внести на основании", "записать", "ОК" - не активны((( Причем оказалось, что все выписки с начала года не активны. Затем такая же ерунда случилась и реализацией - открываем реализацию и ничего в ней откорректировать не можем. Т.е. все документы открываются только на просмотр. Дата запрета редактирования 01.06.2011. Ничего необычного не делали, работали по обычной схеме. Помогите, пожалуйста. Может кто-нибудь сталкивался с подобным
Нас пользователей - два человека. Мы даже не в курсе где можно сменить доступ. Не подскажите - какие должны быть настройки у активного пользователя?
Если бы я не был программистом, я б наверное хирургом стал. Люблю, знаете ли, покопаться во всякой фигне непонятной.
В типовом релизе такого поведения можно добиться, только сняв права на редактирование. Так что либо кто-то поднастроил вам права, либо релиз нетиповой.
А можете выложить текст процедуры ПриОткрытии() выписки или реализации?
Если бы я не был программистом, я б наверное хирургом стал. Люблю, знаете ли, покопаться во всякой фигне непонятной.
//_____________________________________________________________________________
Процедура ПриОткрытии()
ПриЗаписиПерепроводить(1);
глПроверкаРазрешенияРедактирования(Контекст);
Если Форма.ТолькоПросмотр() = 1 Тогда
Форма.КнопкаВыбораРасчетногоСчета.Доступность(0);
Форма.КнопкаЗаписать.Доступность(0);
Форма.КнопкаОК.Доступность(0);
Форма.КнопкаПоступлениеПоДокументам.Доступность(0);
Форма.КнопкаПодборПоПлатежнымДокументам.Доступность(0);
КонецЕсли;
УправлениеВидимостьюСуммовыхРазниц();
Форма.КоррСчет.ВыполнятьФормулуТолькоПриИзменении();
Форма.КоррСчет.ВыборГруппы(0);
ОстатокНаНачалоДня = 0;
ОстатокНаКонецДня = 0;
УстановитьТипВыписки();
Форма.Кн_Видеокурс.Видимость(?(ТипЗначения(Видео_Компонента) = 0, 0, 1));
НачальнаяДатаДокумента = ДатаДок;
Зайдите в режиме конфигуратора, откройте конфигурацию, нажмите кнопку «Права», двойным щелчком активируйте Ваш набор прав (в типовой без изменений это «Администратор»), найдите док «Выписка», дважды щелкните по нему, посмотрите все ли галочки установлены в поле «Доступ», если нет установите все галочки и сохраните конфигурацию. То же самое с реализацией.
Добрый день.
Конфигурация Управление торговлей 11.1.2.29
Запрещаю пользователю изменять данные формы реализации кроме сегодняшнего дня.
Пользователь может только не проведённые документы сформированные задним числом передвинуть на сегодня и после уже внести изменения.
Открыть доступ к стандартной команде записать при блокировке всей формы?
(1)
После ЭтаФорма.ТолькоПросмотр = Истина команда Элементы.Дата.Доступность = Истина теряет смысл.
Мне кажется легкой кровью не обойтись. Нужно обходить все элементы формы и устанавливать доступность.
(1) Для похожих целей сделал себе такую процедурку:
Вызов примерно такой:
Я делал для разрешения редактирования некоторых реквизитов в документах, которые находятся в закрытом для редактирования периоде
Получается, что происходит проверка по дате, которую можно перенести в сегодня)
когда мы меняем дату, форма перечитывается и получается, что уже условие по дате переходит в ложь и "ЭтаФорма.ТолькоПросмотр" тоже переходит в ложь
я не совсем понимаю что именно вы хотите получить.
Если я правильно понял код, вы хотите запретить любые манипуляции с документом, кроме изменения даты?
Но у вас стоит условие, которое проверяет перед записью дату документа и если дата документа < сегодня форма не доступна.
Но затем вы разрешаете менять дату и тем самым юзер обходит ваше ограничение по дате.
Я бы сделал еще условие, что если дата документа < сегодня то и дату запретить менять)
тогда и записать они не смогут)
(3) записать можно, только на текущий день. Момент записи буду проверять позже, ПриЗаписи документа.
Пример:
1. Сегодня Четверг. Пользователь берёт не проведённый документ понедельника и хочет его перенести на четверг. ОК. В таком случае доступна только Дата и кнопка Записать.
2. Сегодня Четверг. Пользователь берёт не проведённый документ четверга и хочет его изменить. ОК . Дата документа Четверг, сегодня Четверг делай что хочешь с документом.
Добавьте в свое условие проверку проведения. И если дата меньше сегодняшней и документ проведен, просто блокируйте всю форму.
(6)Конечная цель дать возможность пользователю перенести не проведённый документ в текущую дату и в текущей дате уже можно редактировать реквизиты.
В итоге оказалось всё гораздо сложнее чем предполагалось. Период закрыт всегда вчерашним днём. Необходимо использовать привилегированный режим, но это уже другая тема
(11) Сложнее, но не намного.
1) Напишите две процедуры. Сдвиг даты запрета для пользователя на дату раньше даты документа и возвращения или удаления это даты (делается это для конкретного пользователя).
Далее в списке вешаете кнопку, по которой, если документ не проведен, то сдвигается дата, документ записывается текущей датой, и дата возвращается на место.
2) Если привелегированный режим позволяет записывать документы в закрытом периоде, то просто создайте общий привелигорованный модуль и записывайте документ текущей датой, если он не проведен.
Финальное решение:
1.
На форме списка создана команда "Актуализировать дату"
2.
Создаём новый общий модуль. Ставим галки "Сервер" - для исполнения процедуры на сервере и "Вызов сервера" - возможность достучаться с клиента.
3.
На клиенте в форме списка получаем ссылку текущей строки (документа)
1С, обычные формы, режим предприятия, формируется табличный документ, но недоступна его печать, кнопка печати не активна (не нажимается, предварительный просмотр также не возможен).
Что необходимо проверить в первую очередь:
- наличие доступного для печати принтера (принтер может быть, но быть в неработоспособном состоянии, об этом может говорить ошибки в момент захода в его свойства, но обычно в этом случае 1с вылетает при входе в программу)
- если принтер был только подключен перезайдите в программу (1с инициализирует доступные принтеры при старте)
- проверьте полномочие печати документов (это может быть и отдельной ролью или частью роли, возможно потребуется войти в конфигуратор для проверки, проверьте печать под полными правам — это позволит локализовать проблему более точно)
В данной конфигурации — это отдельная роль в которой указано одно право «Право вывода», которое отвечает за вывод информации на печать, сохранение в файл, копирование в буфер обмена.
- право вывода может быть ограничено и наделено через свойство «Вывод» объекта «ТабличныйДокумент», в моем случае как раз переопределяется (расширяет права менеджеров), но было разрешено и права были полные:
Причина
В итоге оказалась более неявная проблема — использование модального окна формы.
То есть открывалось модальное окно редактирования строки табличной части, к нему открывался не модальный диалог списка печатаемых объектов, затем уже открывался табличный документ в не модальном режиме, но диалог печати это тоже модальный диалог — который нельзя было открыть, система ограничила доступность кнопки.
Как только изменен был код и форма была открыта не модально, проблема ушла, но потребовалось переписать логику обработки закрытия формы редактирования.
О рекламе можно сказать, что это наука затемнять рассудок человека до тех пор, пока ты не получишь от него деньги.
— Ли Якокка
Разместил на форме кнопку, как ее сделать доступной только доступной для директора и администратора, и сделать недоступной и невидимой для других пользователей в системе? Можно ли как это в модуле формы прописать?
Ограничение видимости в журналах документов
Ребя помогите. Нужно чтобы определенная группа пользователей не могла изменять интервал выборки в.
Программное задание видимости колонкам списка
На форме списка документа есть кнопка "Настройки". При нажатии на неё открывается список значений.
Изменение видимости кнопки при наведении на элемент списка
Есть список, элементы в котором это stackpanel с textblock и кнопкой. Когда наводишь на элемент.
А как еще при нажатии на кнопку блокировать для всех доступ к таблице, элементам, оставив только возможность просмотра элемента? То есть всем ролям возможен толкьо просмотр редактирвоание, добавление недоступно
РольДоступна (IsInRole)
Синтаксис:
Тип: Строка; ОбъектМетаданных: Роль.
Название роли как она задана в конфигураторе или объект описания метаданного роли.
Возвращаемое значение:
Тип: Булево.
Истина - роль доступна текущему пользователю; Ложь - в противном случае.
Описание:
Определяет доступность указанной роли текущему пользователю.
Роли (Roles)
Использование:
Только чтение.
Описание:
Тип: РолиПользователя.
Содержит коллекцию ролей пользователя информационной базы.
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Примечание:
НО
Доступно только пользователю с административными правами.
Посему остаётся вариант перебора по РольДоступна()
Для Каждого Роль ИЗ Роли Цикл
Если РольДоступна(Роль) Тогда
или
Если РольДоступна(Роль.Имя) Тогда
Область видимости
Здравствуйте, помогите решить задачу, пожалуйста имеем такой код: for(var i in scrolling)< .
Область видимости
Почему выпадает ошибка, что переменная scanner не инициализирована? По идее она не должна быть.
Область видимости
Дня два назад меня дёрнуло наконец понять что из себя представляет до - диез. Начал я с банальной.
Область видимости
Доброго времени суток. Есть скрипт регистрации (который уже наверно всем надоел :D), в нем я.
отследить можно, но ненадежно. как-то странно у вас - открывается форма Владельца, и тут же вводится сразу некий подчиненный элемент, который вот вынь и положь непосредственно на открытую форму Владельца. поменяйте логику программы, и не запутывайте сами себя ))
.. или уж если вводится новый элемент подчиненного справочника из формы Владельца, так это событие (создание элемента подчиненного справочника) и отслеживайте, и перечитывайте содержимое динсписка.
Можно в принципе и не париться, и использовать стандартный механизм 1С: подчиненный справочник будет доступен через панель навигации. Но все же интересно: возможно отследить, или нет?
да можно, можно, через события ПередЗаписью, ПриЗаписи, ПослеЗаписи - нажато ОК; ПередЗакрытием, ПриЗакрытии (нажат крестик или после ОК и событий записи) - ставите везде флаги (или в определенных событиях, как уж придуматете), потом эти флаги отслеживаете, и выполняете действия необходимые.
Да Вы правы,если исключить из команд формы "ЗаписатьИЗакрыть", тогда процессы записи и закрытия можно будет контролировать при помощи флагов. А если не исключать? Тогда в обработке события "ПослеЗаписиНаСервере" не понятно будет ли потом закрытие: если пользователь нажал "Записать и закрыть" или нет: если пользователь нажал "Записать".
Для удобства работы пользователя! А он сейчас очень капризный пошел :)) Для развития (вопрос то в принципе теоретический и решений существует уже как минимум 2) 1- описанное в и . 2- создать свою кнопочку "Записать и закрыть". Но оба эти решения не отвечают на главный вопрос: Можно ли различить нажатие стандартных кнопок "Записать" и "Записать и закрыть" в обработчике "ПослеЗаписиНаСервере"?
1. По поводу удобства - 1С это платформа для решения учетных задач 2. Делать два команды и исключать стандартные. Проблема решена?!
"Но оба эти решения не отвечают на главный вопрос: Можно ли различить нажатие стандартных кнопок "Записать" и "Записать и закрыть" в обработчике "ПослеЗаписиНаСервере"?" И опять же зачем?))
Читайте также: