#0
by Джордж1
Долго не удавалось поймать косяк. Имеется простой справочник - 2 реквизиту. + на форме списка справочника реквизит числовой и функция поиска в этом же справочнике по коду - Спр.НайтиЭлемент+Активизировать. // В результате косяка в справочнике полностью дублировались записи в справочнике - даже код одинаковый, при чем что он уникальный. Кроме того дублировался и ID в таблице справочника. // Что оказалось. Пользователь менял значение реквизита в справочнике, но не нажимал Enter, далее производил поиск элемента по коду через Спр.НайтиЭлемент - элемент находился и открывался в режиме редактирования (чего не должно было быть) - при нажатии Enter записи дублировались.
#2
by Ork
"через Спр.НайтиЭлемент - элемент находился и открывался в режиме редактирования" Это у вас какая-то версия секретная. Обычно при Спр.НайтиЭлемент никто не открывается. Тем более для редактирования. Либо показаны не все "перлы" программиста.
#3
by Джордж1
чего только не пробовал. Только чем это поможет если в таблице записи полностью дублируются. А вместо тех что находили - в отчетах пишет Объект не найден. Явно косяк от разработчиков - не поставили защиту от такого варианта
#5
by Ork
"Пользователь менял значение реквизита в справочнике, но не нажимал Enter" При потере фокуса полем ввода все изменения записываются в базу. Попробуй поредактируй "чего_там_редактировал_твой_пользователь" и нажми Tab либо просто щелкни мышкой в другом поле. Отмены ввода не произойдет. Даже если ты не нажмешь Ентер. Такая селява...
#6
by Джордж1
Это все понятно. Беда начинается когда пользователь не закончив редактирования элемента выполняет код в
#7
by Джордж1
(+6)Речь не про сохранилосьне сохранилось. Проблема что табличка портится безвозвратно
#8
by sapphire
Если записи действительно ФИЗИЧЕСКИ дублируются, то, одинаковое одинакововму рознь либо товарищу надо прекратить баловаться распределенками... Либо...
#9
by Джордж1
да физически. распределенки нет. В табличке после косяка после 2-х записей А и Б оказываются две записи А. Можете сами попробовать так сделать
#15
by Джордж1
да нет, больше ничего не используется "ложного" Еще раз. в справочнике было 2 элемента - с разными ID, CODE и прочими реквизитами А при данном косяке - в табличке остаются 2 записи но с одинаковыми значениями полей. т.е данные найденной записи перезатираются данными записи по которой не закончено редактирование на уровне платформы
#18
by Джордж1
Понятно что новый релиз 7-ки не выпустят, тему создал в плане предупреждения что такое бывает. Раньше спрашивал как такое может быть - никто не откликался
#19
by sapphire
Битый релиз. Т.к. в случае редактирования элемента справочник вообще должен быть занят.
#23
by Джордж1
сначала ID разный. После косяка - одинаковые. Соответственно в отчетах появляются записи <Объект не найден>
#24
by КонецЦикла
Значение какого реквизита менял пользователь? Зачем вообще выполнять такой код? Ни разу такое не пригодилось Если подразумевается, что элемент должен быть открыт - так он уже открыт Если подразумевается копирование - значит нужно копировать
#25
by Cthulhu
А нефик редактировать "в списке" при наложенных отборах. давным-давно известный глюк. или глюк в голове прогера, допускающего редактирование "в списке" при наложенных отборах.
#26
by Джордж1
1. Не наименование и не код, в моем случае - это реквизит Скидка 2. Что бы найти элемент справочника по коду // Еще раз. Справочник Дисконтные карты. Код - уникальный, наименование, реквизит Скидка. Редактируется в диалоге. Пользователь меняет величину скидки - Enter не нажимает. Переходит в поле на форме НК - вводит номер карты которую нужно найти. Наживает кнопку - выполняется код в . // Где ты тут отбор увидел
#28
by Cthulhu
: в караганде. я просто ЗНАЮ причину, по которой может возникнуть описанная ситуация.
#30
by Cthulhu
+: прим.: подчинение - тоже вид отбора, есичо. : тогда еднственная вторая возможная причина - нештатное (т.е. не "глюк 1С") ковыряние в таблицах или аварийные завершения работы со справочником во время его редактирования. такая вот бедулька, товарищ "НЕ ЗНАЮЩИЙ".
#31
by Джордж1
1.подчинения тоже нет 2.никаких нештатных ковыряний и аварийных завершений не было. // Проверь те что ли сами - делов на 5 минут
#32
by kiruha
Каким образом проверял совпадение ID ? Кстати в dbf возможна ситуация , когда запись помечена "удалить" (не путать с 1С пометкой) в таких записях не важно что хранится
#36
by Cthulhu
: ну тогда, бро, все дело в твоем характере. надо признать - довольно уникальном, если 1с-ина вот таким веселым образом реагирует в твоем конкретном случае, а во всех остальных случаях - только по описанным выше причинам (которых, как ты утверждаешь, у тебя "нет"). ну или ты врёшь. или не знаешь в полной мере того, о чем так претенциозно и почти возмущенно утверждаешь. в любом случае - жжизнь у тебя нелегкая, судя по всему. удачи тебе.
#39
by Cthulhu
: ответили в #10. по сути причина - редактирование в форме списка со сменой активного элемента. но оказался "не в коня корм" - т.е. ты сам привел код со сменой активного элемента в форме списка, но почему-то поленился просто подумать.
#40
by Джордж1
там ответили про что конкретно такое бывает при смене отбора. Я пытался воспроизвести проблему еще тогда. Не получалось.
#41
by Torquader
В общем, суть проблемы в том, что сохранение текущей записи выполняется уже после смены отбора или активной строки - то есть одна запись (точнее, то, что было в буфере) записывается поверх новой активной. Кстати, подобный глюк я видел в нескольких системах, написанных на Дельфях - там проблема крылась в том, что событие сохранения при смене отбора пишется в очередь событий, а события из кода исполняются сразу. P.S. никогда не использую редактирование в списке, так как пользователь по-дурости (уронив что-то на клавиатуру) может испортить справочник и без всяких глюков со стороны программы.
#42
by kiruha
Вообще то табличная часть - тот же список Точно также можно уронить что то на клавиатуру И по идее должен быть этот "глюк"
#43
by Torquader
Испорченный один документ или много документов - всё-таки - разница есть. P.S. ещё запись изменений спасает, когда "зверя" носом в то, что он поменял.
#45
by Язобил Наработто
Насколько я помню, Юля всех умыла именно с редактированием в форме списка с наложенными отборами. А ТС утверждает, что отборов нет.
#46
by PALESIA
имхо, открыть DBF через FoxPro ... и команда Pack тебе поможет ... если конечно потом исключить из кода шизоидную возможность ввода нового элемента при установленном отборе
#47
by PALESIA
+ ну а если уж последнее так необходимо, то лечится вставкой в ПриОткрытии: Если Выбран = 0 Тогда Записать; КонецЕсли;
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- v7: v7 : НДС при возврате
- v7: Что нужно чтоб подключить ККМ Меркурий 112F к 1с V7 Торговля + склад
- v7: v7.7 премещение элемента справочника
- v7: v8: v7: Кто-нибудь сумел скачать комплект отчетности за I квартал 2007 года
- v7: 1С V7.7 в сети
- v7: Исчезают элементы справочника, в dbf появляются дубликаты
- v7: Формат ячеек при записи отчета в xls (v7.7)
- v7: 1C:V7 starter program (for SQL) - обнаружена ошибка
- v7: Перенос данных Бухгалтерия из v7 в v8
- v7: v7 Перехват глобального события ПриЗаписи() или ОбработкаПроведения()
- v7: Перехват программной записи справочника в 1с 7.7
В этой группе 1С
- Как удалить первую строку в табличной части документа??
- СрезПоследних в СКД
- Где серии и ГТД в УТ 11.0.9.14 ?
- загрузка тз в регистр сведений
- Бесконтурный ориентирвоанный граф.
- v7: Запутался с регистром остатков товаров в 1с77
- Посоветуйте книгу по УТ 11
- Остатки товаров в разрезе поставщиков. УТ 11.
- Как передать параметр из документа в обработку и получить результат?
- УФ. РеквизитФормыВЗначение(""Объект"")[СтрокаВызова]
- Вопрос по автогруппировке в отчетах
- Двойная авторизация
- УТ11 изменение цены в чеке ККМ
- Как программно узнать, кто "сидит" в документе???
- КД 2. Поиск элемента справочника по реквизиту табл.части
- v7: скорость работы 1с 7.7 в терминале с удаленного клиента
- Медленный подбор номенклатуры
- УПП:ограничение доступа по подразделениям
- v7: Выполнение расшифровок при закрытой форме отчета
- Новая мобильная платформа 8.3. Лицензирование.