Имя: Пароль:
1C
1С v8
Запись с такими ключевыми полями существует. Ошибка. почему так?
0 Cerera
 
13.02.13
11:50
я сотни раз создавал регистры сведений и при проведении документов, записывал туда информацию. Но вот сейчас понять не могу в чём может быть дело. Провожу документик и этот документ записывает данные в РС. После завершения проведения выходит:

"Запись с такими ключевыми полями существует .... НомерСтроки 2)..

Но я отлаживаю код проведения - там не повторяются записи. и это самый первый документ, других просто не было и не может быть повторений. в документе всего две строчки..

   Движения.ГотовыеИзделияИСырьеКонтрагентов.Записывать = Истина;
   Движения.ГотовыеИзделияИСырьеКонтрагентов.Очистить();
   Для Каждого ТекСтрокаГотовыеПродуктыКонтрагентов Из ГотовыеПродуктыКонтрагентов Цикл
       Движение = Движения.ГотовыеИзделияИСырьеКонтрагентов.Добавить();
       Движение.Контрагент = ТекСтрокаГотовыеПродуктыКонтрагентов.Контрагент;
       Движение.ГотовоеИзделие = ТекСтрокаГотовыеПродуктыКонтрагентов.ГотовыйПродукт;
       Движение.Период=Дата;
       Движение.Производят=Истина;
   КонецЦикла;
1 ДенисЧ
 
13.02.13
11:51
Попытка
...
Исключение
 сообщить(поля движения);
КОнецПопытки.

И смотри.
2 mikecool
 
13.02.13
11:51
думаю надо отбор применить
3 vicof
 
13.02.13
11:52
(0) подчинение есть? периодичность?
4 Галахад
 
гуру
13.02.13
11:54
Проверь с одной строкой.
5 smitru
 
13.02.13
11:55
(0) Приведи скрин ошибки. обычно в тексте есть вполне понятная диагностика
6 Cerera
 
13.02.13
11:58
(4)с одной строкой работает
(1)спасибо Денис! использую это.
(2)попробуем.
(3)периодичность по регистратору. подчинен регистратору
7 Cerera
 
13.02.13
12:01
8 vicof
 
13.02.13
12:01
и еще, что из перечисленных полей ресурсы, а что - измерения?
9 Cerera
 
13.02.13
12:04
(8)
Контрагент - измерение
ГотовыйПродукт -измерение

Движение.Производят - ресурс
10 smitru
 
13.02.13
12:05
(7) ну-у-у... в скрине видна та запись которая "дублирует" уже существующую.

У тебя дата - одна (т.е. период не меняется) и та же и если и екСтрокаГотовыеПродуктыКонтрагентов.Контрагент и  ТекСтрокаГотовыеПродуктыКонтрагентов.ГотовыйПродукт одинаковы, то что ты удивляешься???
11 smitru
 
13.02.13
12:06
(9)  (10)+ нельзя записывать в один и тот же период две записи с одинаковыми измерениями...
12 smitru
 
13.02.13
12:08
по скрину - период у тебя неизменен (равен Дата) и регистратор тот же самый...
13 Cerera
 
13.02.13
12:08
(11)так набор измерений же разный. ГотовыйПродукт для каждой строчки уникальный.
14 Галахад
 
гуру
13.02.13
12:09
(13) Чо спорить? Возьми отладчек и посмотри движения.
15 Cerera
 
13.02.13
12:09
(1)не взлетит. сообщение возникает уже по выходу из процедуры "обработка проведения"
16 Cerera
 
13.02.13
12:10
(14)дак смотрю же. строчки табличной части перебираются.
17 Галахад
 
гуру
13.02.13
12:11
Какие строчки? Посмотри "Движения".
18 smitru
 
13.02.13
12:11
(16) скрин внимательно смотри.. Система ругается именно на повтор во второй записи конкретных значений - "период" и "регистратор"
19 Cerera
 
13.02.13
12:14
(18)а почему она ругается то? ведь Регистратор и Период должны быть одинаковы. РС ведь подчинен регистратору.
20 Cerera
 
13.02.13
12:15
(17)когда в цикле смотрю движения то там регистратор пустой
21 Галахад
 
гуру
13.02.13
12:16
(20) А после цикла, что там?
22 smitru
 
13.02.13
12:17
(19) чЁ ты меня уговариваешь :-)

Ты это 1С объясни....
Ты спросил "Почему", на скрине четко показано "из-за чего" - ну и исправляй...


Причем тут цикл? Вылетает при попытки записи....
23 Cerera
 
13.02.13
12:20
(21)
Индекс    Значение элемента    Тип элемента    Период    Регистратор    НомерСтроки    Активность    Контрагент    ГотовоеИзделие    Производят
0    РегистрСведенийЗапись.ГотовыеИзделияИСырьеКонтрагентов    РегистрСведенийЗапись.ГотовыеИзделияИСырьеКонтрагентов    12.02.2013 17:22:34        0    Истина    Производственное предприятие Актай    Пряники    Истина
1    РегистрСведенийЗапись.ГотовыеИзделияИСырьеКонтрагентов    РегистрСведенийЗапись.ГотовыеИзделияИСырьеКонтрагентов    12.02.2013 17:22:34        0    Истина    Производственное предприятие Актай    Мелкоштучные изд    Истина
24 Cerera
 
13.02.13
12:20
(21)регистратор и номер строки там не проставлены почемуто
25 Cerera
 
13.02.13
12:32
И вот что ещё выяснилось. Провести можно только один однострочный документ. при попытки провести второй однострочный уже возникает ошибка неуникальности.
26 Cerera
 
13.02.13
12:35
Всм прошу прощения.
вместо измерения реквизиты были заполнены ((((
27 МихаилМ
 
13.02.13
12:36
(26)
голодание привело к необратимым изменениям.
28 smitru
 
13.02.13
12:36
(24) не там смотришь :-)

Поставь оператор Сообщить() в менеджере записи регистра сведений в процедуре ПриЗаписи(). И там смотри отладчиком "что и как" (там поля будут заполены)

но это ничего не изменит.. ни причины, ни то, что это нужно исправлять...
29 vicof
 
13.02.13
12:37
(26) я ж говорю (8)
Ошибка? Это не ошибка, это системная функция.