Предполагая, что форум - всё же программистский или около того :-)
Возникла проблема.
1С 7.7.027 SQL-версия. MS SQL Server 2005. Всё прекрасно, всё работает. Но в один прекрасный момент выяснилось, что некоторые элементы справочников - не записываются интерактивно. Пользователь на форме может менять реквизиты хоть до посинения. Потом - "ОК". Открывает элемент снова (или смотрит в форме списка) - и, как говорили древние шумеры, авотхервам, значения реквизитов - старые.
Причём программно (спр = СоздатьОбъект("Справочник.Номенклатура"); спр.НайтиЭлемент(КтоНужен);спр.Наименование="ййй!";спр.Записать();) - прекрасно работает.
И интерактивно-то - работает! То есть, если в ПриЗакрытии (а там - значение уже записано, видно при просмотре SQL-таблиц) посмотреть значения ТекущийЭлемент().ИзмененныйРеквизит - всё просто замечательно. Но как форма закроется - бдымц! Значения возвращаются на круги своя.
Хорошо. Лезем в SQL profiler, смотрим, что там выполняется.
Запись элемента производится в неявной транзакции. И вот эта неявная транзакция при интерактивном закрытии - откатывается. А при программном - коммитится.
Разница состоит лишь в том, что при интерактивной записи выполняется _1sp_SC84_ByID - которая ничему навредить не может, ибо это просто select ... where.
Понятно, что дело - не в 1С. И не в её "хранимках" - поскольку та же самая интерактивная запись у всех прекрасно работает.
Вопрос: куда копать?