Имя: Пароль:
1C
1C 7.7
v7: Редактирование.
0 Eeakie
 
26.12.12
11:40
Доброе утро.

Обычное редактирование справочника в списке. Редактируется только наименование. Остальные реквизиты даёт редактировать, но не записывает. Никаких ошибок не выскакивает: просто после энтера возвращает прошлое значение реквизита вместо написанного нового. Что может быть?
1 Eeakie
 
26.12.12
11:42
+ В диалоге всё редактируется нормально. Есть кнопка, вызывающая форму элемента.
2 andreymongol82
 
26.12.12
11:43
А в форме списка ничего не "накодировано"?
3 Азат
 
26.12.12
11:43
а не периодические реквизиты?
4 alex74
 
26.12.12
11:43
СтатусВозврата(0) в коде
5 alex74
 
26.12.12
11:44
+ (4) в модуле формы списка
6 Eeakie
 
26.12.12
11:45
(2) То есть?
(3) Нет.
(4) Есть, но он нужен в ПриСменеВладельца().
7 Eeakie
 
26.12.12
11:45
(5) Есть однотипный справочник, где всё нормально работает с таким же кодом.
8 Эмбеддер
 
26.12.12
11:46
у меня было что я программно не мог поменять перед записью поля кроме тех, что были в форме списка. добавил на форму эти поля, но сделал невидимыми
9 alex74
 
26.12.12
11:46
(6) в данном случае он отрабатывает у тебя в ПриЗаписи()
10 Eeakie
 
26.12.12
11:48
(9) Это весьма и весьма печально. Как обойти проблему можно? Часто получается, что при открытии данного справочника меняется владелец и без ПриВыбореВладельца() тут не обойтись...
11 alex74
 
26.12.12
11:50
(10) не вижу никакой проблемы. Программа работает как и положено.
12 Эмбеддер
 
26.12.12
11:51
тестирование и исправление?
13 Eeakie
 
26.12.12
11:53
(12) Поможет? :)
(11) Ну, хорошо. ПриЗаписи() вообще нет в коде. Работает то как положено, но не так как "нужно" :)
14 Ёпрст
 
26.12.12
11:55
ремишь весь  код в форме списка, для начала, проверяешь.
Если всё норм - смотришь, чего ты там натворил в предопределнных процедурах.
15 alex74
 
26.12.12
11:55
(13) поставь в отладчике точку останова на СтатусВозврата(0) и посмотри почему он туда попадает
16 Ёпрст
 
26.12.12
11:56
и где ты там статусвозврата в 0 заточил.
17 Eeakie
 
26.12.12
11:59
Закомментил СтатусВозврата(0) и воткнул туда сообщение. Не доходим туда... Я так понимаю не в нём дело значит. Из предопределенных только ПриВыбореВладельца() и ПриЗакрытии().
18 Ёпрст
 
26.12.12
12:02
(17) тогда смотри формулы текстовых реквизитов
19 Eeakie
 
26.12.12
12:02
Процедура ПриЗакрытии()
   ОткрытьФорму(Владелец, , 0);
КонецПроцедуры // ПриЗакрытии()
//===================================================================================

Процедура ПриВыбореВладельца()
   Сообщить("Печаль!");
   СтатусВозврата(0);
   Возврат;
КонецПроцедуры


Больше ничего толком то и нет в коде.
20 Eeakie
 
26.12.12
12:03
(18) Формулы все пустые.

Есть момент один. Висит кнопочка для редактирования в диалоге. На ней висит процедурка:

Процедура ВДиалоге()
   РедактироватьВДиалоге(1);
   ОткрытьФорму(ТекущийЭлемент(), , 0);
   РедактироватьВДиалоге(0);
КонецПроцедуры


Случайно не здесь косяк?
21 alex74
 
26.12.12
12:04
а есть процедура ПриНачалеРедактированияСтроки() ?
22 Eeakie
 
26.12.12
12:05
(21) Нету.
23 Ёпрст
 
26.12.12
12:08
не все формулы посмотрел, значит
24 Eeakie
 
26.12.12
12:09
В форме элемента всё нормально сохраняет. Чёрт.
25 Eeakie
 
26.12.12
12:10
(23) Есть еще функция, выводящая информационную строку на форму списка.
26 Eeakie
 
26.12.12
12:11
(23) Все формулы посмотрел. Везде пусто.
27 Ёпрст
 
26.12.12
12:12
(26) дай мд посмотреть
28 alex74
 
26.12.12
12:13
ну значит не получится...
29 Eeakie
 
26.12.12
12:15
Уууу... в функции были переменные, которые имеют названия реквизитов. Всё, работает. Спасибо всем.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.