|
v8.2 УП: вопрос по обработке проведения документа |
☑ |
0
dborovsky
26.04.13
✎
15:47
|
При проведении документа постояно выводит ошибку Запись с такими ключевыми полями существует! На форумах изучив данную проблему, изменив процедуру, но безрезультатно. Что ни так в коде, заранее спасибо за ответ:
Для Каждого ТекСтрокаТовары Из Товары Цикл
//НаборЗаписей.Отбор.Период.Установить(ДатаВходящегоДокумента);
//НаборЗаписей.Отбор.Поставщик.СоздатьНаборЗаписей(Контрагент);
НаборЗаписей.Прочитать();
Если НаборЗаписей.Количество() > 0 Тогда
НаборЗаписей.Очистить();
КонецЕсли;
НоваяЗапись = НаборЗаписей.Добавить();
НоваяЗапись.Период = ДатаВходящегоДокумента;
НоваяЗапись.Организация = Организация;
НоваяЗапись.Поставщик = Контрагент;
НоваяЗапись.Номенклатура = ТекСтрокаТовары.Номенклатура;
НоваяЗапись.Цена = ТекСтрокаТовары.Цена;
НоваяЗапись.Валюта = ВалютаДокумента;
КонецЦикла;
НаборЗаписей.Записать();
|
|
1
dborovsky
26.04.13
✎
15:48
|
//ОБРАБОТКА ПРОВЕДЕНИЯ ДЛЯ РЕГИСТРА ЦЕНЫ ПОСТАВЩИКА
НаборЗаписей = РегистрыСведений.ЦеныПоставщика.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(ЭтотОбъект.Ссылка);
Для Каждого ТекСтрокаТовары Из Товары Цикл
//НаборЗаписей.Отбор.Период.Установить(ДатаВходящегоДокумента);
//НаборЗаписей.Отбор.Поставщик.СоздатьНаборЗаписей(Контрагент);
НаборЗаписей.Прочитать();
Если НаборЗаписей.Количество() > 0 Тогда
НаборЗаписей.Очистить();
КонецЕсли;
НоваяЗапись = НаборЗаписей.Добавить();
НоваяЗапись.Период = ДатаВходящегоДокумента;
НоваяЗапись.Организация = Организация;
НоваяЗапись.Поставщик = Контрагент;
НоваяЗапись.Номенклатура = ТекСтрокаТовары.Номенклатура;
НоваяЗапись.Цена = ТекСтрокаТовары.Цена;
НоваяЗапись.Валюта = ВалютаДокумента;
КонецЦикла;
НаборЗаписей.Записать();
|
|
2
SuperMario
26.04.13
✎
15:49
|
почитай мат. часть по периодическим регистрам сведений (точнее вообще по регистрам сведений)...
|
|
3
SuperMario
26.04.13
✎
15:51
|
+(2) если быть конкретнее по по понятию периодичность регистра и уникальность записи регистра сведений.
|
|
4
dborovsky
26.04.13
✎
15:51
|
Читал, что конкретно ни так в данном коде? Записи по идеи очистил.
|
|
5
SuperMario
26.04.13
✎
15:57
|
(4) думай голова!
тебе же сама 1С открытым кодом пишет " Запись с такими ключевыми полями существует"!!!!
|
|
6
SuperMario
26.04.13
✎
16:01
|
в таб. части есть повторяющиеся записи, которые хотят попасть в регистр. Смотри все значения измерений , которые пытаются лезть в рег.
|
|
7
dborovsky
26.04.13
✎
17:09
|
я изначально написал, что знаю в чем ошибка - Запись с такими ключевыми полями существует. Я в коде прописал, чтобы вызывался метод очистить для удаления всех записей по моему документу, чтобы не было повторений
|
|
8
hhhh
26.04.13
✎
18:42
|
(7) то есть если в табчасти товары две одинаковые строчки, ты их обе удалил или какую-то одну?
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший