Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Видимость при условии
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Астахов
Проблема такая
есть константа "МетодСписанияПартий" тип перечисления.ПеречисленияСписанияПартий
в перечислении след. значения - ФИФО , ЛИФО , Вручную
и есть документ.расходная накладная с полем в табл.ч. Партия
Вот нужно зделать так что бы при выборе константы ФИФО ИЛИ ЛИФО партия ставала невидимой
я вот пробывал вот такой код но нечего не получаеться
&НаСервере
Процедура ПриОткрытии(Отказ)                      
    Константы.МетотСписанияПартий.Получить();
    Константы.МетотСписанияПартий.ФИФО = Перечисления.ПеречислениеСписанияПартий.ФИФО;
    Константы.МетотСписанияПартий.ЛИФО = Перечисления.ПеречислениеСписанияПартий.ЛИФО;
    Если Перечисления.ПеречислениеСписанияПартий.ЛИФО И Перечисления.ПеречислениеСписанияПартий.ФИФО Тогда
        Элементы.РасходПартия.Видимость = ложь;
    Иначе
        Элементы.РасходПартия.Видимость = Истина;
        КонецЕсли;
    
КонецПроцедуры



 ! 

Выделяйте код без дублирования тегов!
И не надо дубировать темы.
 
Fairuza
МетодСписанияПартий или МетотСписанияПартий?
sava1
1.Видимость устанавливается на клиенте.
2.А от этого просто "крышу сносит" -
Цитата(Астахов @ 04.03.15, 23:15) необходимо зарегистрироваться для просмотра ссылки
Константы.МетотСписанияПартий.ФИФО = Перечисления.ПеречислениеСписанияПартий.ФИФО;
    Константы.МетотСписанияПартий.ЛИФО = Перечисления.ПеречислениеСписанияПартий.ЛИФО;
    Если Перечисления.ПеречислениеСписанияПартий.ЛИФО И Перечисления.ПеречислениеСписанияПартий.ФИФО Тогда

Petre
Цитата(Астахов @ 04.03.15, 23:15) необходимо зарегистрироваться для просмотра ссылки
я вот пробывал вот такой код но нечего не получаеться

Вы можете детально пояснить? Что не получается? Какой текст ошибки? Что видно по отладчику?
Астахов
Цитата(Petre @ 05.03.15, 9:32) необходимо зарегистрироваться для просмотра ссылки
Вы можете детально пояснить? Что не получается? Какой текст ошибки? Что видно по отладчику?

Извините ,реально вчера какуето ахинею написал
вотт более реальный код но опять же он роботает на половину
при любом перечислении партию не видно
&НаКлиенте
Процедура ПриОткрытии(Отказ)
    Если    ПриОткрытииНаСервере() = 1  Тогда
        Элементы.РасходПартия.Видимость=Истина;
    Иначе
        Элементы.РасходПартия.Видимость=Ложь;
        КонецЕсли;
КонецПроцедуры

&НаСервере
Функция ПриОткрытииНаСервере()
    Константы.МетодСписанияПартий.Получить();
    Если Константы.МетодСписанияПартий = Перечисления.ПеречислениеСписанияПартий.Вручную тогда
        Возврат 1;    
    Иначе
        Возврат 2;
        КонецЕсли;
КонецФункции
Petre
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Элементы.РасходПартия.Видимость = Константы.МетодСписанияПартий.Получить() = Перечисления.ПеречислениеСписанияПартий.Вручную;
КонецПроцедуры
Астахов

 ! 

Правила, пункт 1!!!
 


Цитата(Petre @ 05.03.15, 10:32) необходимо зарегистрироваться для просмотра ссылки
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Элементы.РасходПартия.Видимость = Константы.МетодСписанияПартий.Получить() = Перечисления.ПеречислениеСписанияПартий.Вручную;
КонецПроцедуры

извините я не понял ваш код
можете обьяснить пожалуйсто
Petre
Чтобы по несколько раз не вызывать сервер, делаете все это в обработчике события "ПриСозданииНаСервере".
Что еще не понятно по коду?
Астахов
Цитата(Petre @ 05.03.15, 11:20) необходимо зарегистрироваться для просмотра ссылки
Чтобы по несколько раз не вызывать сервер, делаете все это в обработчике события "ПриСозданииНаСервере".
Что еще не понятно по коду?

Извините ,что бы мне понятнее было можете скинуть мне полностью готовый код и на клиенте и на сервере
я запутался совсем
Petre
Это весь код. В смысле, вместо двух ваших процедур используйте то, что я написал.
Астахов
Цитата(Petre @ 05.03.15, 11:26) необходимо зарегистрироваться для просмотра ссылки
Это весь код. В смысле, вместо двух ваших процедур используйте то, что я написал.

Огромное списибо))
код так не роботает как вы написали
нужно всеравно через клиент
вот как
&НаКлиенте
Процедура ПриОткрытии(Отказ)
    ПриОткрытииНаСервере();
КонецПроцедуры

&НаСервере
Процедура ПриОткрытииНаСервере()
    Элементы.РасходПартия.Видимость = Константы.МетодСписанияПартий.Получить() = Перечисления.ПеречислениеСписанияПартий.Вручную;
КонецПроцедуры
Petre
Цитата(Астахов @ 05.03.15, 11:39) необходимо зарегистрироваться для просмотра ссылки
код так не роботает как вы написали

Наверное, вы не обратили внимание на обработчик в моем примере: "ПриСозданииНаСервере". Это событие формы.
В вашем же варианте с клиента идет вызов сервера, потом на клиенте устанавливается видимость, которая еще раз вызывает сервер. В итоге у вас два лишних вызова сервера.
Астахов
Цитата(Petre @ 05.03.15, 12:12) необходимо зарегистрироваться для просмотра ссылки
Наверное, вы не обратили внимание на обработчик в моем примере: "ПриСозданииНаСервере". Это событие формы.
В вашем же варианте с клиента идет вызов сервера, потом на клиенте устанавливается видимость, которая еще раз вызывает сервер. В итоге у вас два лишних вызова сервера.

Нет,я прописал полностью вашу процедуру а точнее скопировал ,и вот только что перепроверил
не знаю в чем проблема но процедура не ругаеться но и не работает
В любом случае ВАМ огромное спасибо
Petre
Цитата(Астахов @ 05.03.15, 12:16) необходимо зарегистрироваться для просмотра ссылки
не знаю в чем проблема но процедура не ругаеться но и не работает

В свойствах формы в разделе "события" необходимо определить для события "ПриСозданииНаСервере" данную процедуру.
Астахов
Цитата(Petre @ 05.03.15, 12:21) необходимо зарегистрироваться для просмотра ссылки
В свойствах формы в разделе "события" необходимо определить для события "ПриСозданииНаСервере" данную процедуру.

Понял,Спасибо
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.