![]() |
|
v7: Как получить остатки и измерения из регистра остатки. | ☑ | ||
---|---|---|---|---|
0
botman4
23.07.16
✎
18:48
|
Суть такая, есть регистр остатков "Остатки":
Измерения: -Номенклатура -Склад -ВсеСоВставкой -ВесВставки -ВесБезВставки -ВесПотерь Ресурсы: -Количество. хочется, знаЯ Номенклатуру и Склад получить остатки и остальные остатки по этим измерениям. Я сделал вот такой выкрутас: Рег=СоздатьОбъект("Регистр.Остатки"); Рег.УстановитьЗначениеФильтра("Номенклатура", НужноеИзделие); Рег.УстановитьЗначениеФильтра("МестоХранения", МХ); Рег.ВременныйРасчет(); Если (ТекДок.Выбран() = 1 ) И (ТекДок.ПолучитьПозицию() <= ПолучитьПозициюТА()) Тогда РассчитатьРегистрыНа(ТекДок); Иначе ПоследнийДок = ПолучитьПозициюТА(); РассчитатьРегистрыПо(ПоследнийДок); КонецЕсли; Рег.ВыбратьИтоги(); Пока Рег.ПолучитьИтог()=1 Цикл ТзОстатки.НоваяСтрока(); ТзОстатки.Изделие = НужноеИзделие; ТзОстатки.ВесСоВставкой = Рег.ВесСоВставкой; ТзОстатки.ВесВставки = Рег.ВесВставки; ТзОстатки.ВесБезВставки = Рег.ВесБезВставки; ТзОстатки.ВесПотерь = Рег.ВесПотерь; ТзОстатки.Остатки = Рег.Количество; КонецЦикла; ТзОстатки.Свернуть("1,2,3,4,5",6); ТзОстатки.ВыбратьСтроки(); // Удаляем строки в которых количество = 0 Пока ТзОстатки.ПолучитьСтроку() = 1 Цикл Пока (ТзОстатки.Остатки = 0) и (ТзОстатки.НомерСтроки <> 0) Цикл ТзОстатки.УдалитьСтроку(); КонецЦикла; КонецЦикла; По итогу я получаю нужную мне инфу, можно ли как-то сделать проще? СПАСИБО. |
|||
1
botman4
23.07.16
✎
18:49
|
Поправочка:
хочется, знаЯ Номенклатуру и Склад получить остатки и остальные измерениям. |
|||
2
Vladal
23.07.16
✎
18:51
|
Можно это сделать запросом. Правда, в 7.7 запросы работают медленно, как и выборка.
Создай конструктором запросов запрос к регистру, посмотри, что получится - меньше кода, не нужно будет проверять на нулевой остаток - все данные готовы и красивы. |
|||
3
Злопчинский
23.07.16
✎
22:26
|
Нельзя так удалять строки как в примере
Баянище страшный Задумайся о чайник бесстрашный какой строкой станет строка после удаления текущей и что будет с этой строкой после получитьстроку по циклу |
|||
4
vcv
24.07.16
✎
09:04
|
Короче будет не цикл с ВыбратьИтоги и ПолучитьИтог, а одна строчка ВыгрузитьИтоги.
|
|||
5
impulse9
24.07.16
✎
09:12
|
(0) цикл с удалением строк по условию надо делать С КОНЦА
|
|||
6
botman4
24.07.16
✎
09:15
|
(4) Точняк, спасибо.
|
|||
7
Это_mike
24.07.16
✎
11:36
|
(2) запрос делает примерно то же самое, что и расчет итогов на какой-то момент.
(6) читай СП, и тебе воздастся... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |