|
Удаление записей из регистра сведений | ☑ | ||
---|---|---|---|---|
0
Ly_Alena
30.09.15
✎
07:12
|
Доброе утро!
Есть корректировка заказа поставщика. Условие такое если количество в корректировке отрицательное, то цену номенклатуры не записываем и нужно удалить ту что была в заказе поставщика. делаю так: Если Выборка.Количество < 0 Тогда НаборЗаписей = РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Период.Установить(Выборка.ДатаЗаказПоставщика); НаборЗаписей.Записать(); КонецЕсли; Выдает ошибку "Поле объекта не обнаружено (Период)" |
|||
1
jurassic
30.09.15
✎
07:14
|
это хорошо или плохо?
|
|||
2
Ly_Alena
30.09.15
✎
07:16
|
(1) Плохо ) Нужно чтоб удалил запись с датой заказ поставщика
|
|||
3
jurassic
30.09.15
✎
07:16
|
а чем цена провинилась вообще?
|
|||
4
1Сергей
30.09.15
✎
07:17
|
(2) все цены на эту дату?
|
|||
5
Ly_Alena
30.09.15
✎
07:18
|
(4) на эту дату будет только одна цена
|
|||
6
jurassic
30.09.15
✎
07:20
|
(5) ну выясни, каким документом она установлена, и распроведи
|
|||
7
Ly_Alena
30.09.15
✎
07:21
|
(6) в документе могут быть и другая номенклатура, которая в корректировке не участвует
|
|||
8
Ly_Alena
30.09.15
✎
07:22
|
(6) не проще запись удалить?
|
|||
9
jurassic
30.09.15
✎
07:23
|
(8) проще оставить цену в покое
|
|||
10
Ly_Alena
30.09.15
✎
07:24
|
Цена идет дальше в расчет, и если ее не убрать - расчет будет неверным, потому что по факту этих позиций не будет.
|
|||
11
echo77
30.09.15
✎
07:26
|
Записи в этом регистре подчинены регистратору.
По хорошему, надо из регистратора уалять |
|||
12
jurassic
30.09.15
✎
07:27
|
имхается мне, в расчёт идёт не то, что там информационно в регистре лежит, а число из конкретной корректировки
|
|||
13
Ly_Alena
30.09.15
✎
07:29
|
(12) в данном случае берется срез последних и цен номенклатуры.
|
|||
14
jurassic
30.09.15
✎
07:32
|
космическая логика. читай (6), (11), много думай
|
|||
15
AntonyFO
30.09.15
✎
07:34
|
(0)Можно сначала считать набор, потом обойти записи и ненужных отключить активность
Если Выборка.Количество < 0 Тогда НаборЗаписей = РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор); НаборЗаписей.Прочитать(); Для каждого Стр Из НаборЗаписей Цикл Если Стр.период<>НужногоПериода Тогда Стр.Активность = ложь; КонецЕсли; КонецЦикла; НаборЗаписей.Записать(); КонецЕсли; |
|||
16
jurassic
30.09.15
✎
07:51
|
и не забывать отключать обратно при перепроведении
|
|||
17
Ly_Alena
30.09.15
✎
11:38
|
(15) Кажется самое время тупых вопросов )
Стр.период<>НужногоПериода (НужногоПериода) - это дата заказа поставщика? |
|||
18
AntonyFO
01.10.15
✎
10:32
|
(17)Я может сам тупо не так тебя понял. Я просто показал как можно деактивировать записи регистра сведений без
НаборЗаписей.Отбор.Период.Установить(Выборка.ДатаЗаказПоставщика); и сам ошибся: не Стр.период <> НужногоПериода, а Стр.период = ДатаЗаказаПоставщика. |
|||
19
AntonyFO
01.10.15
✎
10:33
|
А вообще можно сделать так:
НаборЗаписей.Отбор.Регистратор.Установить(Выборка.ЗаказПоставщика); НаборЗаписей.Прочитать(); НаборЗаписей.Очистить(); НаборЗаписей.Записать() |
|||
20
rabbidX
01.10.15
✎
10:46
|
Я думаю, корректировка не должна изменять движения корректируемого документа, иначе при перепроведении будет беда. Она должна их корректировать, приводить остатки в нужное состояние.
Лучше всего изменить механизм расчета, чтоб такие цены не попадали. Можно корректировкой установить предыдущую актуальную цену, но тогда при внесении документов задним числом будут проблемы. Короче какой-то аналог сторнирования нужен. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |