Имя: Пароль:
1C
1С v8
как по фэншую изменить значение константы при записи?
0 e2e4
 
30.03.15
22:55
Пытаюсь так: в форме констант две процедурки
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
    Если НЕ Прав(СокрЛП(Элементы.КаталогОбмена), 1) = "\" Тогда
        ДобавитьСлэш();
    КонецЕсли;
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ДобавитьСлэш()
    Путь = СокрЛП(Константы.КаталогОбмена.Получить()) + "\";
    Константы.КаталогОбмена.Установить(Путь);
КонецПроцедуры
- фигушки, значение не меняется. Т.е., например, вводим на форме "D:\Обмен", жмем Записать - по замыслу, должен добавиться концевой слэш, ан нет...
Попробовал вынести процедуру ДобавитьСлэш() в общий модуль (стоят галки "Сервер" и "Вызов сервера") - тот же облом.
1 GROOVY
 
30.03.15
22:57
В модуле менеджера.
2 RomanYS
 
30.03.15
23:00
(0) посмотри отладчиком "Элементы.КаталогОбмена", возможно будешь удивлен
3 e2e4
 
30.03.15
23:00
(1) тож пробовал, правда как-то не понял, как само значение менять; делал так (в модуле менеджера):
Процедура ПередЗаписью(Отказ)
    Путь = Константы.КаталогОбмена.Получить() + "\";
    Константы.КаталогОбмена.Установить(Путь);
КонецПроцедуры
- результат был интересный: https://yadi.sk/i/biR4WAkufdaLK
4 GROOVY
 
30.03.15
23:01
(3) А там надо ЭтотОбъект юзать.
5 RomanYS
 
30.03.15
23:02
(3) нельзя перед записью объект записывать
6 e2e4
 
30.03.15
23:05
(4) супер! сенкс! сам понимал, что нелепо делать как в (3), но...до ЭтогоОбъекта как-то "недопёр")
(2) не, не настолько я уж молод, чтобы об этом не подумать)