Имя: Пароль:
1C
1C 7.7
v7: Победить задваиваивание элементов в справочнике при использовании УстановитьОтбор()
0 GrayS19
 
24.07.20
11:33
Доброго времени.

В справочнике Номенклатура (конфа самописанная) начали задваиваться элементы - с одинаковыми кодами и ID в базе.
Нашел Как так получается что задваиваются коды в справочнике, проверил : точно нельзя менять отбор, если при этом строка редактируется.
ПриНачалеРедактированияСтроки() сделать на форме полю отбора доступность=0 не вопрос.
Как отловить окончание редактирование строки (это справочник, не документ, функции нет) ?
На инфостарте есть через ОбработкуОжидания() и попытку писать сам элемент и отслеживать ошибку.
Может есть более красивое решение ?
1 HawkEye
 
24.07.20
11:54
(0) при окончании редактирования строки в форме списка справочника выполняются действия указанные в поле Формула на закладке Дополнительно
перед записью строки в форме списка справочника выполняется процедура ПриЗаписи()
2 GrayS19
 
24.07.20
12:16
(1) ПриЗаписи() выполняется, если сохранили строку. А если влезли в редактирование, но не сохранили - не выполняется.
3 Kigo_Kigo
 
24.07.20
12:43
Процедура ПриОкончанииРедактированияСтроки(<?>)
КонецПроцедуры
Синтаксис:
ПриОкончанииРедактированияСтроки(<НовСтр>)
Назначение:
Предопределенная процедура при окончании редактирования строки многострочной части документа.
Параметры:
<НовСтр> - флаг новой строки. Число: 1 - если произошло окончание ввода новой строки, 0 - если произошло окончание редактирования существующей строки.
4 HawkEye
 
24.07.20
12:55
(2) а я что-то другое написал? ес-сно если нажали Esc то ПриЗаписи - не вызовется...

(3) про справочники речь, а не про форму документа...
5 Kigo_Kigo
 
24.07.20
13:19
(4) он так вопрос задал, что запутался нахер, где ему что надо
6 GrayS19
 
24.07.20
14:54
(5) Попробую еще раз: как в справочнике (не в документе) отловить событие выхода из редактирования строки ?
7 Kigo_Kigo
 
24.07.20
14:59
Как вариант повесить на ворму текст в который прописать функцию возврата пробела, а этой функции делать то что надо, вне зависимомти результата окончания редактирования строки - она сработает
8 GrayS19
 
24.07.20
15:00
она срабатывает и по переходу курсора между полями, но это не означает выход из редактирования строки
9 Злопчинский
 
24.07.20
15:02
ишо раз - забей на инспользоватьсписокэлементов.
редактирование в списке - тольк для простейших случаев типа классификаторов, остальное - все в форме.
10 8 bit
 
24.07.20
15:05
(0) установи признак редактировать только в форме.

(9) +100
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший