Имя: Пароль:
1C
1С v8
Мистика в регистр сведений Графики работы по видам времени
, , , , ,
0 r_abdunazarov
 
05.10.18
10:50
Здравствуйте. 1с ерп 2.1
В документе "Начисление зарплаты и взносов", когда нажимаю на Заполнить, выходит ошибка "Запись с такими ключевыми полями существует" в регистре Графики работы по видам времени. Ошибка выходит в общим модуле "УчетРабочегоВремени", процедура ЗаполнитьОчереднойНабор() -> Набор.Записать(Ложь);

Проверил регистр таких записей нет!

До записи в регистр(до выполнения функций "Набор.Записать(Ложь)") проверил набор:
    НаборПроверка=РегистрыСведений.ГрафикиРаботыПоВидамВремени.СоздатьНаборЗаписей();
    НаборПроверка.Отбор.Дата.Установить(Дата(2018,6,1));
    НаборПроверка.Прочитать();
В наборе нет таких записей, который записывается.

Другие месяца заполняется нормально.
1 Mort
 
05.10.18
10:57
Если дубей записей нет в регистре, значит они есть в наборе! В любом случае никакой мистики не бывает.
2 Mort
 
05.10.18
10:57
*дублей
3 r_abdunazarov
 
05.10.18
11:01
(1) Вы не поверите, я проверил и в наборе и в регистре записи. Дублей нет.
4 hhhh
 
05.10.18
11:03
(3) какой набор вы проверяете? То что только что сформировали и готовится к записи?
5 lEvGl
 
гуру
05.10.18
11:04
так восьмерка еще сырая, баги
6 Cool_Profi
 
05.10.18
11:05
Попробуй временно переделать запись набора на запись через менеджер - увидишь, на чём конкретно ошибка валится
7 r_abdunazarov
 
05.10.18
13:31
(4) И то и другое. То есть, в модуле есть функция "Набор.Записать(Ложь);". Здесь и ругается 1ска, пишет что у того то сотрудника на 01.06.2018 есть дубли. До выполнение этой функции я написал:
НаборПроверка=РегистрыСведений.ГрафикиРаботыПоВидамВремени.СоздатьНаборЗаписей();
    НаборПроверка.Отбор.Дата.Установить(Дата(2018,6,1));
    НаборПроверка.Прочитать();
И смотрю, в "НаборПроверка" этого сотрудника вообще нету. И в "Набор" там дублей нет по измерениям
8 Cool_Profi
 
05.10.18
13:32
тз = НаборЗаписей.Выгрузить();
тз.Свернуть("Сотрудник");
Если НаборЗаписей.Количество() <> тз.Количество() Тогда
  ПРООРАТЬ("есть дубли");
КОНецЕслил;
9 r_abdunazarov
 
05.10.18
13:38
(8) Сейчас попробую
(6) Если честно это не понял как сделать
10 hhhh
 
05.10.18
14:01
(9) ты проверяешь набор в (7), который был до того, поэтому и не понял. У тебя задвоение в новом наборе, который пишешь. Тупо там 2 одинаковые строчки.
11 r_abdunazarov
 
05.10.18
14:20
(10) (8) (1) Пи...ц. Оказалось что никакой мистики тут нет. Вы были правы. В наборе который записывается есть дубли на 12.06.2018. В этом регистре есть 3 измерение "ПериодРегистрации, Месяц, Дата". В сообщения об ошибке выходит 3 даты, измерение "Дата" выходит в конце со значение 12.06.2018. А измерение "ПериодРегистрации" и "Месяц" в начале со значением 01.06.2018, так вот я и не прочитал до конца ошибку и подумал что ругается по измерению "Дата" со значением 01.06.2018
(8) пример помог это увидеть
Спасибо большое всем!
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан