Как сделать чтоб при записи не записывался реквизит #474841


#0 by YHVVH
Есть метод записать в 1с он записывает объект в БД как сделать так чтоб один из реквизитов не записывался в БД? речь идет об 1C SQL
#1 by YHVVH
объесняю зачем, есть реквизит в справочники допустим я делаю из SQL UPDATE по этому реквизиту, все ок! но если в этот момент открыта форма у пользователя, а потом он жмет записать то весь мой updtae на смарку! Какие пути выхода существуют ? не хочется отдельную таблицу создовать просто.
#2 by Ёпрст
гы.. не давай юзверю редактировать этот реквизит вообще.
#3 by YHVVH
дык он запиешт его пустым тогда
#4 by YHVVH
+3 точнее таким каким он был до открытия
#5 by 1Сергей
может, непосредственно перед записью считать его
#6 by Ёпрст
с какой радости ? И это, есть уверенность что твой аптейт работает при открытой форме элемента ?
#7 by YHVVH
с такой например есть открываю карточку товара с кодом 01346 делаю потом update SC33 set sp4843=1 where code='01346' закрываю не сохраняясь карточку товара с кодом 01346 все ок sp4843=1 а если закрываю сохраняясь карточку товара с кодом 01346 то sp4843=0
#8 by YHVVH
что мне даст это, мне наооборот нужно чтоб он не записывался
#9 by 1Сергей
смотри. Допустим в модуле формы элемента:
#10 by YHVVH
9 т.е. занова прочитать я понял.
#11 by 1Сергей
точно не уверен, но по идее он должен взять тот реквизит, который ты устанавливаешь по SQL UPDATE
#12 by YHVVH
при записи справочника в модуле , надо прописать просто Реквизит = ТекущийЭлемент.Реквизит щас попробую.
#13 by Ёпрст
оригинально..При такой записи он его руками никогда поменять не сможет тогда.. Только твоим апдейт.
#14 by YHVVH
блин меняет
#15 by 1Сергей
ПриЗаписи транзакция открывается, надо непосредственно перед этим
#16 by Ёпрст
напиши так - не будет менять:
#17 by YHVVH
меняет проверял
#18 by 1Сергей
что ты имеешь в виду? Меняет как надо или как не надо?
#19 by YHVVH
имею ввиду что сохранет то значение которое на форме было до открытия а не то что адетом задал
#20 by Ёпрст
не меняет.. я сам проверил :)
#21 by 1Сергей
тады повешай на кнопку ОК ВосстановитьРеквизит#Записать? Закрыть
#22 by 1Сергей
Значит SQL UPDATE у него не срабатывает при открытой форме?
#23 by Ёпрст
Короче, при коде в реквизит никак не изменишь, только твоим update, и пофик там на открытую форму.
#24 by YHVVH
кстати возвращает нужное значение то которое update, а вот не понимаю почему не устанавливается
#25 by Ёпрст
устанавливается. Напиши это в ПриЗаписи
#26 by YHVVH
отрабатывает 100%
#27 by Ёпрст
+25 у меня работает.
#28 by Рэйв
Сохранить гденить при открытии формы и в ПередЗаписью тупо присвоить. И пусть записвает.
#29 by YHVVH
все у меня заработало
#30 by YHVVH
ура!
#31 by 1Сергей
почему не работало?
#32 by YHVVH
имена рекв отличались , он как в переменую записывал.:-) все спасибо всем за идею.
#32 by Ёпрст
Интерактивно, этот реквизит меняться не должен ?
#33 by Рэйв
Удивляюсь почему код ВК еще не предложили:)
#35 by DrZombi
Изобретатель вейлосипеда :) Ты не давай менять реквизит пользователю, коль этого не надо :)
#36 by 1Сергей
ты в танке
#37 by DrZombi
Не я на броне, все же идея не ясна :) Объясни, подробнее, в 6 словах, зачем?
#38 by ASU_Diamond
Меня больше удивляет то что человек во время работы пользователей в рабочей базе (т.е. без бекапа) корректирует данные, да ещё и напрямую в скуле...
#39 by gzip
Откуда такие выводы? Может он себе копию на скуле поднял?
#40 by ASU_Diamond
см
#41 by МЮЛЛЕР
не менять его
#42 by gzip
из не следует что автор в рабочей базе что-то делает. Могу я зайти в копию двумя разными пользователями?
#43 by Cthulhu
: с локальной рабочей папкой - вполпинка.
#44 by Torquader
Если пользователь работает с формой, то можно просто убрать данный реквизит с формы - тогда поменять его у пользователя не будет ни какой возможности. (А для администраторов сделать на форме поле, которое будет меняться, а уже при записи проверять права и переносить значение в базу или выдавать предупреждение о том, что реквизит менять нельзя - без предупреждения - это жестоко!)
#45 by 1Сергей
Блин, ребята, читайте внимательно
#46 by Torquader
Если он хочет перехватывать метод записать, то триггеры ему в помощь ("ON UPDATE")
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С