v8: Ошибка при записи в регистр сведений #340438


#0 by Контакт
Ошибка при вызове метода контекста (Записать): Запись с такими ключевыми полями существует! Регистр Сведений: Пользовался СоздатьНаборЗаписей и СоздатьМенеджерЗаписи Вот некоторый код. НО. Вопрос?! выдают ошибку Ошибка при вызове метода контекста (Записать): Запись с такими ключевыми полями существует! Очередной глюк? откладку приводил. и встречаются одинаковая строка, что (id_ges,naim,tochka,id_nom,pr_otkaz) равны, но "kol" разная. а бывает что все одинаковое. как быть?
#1 by ТелепатБот
#2 by b_ru
с фокса на 1С недавно перешел? Или просто природный дятел? З.Ы. озвучь задачу в терминах предметной области: что нужно хранить в базе и как оттуда доставать. Чует моя почка, что Регистр Сведений тут в принципе не нужен.
#3 by TamerlanDE
+1
#4 by Sergey_KR
скорей всего вместо: Рег = РегистрыСведений.zakup_otkaz.СоздатьМенеджерЗаписи; надо сделать: Рег = РегистрыСведений.zakup_otkaz.СоздатьНаборЗаписи; Рег.прочитать; а потом уже в него чтото записывать.... Или я не прав?
#5 by Sergey_KR
#6 by НЕА123
из "бывает что все одинаковое" - одно это прибивает... в все сказано.
#7 by Контакт
Этот код что я привел. работает. но проигрываем со скоростью. Нужно из SQL servera переписать базу в 1С и переодическии ее обновлять. Записей каждый день накапливаются около 20000. С кодом Рег1 = РегистрыСведений.zakup_otkaz.СоздатьНаборЗаписей; Рег1.Записать; я ощуществил по кусочкам. код Выдают ошибку выдают ошибку Ошибка при вызове метода контекста (Записать): Запись с такими ключевыми полями существует! тут уже поднимался этот вопрос но к какому то решению не пришли. Получается если в Регистр Сведений: Измерения (id_ges,naim,tochka,id_nom,pr_otkaz) Получаются что измерений составляет как бы уникальный ключ и не может совпадать для нескольких записей в одном периоде.
#8 by Контакт
Есть такой вариант. накапливать в начале в таблице. И он все равно выдает ошибку.
#9 by НЕА123
Ленин Ты наш! в смысле, дятел. стену долбишь.
#10 by НЕА123
цитата из .
#11 by Контакт
to  НЕА123. Что Вы предлагаете? Можно по сути, а не отклонятся от Темы. а Такое решение что Регистр Сведений:
#12 by Sergey_KR
Может тебе лучше сделать регистр накопления с ресурсами KOL и SUMMA
#13 by НЕА123
нет - только усугубит. по сути: 1. рассмотри вариант ; 2. если уж это действительно регистр сведений, сделай периодическим; 3. (лучшее) "озвучь задачу в терминах предметной области: что нужно хранить в базе и как оттуда доставать" - цитата из .
#14 by ShoGUN
Вообще, кирилицу с латиницей мешать - извращение. :/ Что тебе надо-то? Регистр сведений не позволяет записать данные с полностью совпадающим набором измерений. И это правильно.
#15 by Sergey_KR
+ потом из своей БД (RS) закачать данные во временную ТЗ потом свернуть ее ТЗ.Свернуть("id_ges,naim,tochka,id_nom,pr_otkaz","kol,cena")- после этого явно не будет одинаковых записей потом пробежаться по ней и записать в свой регистр
#16 by NULLL
Установи свойство регитсра переодический и data_otk пиши в период
#17 by b_ru
в свете это справочник. Вообще, метаобъект 1С, наиболее близкий по своим характеристикам обычной таблице, это именно справочник, о чем многие начинающие не догадываются. Но учитывая, что речь идет о чем-то вроде приемки ОТК, возможно, это документ. Опять же, озвучь задачу. А то "Нужно из SQL servera переписать базу в 1С и переодическии ее обновлять" - непонятно. Зачем эта база в 1С? Какие выборки/отчеты надо из нее получать? Или нужно переписать, "чтобы было"? >>Получаются что измерений составляет как бы уникальный ключ и не может совпадать для нескольких записей в одном периоде Кстати, это именно так. Вообще, перед тем как программировать на 1С, неплохо было бы книжку какую-нибудь прочитать, где объясняется что там вообще для чего нужно.
#18 by Контакт
Рассматриваю + варианты. to  Sergey_KR ЧТо значит поле SUMMA ? у меня Cena. "потом пробежаться по ней и записать в свой регистр" ? это как.
#19 by ShoGUN
_Чего_ты_хочешь_? Какая задача в предметной области стоит? Что за продолжение долбежки?
#20 by Sergey_KR
summа=kol*cena а там ошибочка в свернуть должно так: ТЗ.Свернуть("id_ges,naim,tochka,id_nom,pr_otkaz","kol,summa")
#21 by Контакт
Попробую сформировать задачу. Есть БД с отказами по Симплу. Нужно в один Ес. Сформировать отчет "отказы в разрезе категорий". по строкам до 10. от 10 до ~/ по столбцам. Отказано ШТ. ( поле kol) Отказано на Сумму. Итоги! Хочу просто разобратся с Регистром Сведений. И записи из SQL в 1С.
#22 by Контакт
Что за ошибка в ТЗ.Свернуть("id_ges,naim,tochka,id_nom,pr_otkaz","kol,summa")
#23 by ShoGUN
Я не претендую не гениальность, поэтому "Есть БД с отказами по Симплу. Нужно в один Ес." мне показалось ругательством...
#24 by Sergey_KR
просто в вместо summa  написана cena
#25 by b_ru
это точно регистр накопления. Так как в РН нельзя писать без регистратора, нужно сделать документ, скажем "Ввод сведений об отказах за день" и ежедневно его заполнять (автоматически). При проведении документ должен осуществлять движения по РН. Отчет должен строиться по этому же РН. >>Хочу просто разобратся с Регистром Сведений Так книжку Радченко в руки и го-го читать :) >>И записи из SQL в 1С Ну тут как вроде бы все правильно. ADODB - нормальный вариант
#26 by Контакт
все разобрался у меня была ошибка в коде ТЗ.Свернуть("data_otk,id_ges,naim,tochka,id_nom,pr_otkaz,kol,cena"); всем спасибо!!!
#27 by Контакт
to    b_ru >>И записи из SQL в 1С > это точно регистр накопления. Так как в РН нельзя писать без регистратора, нужно сделать документ, скажем "Ввод сведений об отказах за день" и ежедневно его заполнять (автоматически). При проведении документ должен осуществлять движения по РН. Отчет должен строиться по этому же РН. Где то можно прочитать про это? а чем РН хуже РС ?
#28 by b_ru
будешь отчет строить, не удивляйся, что цифры получаются неверные. Как раз на сумму этих повторяющихся строк ;)
#29 by b_ru
>>Где то можно прочитать про это? Да в книжке можно прочитать, где ж еще. Отличная книга по 1С Радченко "Примеры Разработки". >>а чем РН хуже РС Он не хуже. Он для другого предназначен. РС используется для хранения периодически изменяющихся данных. К примеру, курс валют. Он сегодня один, а завтра другой. И сегодняшний имеет смысл только для сегодняшнего дня и никак не влияет на завтрашний. Поэтому в РС есть механизм, позволяющий получить значение ресурсов для определенного значения измерений на указанную дату. А РН предназначен для хранения данных, по которым нужно проводить суммирование. К примеру, остатки чего-нибудь на складе. РН позволяет получить на указанную дату разность между суммами прихода и расхода.
#30 by Контакт
Этот код записывает повер старых записей. а чтоб Добавить куда и как ее вставить в код?
#31 by hhhh
Читай хоть иногда синтакс помощник: РегистрСведенийНаборЗаписей.<Имя регистра сведений> (InformationRegisterRecordSet.<Имя регистра сведений>) Записать (Write) Синтаксис: Записать(<Замещать>) Параметры: <Замещать> (необязательный) Тип: Булево. Определяет режим замещения существующей записи в соответствии с текущими установками отбора. Истина - перед записью существующие записи будут удалены. Ложь - записи будут дописаны к уже существующим в информационной базе записям Значение по умолчанию: Истина Описание: Записывает набор записей в базу данных. В зависимости от переданного параметра, может быть выполнено добавление записей или их замещение. Примечание: Для регистров сведений, подчиненных регистратору, при вызове с параметром <Замещать> равным Ложь после записи в информационную базу набор записей очищается (удаляются записи из набора). Пример: НаборКурсов.Записать;
#32 by Контакт
фигня какая то не выходит(((((
#33 by hhhh
отбор установи. Без отбора стирается весь регистр.
#34 by Контакт
to  hhhh подскажи на примере как мне установить отбор для
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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