Имя: Пароль:
1C
 
Запись в регистр сведений. Такая уже существует ((
,
0 Анастасия Изотова
 
30.07.15
10:59
Добрый день. Помогите советом. У меня 1С 8.1. нетиповая
регистр сведений. в него попадают движения из одного из документов.
В каждом таком документе есть табличная часть с услугами для пациентов.
но возникла проблема.
когда я делаю массовое перепроведение документов, за большой период, процесс стопорится с ошибкой:
Запись с такими ключевыми полями существует! : :  :  (Регистр сведений: Назначение на осмотр; Номер строки: 24)

я так поняла это потому что если в :
документ №001  Иванов  услуга Икс
документ №014  Иванов  услуг десять штук + снова услуга Икс,

при проведении второго документа 1С не хочет писать в регистр сведений эту строку.
Что я делаю не так ?
Ведь оба документа, где совпадает строка услуги, отличаются полями и Номером, и датой и составом табличной части.
Почему тогда на очередной документ регистр сведений не хочет сделать запись ?
1 Euguln
 
30.07.15
11:01
(0) Периодичность регистра? Измерения?
2 Остап Сулейманович
 
30.07.15
11:05
(1) Периодичность ни при делах. Документ №014 в момент обычного проведения провелся и не выругался на дублирование ключевых полей.
Скорее всего фишка в настройках движений. Видимо не установлен режим "Удалять автоматически".
3 Euguln
 
30.07.15
11:06
(2) При таком режиме будет ругаться уже на первой строке
4 Остап Сулейманович
 
30.07.15
11:08
(3) А... Ну да. Точно.
5 Анастасия Изотова
 
31.07.15
03:31
Периодичность: В пределах секунды.
Измерения:
- Организация
- Контрагент
- Договор
- Пациент
- Дата
- КомплУслуга
- ПростаяУслуга
- ТипЦен
- Номер
ресурсы:
- Цена
Такие же поля есть в первичном документе, который является регистратором (единственным) для этого регистра.

Но почему ошибка с упоминанием Ключевых полей ?  Поля, я так понимаю, тут все равнозначные.
Но строка, очередная запись в регист, не уникальна, там ведь есть и дата(время) и номер исходного документа. Даже если одна и та же услуга, по одному и тому же пациенту, будет регистрироваться, то в разные же периоды, не одновременно же.
тогда при чем здесь такой контроль уникальности ?
6 Andrewww123
 
31.07.15
04:44
Может всё проще и в документе есть одинаковые строки?
7 Andrewww123
 
31.07.15
04:57
Хотя нет, там же НомерСтроки будет, раз регистр подчинен регистратору. Ну тогда тактика простая: посмотреть значения всех полей совпадающей записи и проверить регистр
8 Peltzer
 
31.07.15
05:11
Может быть, в модуле формы зашито предварительное свёртывание ТЧ перед проведением?
9 Анастасия Изотова
 
31.07.15
05:31
Поразбиралась:
есть документ №001 . в 12:00 На Иванов И.И. в табличной части одна строка. услуга.
он провелся. и есть запись в регистре сведений

есть документ №014.  в 12:15 На Иванов И.И. (в данном случае это вторая запись в справочнике ФизЛиц, пуля в пулю (видимо одна из литер на ENG внесена, так что проверка на уникальность ФИО + дата рождения, пропустила его.) в табоичной части 15 строк. услуг.  не повторяющихся с документом №001
он не проводится. выдает эту ошибку. и в регистр не пишется.

я просто не могу понять, что между ними общего ?
даже если бы совпадали ВСЕ поля, номер то дока, и дата-период, уникальны ...!!
10 Peltzer
 
31.07.15
05:35
А часом пациент в регистре сведений не тип строка?
11 Peltzer
 
31.07.15
05:36
У вас периодичность - секунда. Не важно кто в эту секунду пишет, если измерения совпадают - будет ошибка.
12 Maxwell198705
 
31.07.15
05:54
была такая проблемка, но записей было не много, а записать все очень хотелось, делал через "попытку".Временно заполнял во временную таблицу,а когда ошибка срабатывала, загружал её в регистр сведений. на след этапе записывал все записи следующие за повторяющимися, т.е. процесс записи разбил на 2 этапа. а потом уже разбирался с проблемными документами
13 Maxwell198705
 
31.07.15
05:56
на уровне платформы, если измерения совпадают, то запись не производится. платформа ведь не смотрит на наименования, а работает исключительно по полям GUID, может с этим как то связанно.
14 Анастасия Изотова
 
31.07.15
06:00
Пациент:  Тип СправочникСсылка.ФизическиеЛица

Периодичность - секунда ?
А то что обе конфликтующие записи (оба документа) разнятся во времени на 15 минут , как с этим быть ?

Если с периодичностью - проблема, то посоветуйте как быть ?
У меня задача:
Вести учет по всем документам этого типа, с привязкой к пациенту и услугам из табличной части.
что бы потом можно было из РегСвед доставать данные: какому пациенту, какие услуги, когда и сколько.

то есть на каждый очередной документ нужно создавать отдельную строку в регистре сведений.  (ну и если первичный документ кто то перепроведет, то что бы в рег сведений сотетсвующие строки изменились)

может мне сменить тип Периодичности на : По позиции регистратора ?

мне бы конфликт этот странный устранить.
15 Альбатрос
 
31.07.15
06:01
(14) Для начала выложи код записи в РС
16 Анастасия Изотова
 
31.07.15
06:04
Для Каждого ТекСтрокаУслуги Из Услуги Цикл
        Движение = Движения.НазначениеНаОсмотр.Добавить();
        Движение.Номер = Номер;
        Движение.Период = Дата;
        Движение.Дата = Дата;
        Движение.Организация = Организация;
        Движение.КомплУслуга = Услуга;
        Движение.Пациент = Пациент;
        Движение.Контрагент = КонтрагентЮрЛицо;
        Движение.НомерБСО = БСО;
        Движение.ПростаяУслуга = ТекСтрокаУслуги.Услуга;
КонецЦикла;
17 Альбатрос
 
31.07.15
06:16
(16) Одинаковых строк в документе нет?
18 Анастасия Изотова
 
31.07.15
06:31
Была. Я не знаю , КАК они умудрились провести этот документ, но там было задвоение в табличной части (упала головой в стол).  Вот я недалекая.  Жеееесть.
19 Анастасия Изотова
 
31.07.15
06:32
Скажите, для вящей оптимизации, есть ли смысл менять периодичность регистра ?

Исходя из задачи, ему поставленной ?
20 PaulBC
 
31.07.15
07:03
(14) >>"Вести учет по всем документам этого типа, с привязкой к пациенту и услугам из табличной части.
что бы потом можно было из РегСвед доставать данные: какому пациенту, какие услуги, когда и сколько.
...
ну и если первичный документ кто то перепроведет, то что бы в рег сведений сотетсвующие строки изменились) "

тут больше подойдет регистр накопления с видом Обороты (по аналогии с продажами)
21 newbling
 
31.07.15
07:06
Если ты просто хочешь чтоб "взлетело наконец", добавь измерение НомерСтрокиКакойТоСвой
22 Peltzer
 
31.07.15
07:39
Или добавь в обработке проведения перед циклом
ТЗ.Свернуть("Организация, Пациент ит.д.");
23 ЧеловекДуши
 
31.07.15
08:38
(0) Ну перепиши её, что не так?

Если пытаешься писать в диалоге Регистра. т.е. Руками.
Тогда Перед Записью сперва удаляешь существующую запись по Регистру. А потом все делается типовыми средствами 1С :)