Мне нужно, чтобы когда клиент оплатит очередной ремонт, я и только я мог делать отметку в документе об оплате.
На форме расходной я добавил атрибут Текст "СПЛАЧЕНО" с идентификатором СПЛАЧЕНО. Возле него поставил флажок с идентификатором Спл. Кроме того, флажок имеет формулу Сплачено(). Еще я добавил атрибут шапки Спл с типом число с одним разрядом. Далее, перед процедурой ПриОткрытии я прописал процедуру флажка Сплачено:
Процедура Сплачено()
Если Спл=0 тогда
Форма.СПЛАЧЕНО.Видимость(0);
Иначе
Форма.СПЛАЧЕНО.Видимость(1);
КонецЕсли;
КонецПроцедуры
Затем в теле процедуры ПриОткрытии прописал следующее:
Если ПолноеИмяПользователя() <> "Simeon" Тогда
Форма.Спл.Видимость(0);
Форма.Спл.Доступность(0);
Форма.СПЛАЧЕНО.Доступность(0);
КонецЕсли;
Если Спл=0 тогда
Форма.СПЛАЧЕНО.Видимость(0);
Иначе
Форма.СПЛАЧЕНО.Видимость(1);
КонецЕсли;
А проблема в том, что при открытии документа текст СПЛАЧЕНО виден, хотя значение флажка ноль. Если же поставить флажок (единицу), а затем снова его сбросить (ноль), то есть, задействовать процедуру флажка Сплачено(), то текст пропадает. Однако, если закрыть документ с сохранением, а потом его снова открыть, текст СПЛАЧЕНО снова будет снова виден. Хотя, флажок остается в нуле. Почему текст виден, когда флажок по умолчанию в нуле при открытии? Как сделать, чтобы он не появлялся, когда флажок пустой? Спасибо!!!
Кстати, доступность работает по условию. То есть, другим пользователям флажок недоступен. И текст тоже. Но видимый.
Чтобы убедиться, что Спл=0 при открытии , я использовать Сообщить(Спл). Он таки был равен нулю. Но текст был видимым!
