Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

При записи регистра сведений "Значение поля не соответствует установленному отбору"

При записи регистра сведений "Значение поля не соответствует установленному отбору"
Я
   Eastert
 
15.08.18 - 09:50
У регистра есть два измерения "Номенклатура", "Уникальный идентификатор записи", Ресурс "Значение".
Пользователю поле "Уникальный идентификатор записи" не видно, хочу при записи программно его заполнять

В модуле набора записей регистра

    
    Процедура ПередЗаписью(Отказ, Замещение)
    
        Для Каждого ТекЗапись Из ЭтотОбъект Цикл
            ТекЗапись.УникальныйИдентификаторЗаписи = Новый УникальныйИдентификатор();
        КонецЦикла;
        
    КонецПроцедуры
    

При этом получаю ошибку "Запись не верна! Значение поля не соответствует установленному отбор. Поле 'УникальныйИдентификаторЗаписи'"
Смотрю в "ЭтотОбъект.Отбор", там почему-то два элемента Номенклатура и УникальныйИдентификаторЗаписи заполнены своими значениями. Что где не так я делаю?
 
 
   Малыш Джон
 
1 - 15.08.18 - 09:55
(0) там где ты набор записей записываешь - ты этот отбор и накладываешь
   Eastert
 
2 - 15.08.18 - 09:56
(1) где я набор записываю? Это делает пользователь в форме списка регситра
   Малыш Джон
 
3 - 15.08.18 - 09:56
+(1) потом у набора с отбором по одному значению измерения, ты в это измерение пихаешь другое значение и теперь удивляешься, что значение измерение не соответствует отбору?
   Малыш Джон
 
4 - 15.08.18 - 09:56
(2) конечно пользователь. У него ведь консоль выполнения и он там прям так и пишет: НаборЗаписей.Записать().
   Малыш Джон
 
5 - 15.08.18 - 09:57
(2) что тупим? значит в форме списка у тебя отбор накладывается
   Cyberhawk
 
6 - 15.08.18 - 10:01
"два элемента Номенклатура и УникальныйИдентификаторЗаписи заполнены своими значениями" + "хочу при записи программно его заполнять" = ?
   Cyberhawk
 
7 - 15.08.18 - 10:02
Зачем тебе _пере_заполнять значение УИДа?
   Eastert
 
8 - 15.08.18 - 10:10
(3) Да, надо просто добавить
    Если ЭтотОбъект.Отбор.УникальныйИдентификаторЗаписи.Значение = "" Тогда
        ЭтотОбъект.Отбор.УникальныйИдентификаторЗаписи.Значение = УникальныйИдентификаторТекущейЗаписи;
    КонецЕсли;
   Eastert
 
9 - 15.08.18 - 10:10
(7) я не перезаполняю его, это просто строковое поле, измерение регистра сведений. Он пустой перед записью, и я его заполняю
   Малыш Джон
 
10 - 15.08.18 - 10:16
(8) то есть поставил костыль - и успокоился?)
http://pics.rsh.ru/img/_g015s8vu.jpg
 
 Рекламное место пустует
   Eastert
 
11 - 15.08.18 - 10:18
(10) а как быть?
   dmpl
 
12 - 15.08.18 - 10:19
(11) Для чего этот идентификатор нужен в измерении?
   Малыш Джон
 
13 - 15.08.18 - 10:20
(11) ну разберись, откуда там отбор берется,
может он там не нужен и его нужно убрать или наоборот, это новый механизм платформы и то что ты делаешь - это бессмысленно
   Eastert
 
14 - 15.08.18 - 10:20
(12) иначе нельзя будет для одной и той же номенклатуры делать несколько записей
   dmpl
 
15 - 15.08.18 - 10:21
(14) А как ты потом будешь различать какая запись что значит?
   Cyberhawk
 
16 - 15.08.18 - 10:21
"два элемента Номенклатура и УникальныйИдентификаторЗаписи заполнены своими значениями"
"Он пустой перед записью"
Что-то ты завираешься
   Eastert
 
17 - 15.08.18 - 10:21
(15) в этом нет цели
   Eastert
 
18 - 15.08.18 - 10:22
(16) нет, ты не понял
отбор заполнен своим значением, как правило пустой строкой
а измерение в наборе пустое, поэтому я программно его заполняю
   dmpl
 
19 - 15.08.18 - 10:22
(17) Зачем тогда регистр сведений? Клади в ТЧ элемента номенклатуры.
   Cyberhawk
 
20 - 15.08.18 - 10:23
(12) Известно для чего: например, когда требуемая гранулярность не покрывается периодичностью регистра
   Eastert
 
21 - 15.08.18 - 10:24
(19) может быть так и лучше, просто потом запросами регистр читать легче
   dmpl
 
22 - 15.08.18 - 10:26
(21) Зато писать в него сложнее: тебе либо по 1 записи надо добавлять, либо читать набор записей с отбором только по номенклатуре, добавлять/модифицировать некоторые записи и записывать набор обратно, тоже с отбором только по номенклатуре.
   Малыш Джон
 
23 - 15.08.18 - 10:27
(22) запись - ничто, чтение - всё
   dmpl
 
24 - 15.08.18 - 10:28
(20) Тут тогда последовательный счетчик логичнее - по нему хотя бы сортировать можно.
   Cyberhawk
 
25 - 15.08.18 - 10:38
(24) Если нужен порядок, то да (но без блокировки тогда никак). Но порядок внутри одной секунды (максимально возможная периодичность регистра) бывает что и не нужен.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует