|
Мистика в регистр сведений Графики работы по видам времени |
☑ |
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) пример помог это увидеть
Спасибо большое всем!
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший