Имя: Пароль:
1C
1С v8
Управляемая форма - детский вопрос
0 VladSt
 
22.05.15
15:14
Ребята, подскажите. Вот код формы элемента:

&НаКлиенте
Процедура НомерПриИзменении(Элемент)
    Если ПроверитьНомерПутевогоЛиста(Объект) Тогда
        Возврат;
    КонецЕсли;    
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПроверитьНомерПутевогоЛиста(Объект)
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    уатПутевойЛист.Ссылка
        |ИЗ
        |    Документ.уатПутевойЛист КАК уатПутевойЛист
        |ГДЕ
        |    уатПутевойЛист.Дата МЕЖДУ &НачПериода И &КонПериода
        |    И уатПутевойЛист.Номер = &Номер";
    
    Запрос.УстановитьПараметр("КонПериода", КонецГода(Объект.Дата));
    Запрос.УстановитьПараметр("НачПериода", НачалоГода(Объект.Дата));
    Запрос.УстановитьПараметр("Номер", Объект.Номер);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Возврат ВыборкаДетальныеЗаписи.Следующий();
    
КонецФункции

не работает, пишет:
Нельзя изменять поле, содержащее объект данныхформы.
1 Cyberhawk
 
22.05.15
15:15
На сервере не забудь ЗначениеОбъекта = РеквизитФормыВЗначение(Объект)
2 Cyberhawk
 
22.05.15
15:16
И на какой строчке ошибка-то возникает (отладку на сервере включи там еще)
3 asady
 
22.05.15
15:17
(0) или юзай &НаСервере

или переделай функцию и передавай ей не объект, а Номер и Дату
4 RomaH
 
naïve
22.05.15
15:18
ПроверитьНомерПутевогоЛиста(Знач Объект)
5 VladSt
 
22.05.15
15:28
(1) на сервере нет такой функции РеквизитФормыВЗначение
(4) помогло, спасибо