|
Проведение. Запись в регистр сведений. | ☑ | ||
---|---|---|---|---|
0
espanol
04.04.12
✎
15:34
|
ОбработкаПроведения:
Если НЕ Отказ Тогда НаборЗаписейХК = Движения.ХранениеКолес; НаборЗаписейХК.ДокументОбъект = ЭтотОбъект; НаборЗаписейХК.Контрагент = Контрагент; НаборЗаписейХК.ПодразделениеКомпании = ПодразделениеКомпании; Отказ = НЕ НаборЗаписейХК.Хранение() ИЛИ Отказ; КонецЕсли; Обработка в модуле РС: Перем ДокументОбъект Экспорт; // документ объект для записи Перем Контрагент Экспорт; // контрагент Перем ПодразделениеКомпании Экспорт; // подразделение компании // Функция производит запись хранения шин Функция Хранение() Экспорт Результат = Истина; ДобавлениеЗаписиВХранение(ДокументОбъект.ШинаПЛ, ДокументОбъект.ДискПЛ, ДокументОбъект.ДефектШиныПЛ, ДокументОбъект.ДефектДискаПЛ); ДобавлениеЗаписиВХранение(ДокументОбъект.ШинаЗЛ, ДокументОбъект.ДискЗЛ, ДокументОбъект.ДефектШиныЗЛ, ДокументОбъект.ДефектДискаЗЛ); ДобавлениеЗаписиВХранение(ДокументОбъект.ШинаПП, ДокументОбъект.ДискПП, ДокументОбъект.ДефектШиныПП, ДокументОбъект.ДефектДискаПП); ДобавлениеЗаписиВХранение(ДокументОбъект.ШинаЗП, ДокументОбъект.ДискЗП, ДокументОбъект.ДефектШиныЗП, ДокументОбъект.ДефектДискаЗП); Возврат Результат; КонецФункции Процедура ДобавлениеЗаписиВХранение(Шина, Диск, ДефектШины, ДефектДиска) НоваяЗапись = Добавить(); НоваяЗапись.Период = ДокументОбъект.Дата; НоваяЗапись.Регистратор = ДокументОбъект.Ссылка; НоваяЗапись.Контрагент = Контрагент; НоваяЗапись.ПодразделениеКомпании = ПодразделениеКомпании; НоваяЗапись.Контейнер = ""; НоваяЗапись.Ячейка = ""; НоваяЗапись.Шина = Шина; НоваяЗапись.Диск = Диск; НоваяЗапись.ДефектШины = ДефектШины; НоваяЗапись.ДефектДиска = ДефектДиска; НоваяЗапись.НачалоХранения = ДокументОбъект.Дата; НоваяЗапись.ОкончаниеХранения = ДобавитьМесяц(ДокументОбъект.Дата, ДокументОбъект.СрокХранения); КонецПроцедуры РС подчинен регистратору. При проведении пишет что: Запись с такими ключевыми полями уже существует! Что я сделал не правильно? |
|||
1
asady
04.04.12
✎
15:35
|
(0) объект пихаешь в РС??? - оригинально
|
|||
2
asady
04.04.12
✎
15:38
|
(1) претензия снимается - увидел что это экспортная переменная модуля НЗ
|
|||
3
asady
04.04.12
✎
15:38
|
(0) структура РС какая?
|
|||
4
espanol
04.04.12
✎
15:39
|
(3) Подчинен регистратору в пределах дня.
|
|||
5
КМ155
04.04.12
✎
15:41
|
(4) а у документа есть галка удалять движения при распроведении ?
|
|||
6
asady
04.04.12
✎
15:44
|
(4) измерения регистра хоть засвети чтоли
|
|||
7
espanol
04.04.12
✎
15:48
|
(5) стоит "Удалять автоматически".
(6) Контрагент, ПодразделениеКомпании, Контейнер, Ячейка, Шина, Диск, ДефектШины, ДефектДиска, НачалоХранения, ОкончаниеХранения. |
|||
8
asady
04.04.12
✎
15:50
|
(7) РС периодический? - периодичность какая?
|
|||
9
espanol
04.04.12
✎
15:50
|
отбор можно делать только по регистратору, т.к. РС подчинен регистратору.
|
|||
10
espanol
04.04.12
✎
15:51
|
(8) По позиции регистратора делал, в пределах дня делал...
|
|||
11
RomanYS
04.04.12
✎
15:53
|
Посмотри в отладчике содержимое набора.
Скорей всего у каких-то записей совпали измерения. |
|||
12
RomanYS
04.04.12
✎
15:56
|
+(11) Например, если
ДокументОбъект.ШинаПП = ДокументОбъект.ШинаЗП ДокументОбъект.ДискПП = ДокументОбъект.ДискЗП ДокументОбъект.ДефектШиныПП = ДокументОбъект.ДефектШиныЗП ДокументОбъект.ДефектДискаПП = ДокументОбъект.ДефектДискаЗП может быть реквизиты просто не заполнены в документе |
|||
13
espanol
04.04.12
✎
16:09
|
(11) Да, дело было в дублирующихся записях... я сделал вот так:
НоваяЗапись.ШинаПЛ = ДокументОбъект.ШинаПЛ; НоваяЗапись.ШинаЗЛ = ДокументОбъект.ШинаЗЛ; НоваяЗапись.ШинаПП = ДокументОбъект.ШинаПП; НоваяЗапись.ШинаЗП = ДокументОбъект.ШинаЗП; НоваяЗапись.ДискПЛ = ДокументОбъект.ДискПЛ; НоваяЗапись.ДискЗЛ = ДокументОбъект.ДискЗЛ; НоваяЗапись.ДискПП = ДокументОбъект.ДискПП; НоваяЗапись.ДискЗП = ДокументОбъект.ДискЗП; НоваяЗапись.ДефектШиныПЛ = ДокументОбъект.ДефектШиныПЛ; НоваяЗапись.ДефектШиныЗЛ = ДокументОбъект.ДефектШиныЗЛ; НоваяЗапись.ДефектШиныПП = ДокументОбъект.ДефектШиныПП; НоваяЗапись.ДефектШиныЗП = ДокументОбъект.ДефектШиныЗП; НоваяЗапись.ДефектДискаПЛ = ДокументОбъект.ДефектДискаПЛ; НоваяЗапись.ДефектДискаЗЛ = ДокументОбъект.ДефектДискаЗЛ; НоваяЗапись.ДефектДискаПП = ДокументОбъект.ДефектДискаПП; НоваяЗапись.ДефектДискаЗП = ДокументОбъект.ДефектДискаЗП; Ну тобишь кучу измерений создал, на сколько это оправданно делать столько измерений? по идее отчеты в разрезе этих измерений не строят, как бы вы сделали? Сделали бы их ресурсами? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |