#0
by kuromanlich
т.е. есть запись. мы ее перезаписываем. перезаписываем не программно, а мануально, из собственной формы регистра сведений. как програмно определить есть ли такая запись в программе, или же эту запись в данный момент добавили?
#2
by Один С
если такая запись в регистре есть, то регистра поругается на то, что такая запись уже есть..
#7
by kuromanlich
гы гы ) вот тут и проблема... пока он перед записью запрос у меня пустым выходит...
#8
by Explorer1c
Странная-проблемма-зачем-это-ваабще-нужно?Заполнисначаларегистр-программно-а-потом-открой-доступ-пользователям
#9
by kuromanlich
описываю маразм: добавлять можно, изменять уже добавленное нельзя. вот и пытаюсь реализовать.
#10
by Explorer1c
Запрос-по-регистру-если-есть-запись-тогда-выходим-из-процедуры.Выполняем-в-одной-транзакции,т.е-блокируем-таблицу-на-время-записи
#14
by Renat11111
чем не подходит? РегистрСведенийМенеджерЗаписи.<Имя регистра сведений>.Выбран (InformationRegisterRecordManager.<Имя регистра сведений>.Selected) РегистрСведенийМенеджерЗаписи.<Имя регистра сведений> (InformationRegisterRecordManager.<Имя регистра сведений>) Выбран (Selected) Синтаксис: Выбран Возвращаемое значение: Тип: Булево. Истина - набор не изменялся; Ложь - изменялся, в частности, если набор не считывался и не записывался, а также, если записывался с добавлением записей. Описание: Определяет, считана запись или нет. Примечание: При изменении отбора считается, что набор перестает быть считанным. Пример:
#18
by kuromanlich
это не подходит для случая когда событие генерирует сам рег сведений. т.е. если скажем я буду пытаться применить это в модуле объекта рег.свед в процедуре "призаписи" или "передзаписью" то не я ставлю "отбор" и "прочитываю", это делает сама программа. соответственно нет возможности использовать этот операнд.
#20
by ptiz
Синтаксис: ПриНачалеРедактирования(<Новая строка>, <Копирование>) Параметры: <Новая строка> Тип: Булево. Признак редактирования новой строки. Имеет значение Истина, если строка была добавлена или скопирована. <Копирование> Тип: Булево. Если данный параметр имеет значение Истина, то выполняется копирование строки. Описание: Возникает при начале редактирования старой или добавленной строки табличного поля. В процедуре - обработчике события нельзя отказаться от редактирования, но могут быть выполнены действия, необходимые при вводе новой строки, например, установка начальных значений.
#22
by kuromanlich
уже пробывал. Но это есть не универсально. нельзя таким способом с помощью скажем подписки на события сделать для всех регистров. интересует как это сделать в "призаписи" "пеердзаписью" "проверказаполнения"
#23
by ptiz
Посмотрел сейчас, при перезаписи из формы "вручную" обработчики срабатывают дважды: 1 раз - удаление старого набора (в обработчике ПередЗаписью записи еще есть, ПриЗаписи - нет) 2 раз - запись нового ((в обработчике ПередЗаписью записей нет, ПриЗаписи - есть) Нам достаточно того, что при первом срабатывании, смотрим ПередЗаписью - если запись была, значит её изменяют или удаляют, ставим Отказ.
#24
by kuromanlich
тут и проблема. если есть время попробуй сделать. у меня запрос пустоту выдает ри перезуписи существующего.
#26
by kuromanlich
хм... странно что запрос у меня пустым выходит, а то что ты показываешь нет... но с другой стороны механизмы извлечения данных могут быть разными у 1С для запроса и для чтения набора... будем пробывать. в моем случае еще правда отбор нужно заполнить весь и для всех...
#30
by kuromanlich
если запись мы перезаписываем выдает: если добавляем то: ПередЗаписью 0 ПриЗаписи 1
#31
by kuromanlich
и т.о. то что у тебя в работает конечно, но с помощью него нельзя определить когда новую запись заносят, а когда старую редактируют
#32
by kuromanlich
и еще. заметил следующее: хотя перед записью и запрос и чтение набора выдают пустой результат, под другим сеансом если в этот же момент запросом получать то же самое оно получается (операйия проводится с помощью точки останова).
#33
by kuromanlich
ура! нашел! ОбработкаПроверкиЗаполнения выолняется перед тем как 1С перезаписывает набор, т.о. получается, что если это новое, то записей действительно нет, а если есть, то они (записи набора) еще "не считаны" и соответственно все еще существуют. всем спасибо.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как проверить , что режим записи документа =Проведение?
- Как проверить скопирован ли документ?
- Обнуляются записи в регистре сведений при добавлении новой записи
- Как проверить значение перечисления в запросе?
- Метаданные - проверить режим записи регистра ?
- Не удалось проверить целостность app-sentx, код возврата -1073741819
- проверить товар на вхождение в список
- как проверить существование файла на ftp 1с 7.7
- Свойства НОВОЙ записи при копировании записи Регистра Сведений
- Как выбрать записи из регистра сведений записи
- Проверить при записи в регистр сведений
- Как проверить существование Регистра сведений?
В этой группе 1С
- Периодический регистр сведений по позиции регистратора
- Как из ЧислоПрописью убрать копейки 00 ?
- КАК программно снять защиту с области группировок в эксель?
- ЗУП Оклад по дням и не полностью отработанное время
- Ошибка при работе с OpenOffice Calc
- Открытие формы выбора с отбором из параметров СКД
- 1C Сканер штрихкода
- 4 ФСС и численность работников 8.2 ЗУП
- Банковский счет при обмене УТ 10.3 БП 2.0
- Создание простейшего веб сервиса
- КД не переносятся пометки удаления
- Программно группировка строк в ТабДоке
- менеджер контактов 1с в отдельной базе
- Нарушена последовательность регламентных операций.
- v7: Заполнение полей в Ворд из 1с
- Загрузка смены из Фронтол ("Обнаружена неизвестная транзакция")
- Штрих-М 4.5 + УТ + Фронтол
- Обмен бухгалтерия 2.0 и управление торговлей 10.14.
- Перенос суммы к выдаче в ЗУП бюджет из древней самописной программы
- Перейти с КА на БП и УТ?