v8: Запись с такими ключевыми полями уже существует #258980


#0 by alkon
при проведении документа уценки возникает надпись: "Запись с такими ключевыми полями уже существует!"
#1 by Волшебник
обеспечить уникальность по ключу регистра сведений
#2 by Смит
Документ пишет в регистр сведений. На дату документа было уже изменение цен какой-то номенклатуры. Удалить эту номенклатуру из документа.
#3 by coder1cv8
найти документ, который эту самую запись сделал и снять его с проведения...
#4 by Моха
Регистратор тоже ключ. Запись по логике должна тупо переписаться.
#5 by Каанкереде
если это в параметрах метода записи передать. По умолчанию не перезаписывает, ругается.
#6 by Моха
+ точнее часть ключа.
#7 by Моха
Хз. У мя всегда тупо переписывал. Так даже данные в РС потерять можно, если не читать РС заранее. И что это за параметр метода записи?
#8 by Моха
+ По умолчанию Замещать = Истина. Никогда явно его не прописывал.
#9 by Каанкереде
могу ошибаться но вроде : РегистрСведенийМенеджерЗаписи.<Имя регистра сведений>.Записать (InformationRegisterRecordManager.<Имя регистра сведений>.Write) РегистрСведенийМенеджерЗаписи.<Имя регистра сведений> (InformationRegisterRecordManager.<Имя регистра сведений>) Записать (Write) Синтаксис: Записать(<Замещать>) Параметры: <Замещать> (необязательный) Тип: Булево. Определяет режим замещения существующей записи с тем же набором значений измерений регистра и с тем же периодом (для периодических регистров). Истина - если запись регистра сведений с таким набором существует, то выполняется замещение; Ложь - запись будет дописана к уже существующим в информационной базе записям. Значение по умолчанию: Истина Описание: Записывает в базу данных запись регистра сведений с текущими значениями свойств. Если запись регистра сведений была предварительно считана из базы данных, то при выполнении метода сначала считанная запись удаляется, а затем производится запись измененной записи. С помощью параметра <Замещать> регулируется, будет ли метод замещать запись, если в момент выполнения метода существует другая (исключая считанную) запись с такими же значениями измерений регистра и с таким же периодом для периодических регистров. Примечание: При вызове с параметром <Замещать> равным Ложь после записи в информационную базу запись очищается. Пример: Курс.Записать;
#10 by alkon
а как определить что именно является ключем?
#11 by Моха
Измерения + Регистратор + Период есть ключ.
#12 by Vozhd
При проведении документа происходит автоматическая запись набор записей для всех регистров, "подчиненных" данному документу. Теперь вопрос: с каким параметром вызывает платформа эту самую запись?
#13 by Vozhd
Только если установлена периодичность регистра "по позиции регистратора"
#14 by Моха
Платформа никого никуда не вызывает. Это прописывается руками.
#15 by Моха
Логично.
#16 by Моха
+ Просто ни разу не пробовал иначе делать. Не было необходимости. Может в этом и дело?
#17 by Vozhd
вызывает, еще как вызывает... Именно в этом и дело.
#18 by Моха
/1 Да вроде бы всегда в конфе явно прописано Набор.Записать.
#19 by Vozhd
А Движения.Записать? Это ведь тоже наборы записей :-)
#20 by alkon
значит по идее можно записать одинаковые записи в регистр?
#21 by Моха
Движения.МойРег.Записать;
#22 by Моха
+ ииииииииии?
#23 by Волшебник
Но останется только одна
#24 by Моха
... как Дункан Маклауд: "в конце должен остаться лишь один".
#25 by Vozhd
Ставите точку останова в модуле набора записей и считаете сколько раз туда попали...
#26 by alkon
Моха, ))
#27 by Моха
Направление мысли понятно. При случае попробую.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С