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

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

Мистика в регистр сведений Графики работы по видам времени

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

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

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

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

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