Запись в регистр сведений. Такая уже существует (( #749429


#0 by Анастасия Изотова
Добрый день. Помогите советом. У меня 1С 8.1. нетиповая регистр сведений. в него попадают движения из одного из документов. В каждом таком документе есть табличная часть с услугами для пациентов. но возникла проблема. когда я делаю массовое перепроведение документов, за большой период, процесс стопорится с ошибкой: Запись с такими ключевыми полями существует! : :  :  (Регистр сведений: Назначение на осмотр; Номер строки: 24) я так поняла это потому что если в : документ №001  Иванов  услуга Икс документ №014  Иванов  услуг десять штук + снова услуга Икс, при проведении второго документа 1С не хочет писать в регистр сведений эту строку. Что я делаю не так ? Ведь оба документа, где совпадает строка услуги, отличаются полями и Номером, и датой и составом табличной части. Почему тогда на очередной документ регистр сведений не хочет сделать запись ?
#1 by Euguln
Периодичность регистра? Измерения?
#2 by Остап Сулейманович
Периодичность ни при делах. Документ №014 в момент обычного проведения провелся и не выругался на дублирование ключевых полей. Скорее всего фишка в настройках движений. Видимо не установлен режим "Удалять автоматически".
#3 by Euguln
При таком режиме будет ругаться уже на первой строке
#4 by Остап Сулейманович
А... Ну да. Точно.
#5 by Анастасия Изотова
Периодичность: В пределах секунды. Измерения: - Организация - Номер ресурсы: - Цена Такие же поля есть в первичном документе, который является регистратором (единственным) для этого регистра. Но почему ошибка с упоминанием Ключевых полей ?  Поля, я так понимаю, тут все равнозначные. Но строка, очередная запись в регист, не уникальна, там ведь есть и дата(время) и номер исходного документа. Даже если одна и та же услуга, по одному и тому же пациенту, будет регистрироваться, то в разные же периоды, не одновременно же. тогда при чем здесь такой контроль уникальности ?
#6 by Andrewww123
Может всё проще и в документе есть одинаковые строки?
#7 by Andrewww123
Хотя нет, там же НомерСтроки будет, раз регистр подчинен регистратору. Ну тогда тактика простая: посмотреть значения всех полей совпадающей записи и проверить регистр
#8 by Peltzer
Может быть, в модуле формы зашито предварительное свёртывание ТЧ перед проведением?
#9 by Анастасия Изотова
Поразбиралась: есть документ №001 . в 12:00 На Иванов И.И. в табличной части одна строка. услуга. он провелся. и есть запись в регистре сведений есть документ №014.  в 12:15 На Иванов И.И. (в данном случае это вторая запись в справочнике ФизЛиц, пуля в пулю (видимо одна из литер на ENG внесена, так что проверка на уникальность ФИО + дата рождения, пропустила его.) в табоичной части 15 строк. услуг.  не повторяющихся с документом №001 он не проводится. выдает эту ошибку. и в регистр не пишется. я просто не могу понять, что между ними общего ? даже если бы совпадали ВСЕ поля, номер то дока, и дата-период, уникальны ...!!
#10 by Peltzer
А часом пациент в регистре сведений не тип строка?
#11 by Peltzer
У вас периодичность - секунда. Не важно кто в эту секунду пишет, если измерения совпадают - будет ошибка.
#12 by Maxwell198705
была такая проблемка, но записей было не много, а записать все очень хотелось, делал через "попытку".Временно заполнял во временную таблицу,а когда ошибка срабатывала, загружал её в регистр сведений. на след этапе записывал все записи следующие за повторяющимися, т.е. процесс записи разбил на 2 этапа. а потом уже разбирался с проблемными документами
#13 by Maxwell198705
на уровне платформы, если измерения совпадают, то запись не производится. платформа ведь не смотрит на наименования, а работает исключительно по полям GUID, может с этим как то связанно.
#14 by Анастасия Изотова
Периодичность - секунда ? А то что обе конфликтующие записи (оба документа) разнятся во времени на 15 минут , как с этим быть ? Если с периодичностью - проблема, то посоветуйте как быть ? У меня задача: Вести учет по всем документам этого типа, с привязкой к пациенту и услугам из табличной части. что бы потом можно было из РегСвед доставать данные: какому пациенту, какие услуги, когда и сколько. то есть на каждый очередной документ нужно создавать отдельную строку в регистре сведений.  (ну и если первичный документ кто то перепроведет, то что бы в рег сведений сотетсвующие строки изменились) может мне сменить тип Периодичности на : По позиции регистратора ? мне бы конфликт этот странный устранить.
#15 by Альбатрос
Для начала выложи код записи в РС
#16 by Анастасия Изотова
Для Каждого ТекСтрокаУслуги Из Услуги Цикл
#17 by Альбатрос
Одинаковых строк в документе нет?
#18 by Анастасия Изотова
Была. Я не знаю , КАК они умудрились провести этот документ, но там было задвоение в табличной части (упала головой в стол).  Вот я недалекая.  Жеееесть.
#19 by Анастасия Изотова
Скажите, для вящей оптимизации, есть ли смысл менять периодичность регистра ? Исходя из задачи, ему поставленной ?
#20 by PaulBC
>>"Вести учет по всем документам этого типа, с привязкой к пациенту и услугам из табличной части. что бы потом можно было из РегСвед доставать данные: какому пациенту, какие услуги, когда и сколько. ... ну и если первичный документ кто то перепроведет, то что бы в рег сведений сотетсвующие строки изменились) " тут больше подойдет регистр накопления с видом Обороты (по аналогии с продажами)
#21 by newbling
Если ты просто хочешь чтоб "взлетело наконец", добавь измерение НомерСтрокиКакойТоСвой
#22 by Peltzer
Или добавь в обработке проведения перед циклом ТЗ.Свернуть("Организация, Пациент ит.д.");
#23 by ЧеловекДуши
Ну перепиши её, что не так? Если пытаешься писать в диалоге Регистра. т.е. Руками. Тогда Перед Записью сперва удаляешь существующую запись по Регистру. А потом все делается типовыми средствами 1С :)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С