|
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) то есть если в табчасти товары две одинаковые строчки, ты их обе удалил или какую-то одну?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |