Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0
Доброй ночи, господа! Или доброе утро! Это снова я. Мне нужно, чтобы когда клиент оплатит очередной ремонт, я и только я мог делать отметку в документе об оплате.
На форме расходной я добавил атрибут Текст "СПЛАЧЕНО" с идентификатором СПЛАЧЕНО. Возле него поставил флажок с идентификатором Спл. Кроме того, флажок имеет формулу Сплачено(). Еще я добавил атрибут шапки Спл с типом число с одним разрядом. Далее, перед процедурой ПриОткрытии я прописал процедуру флажка Сплачено:
Процедура Сплачено() Если Спл=0 тогда Форма.СПЛАЧЕНО.Видимость(0); Иначе Форма.СПЛАЧЕНО.Видимость(1); КонецЕсли; КонецПроцедуры
Затем в теле процедуры ПриОткрытии прописал следующее:
Если ПолноеИмяПользователя() <> "Simeon" Тогда Форма.Спл.Видимость(0); Форма.Спл.Доступность(0); Форма.СПЛАЧЕНО.Доступность(0); КонецЕсли;
Если Спл=0 тогда Форма.СПЛАЧЕНО.Видимость(0); Иначе Форма.СПЛАЧЕНО.Видимость(1); КонецЕсли;
А проблема в том, что при открытии документа текст СПЛАЧЕНО виден, хотя значение флажка ноль. Если же поставить флажок (единицу), а затем снова его сбросить (ноль), то есть, задействовать процедуру флажка Сплачено(), то текст пропадает. Однако, если закрыть документ с сохранением, а потом его снова открыть, текст СПЛАЧЕНО снова будет снова виден. Хотя, флажок остается в нуле. Почему текст виден, когда флажок по умолчанию в нуле при открытии? Как сделать, чтобы он не появлялся, когда флажок пустой? Спасибо!!! Кстати, доступность работает по условию. То есть, другим пользователям флажок недоступен. И текст тоже. Но видимый. Чтобы убедиться, что Спл=0 при открытии , я использовать Сообщить(Спл). Он таки был равен нулю. Но текст был видимым!
У вас случайно не закладки(слои) на форме? Если да, то видимость элементов текущего слоя нужно прописывать при смене закладок
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП) 1С Предприятие 8.3: Бух.предприятия 3.0 + самописка ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Кроме высшего образования, нужно иметь хотя бы среднее соображение
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0
nysysimara @ Сегодня, 8:03
, Да есть слои именно на этой форме. Подскажите, пожалуйста, как прописать, или где почитать. Или приведите маленький пример. Спасибо. Лучше пример. Там есть основной слой, совместный и доверенность. Три слоя.
видимость и доступность реквизитов нужно прописать в процедуре ПриВыбореЗакладки() примерно так:
Процедура ПриВыбореЗакладки(Номер,Значение) Если Значение = "Основной" Тогда Форма.ИспользоватьСлой("Совместный,Основной",2); //если реквизиты на слое Основной Если ПолноеИмяПользователя() <> "Simeon" Тогда Форма.Спл.Видимость(0); Форма.Спл.Доступность(0); Форма.СПЛАЧЕНО.Доступность(0); КонецЕсли; Если Спл=0 тогда Форма.СПЛАЧЕНО.Видимость(0); Иначе Форма.СПЛАЧЕНО.Видимость(1); КонецЕсли; ИначеЕсли Значение = "Доверенность" Тогда Форма.ИспользоватьСлой("Совместный,Доверенность",2);
Сообщение отредактировал nysysimara - 23.10.19, 12:37
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП) 1С Предприятие 8.3: Бух.предприятия 3.0 + самописка ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Кроме высшего образования, нужно иметь хотя бы среднее соображение
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0
ZUBR @ Сегодня, 20:56
, У меня не получилось. Результат тот же. Дело в том, что в данном случае я не понимаю, что делаю. И у меня все реквизиты шапки в совместном слое, а табличная часть в основном. Я даже переместил нужный мне реквизит из совместного в основной слой, но ничего не помогло. Все равно при открытии текст СПЛАЧЕНО видимый, хоть флажок сброшен в нуль. Вообще, нужно хорошо понимать, как оно работает, чтобы сделать то, что нужно. В синтакс помощнике нет достаточной информации(.
ZUBR @ Сегодня, 1:12
, Только что рыл гугл. Там есть ссылки на разные форумы, в том числе и на этот. Но я там не нашел ответа на вопрос, в чем особенность программирования видимости атрибутов на форме с несколькими слоями. Может, здесь Видимость не действует, и надо только оперировать показом слоев? Кстати, в моем случае используются два слоя - основной и совместный. И оба должны быть видны. Потому что на совместном реквизиты шапки, а на основном табличная часть. Короче, пока не понимаю...
Дело в том, что в данном случае я не понимаю, что делаю.
Попробую пояснити те що написала nysysimara. В 1с7 повноцінних закладок немає. Візуальний ефект закладок реалізований іншим методом. 1. В процедурі ПриОткрытии() відбувається ініціалізація візуального показу закладок. Тут появляються тільки самі закладки (тільки значки на форрмі якими переключаються закладки), а реквізити на формі розміщені абсолютно всі (із всіх слоїв). Щоб показати елементи конкретного слою при відкритті справочника якраз і прописано виклик із ПриИткритии процедури ПриВыбореЗакладки(1,"Основной"); 2. В самій процедурі ПриВыбореЗакладки аналізується яка закладка нажата і показується елементи відповідних слоїв (в одній закладкі показано елементи двох слоїв). 3. Процедура ПриВыбореЗакладки виконується пільки при відкритті форми справочника (в даному випадку) і при виборі закладки. 4. При відкритті форми флажок "Спл" мав би дорівнювати нулю (якшо інше не задано прорамою. Або це не реквізик справочника. 5. Коли на формі ви міняєте значення флажка тоді потрібно на флажок повісити виклик процедури ПриВыбореЗакладки(1,"Основной") або іншої, яка б міняда видимість/доступність іншого реквізиту.
Якщо щось не получається/нерозумієте, то пишіть конкретніше, із приведенням тексту модуля.
Группа: Местный
Сообщений: 298
Спасибо сказали: 98 раз
Рейтинг: 0
Цитата(volodya1122 @ 24.10.19, 10:14)
В 1с7 повноцінних закладок немає
Цитата(volodya1122 @ 24.10.19, 10:14)
Попробую пояснити те що написала nysysimara
Цитата(volodya1122 @ 24.10.19, 10:14)
Процедура ПриВыбореЗакладки виконується пільки при відкритті форми справочника (в даному випадку) і при виборі закладки.
Цитата(volodya1122 @ 24.10.19, 10:14)
4. При відкритті форми флажок "Спл" мав би дорівнювати нулю (якшо інше не задано прорамою. Або це не реквізик справочника.
Цитата(volodya1122 @ 24.10.19, 10:14)
5. Коли на формі ви міняєте значення флажка тоді потрібно на флажок повісити виклик процедури ПриВыбореЗакладки(1,"Основной") або іншої, яка б міняда видимість/доступність іншого реквізиту.
Еххх, Вова, Вова... Нагородив городу... Це Вам не найвища математика. Тут людині потрібно при відкритті викликати ПриВыбореЗакладки() та при виборі закладки викликати Сплачено()... А Ви стільки всього нагородили.....
Nysysimara також... Мабуть, 7.7. вже забули...
То, что для одного человека константа, для другого - переменная. (Алан.Дж.Перлис)
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0
Умова спрацьовує, бо недоступність спрацьовує, яка зумовлена цією умовою. Панове, я так і не зрозумів. Як при виборі закладок викликати СПЛАЧЕНО? Що це значить? Дякую.
Давайте сначала: 1) На каком слое расположен реквизиты "Спл" и "Сплачено"? 2) Где-то по коду у вас есть
Форма.ИспользоватьЗакладки(1);
и
Форма.ИспользоватьСлой("
если да, то в каких процедурах
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП) 1С Предприятие 8.3: Бух.предприятия 3.0 + самописка ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Кроме высшего образования, нужно иметь хотя бы среднее соображение
я там прописав саму процедуру. Вона коротка. Бо еоли прописуєш Сплачено(), то вискакує помилка, що не знаходить таку процедуру. Здається, все. Дуже всім дякую!!!
сама процедура Сплачено() должна располагаться до своего вызова или в начале после описания переменных добавить строку
Процедура Сплачено() Далее
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП) 1С Предприятие 8.3: Бух.предприятия 3.0 + самописка ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Кроме высшего образования, нужно иметь хотя бы среднее соображение
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!