0
MatrosoV AleXXXand_R
22.11.13
✎
07:57
|
Всем добрый день. Хочу спросить по 7.7 (сам я можно сказать по большей части 8-рочник). Вопрос простой - ТиС, есть регистр там "ОстаткиТМЦ". Мне нужно получить остатки по данному регистру с отбором по фирме, складу, номенклатуре и с сортировкой по ЦенаПрод (причем, там где указано - в выборке должны идти в первую очередь, а где нет - в последнюю).
Как вариант вижу что-то следующее:
ВремРегистры = СоздатьОбъект("Регистры");
ВремОстаткиТМЦ = ВремРегистры.ОстаткиТМЦ;
ВремОстаткиТМЦ.УстановитьЗначениеФильтра("Фирма", Склад, 1);
ВремОстаткиТМЦ.УстановитьЗначениеФильтра("Склад", Склад, 1);
ВремОстаткиТМЦ.УстановитьЗначениеФильтра("Номенклатура", Номенклатура, 1);
ВремОстаткиТМЦ.ВыгрузитьИтоги(ТаблОстатков, 1, 1);
ТаблОстатков.НоваяКолонка("ЕстьЦенаПрод");
ТаблОстатков.ВыбратьСтроки();
Пока ТаблОстатков.ПолучитьСтроку() = 1 Цикл
ТаблОстатков.ЕстьЦенаПрод = ?(ПустоеЗначение(ТаблОстатков.ЦенаПрод) = 1, 0, 1);
КонецЦикла;
ТаблОстатков.Сортировать("ЕстьЦенаПрод-, ЦенаПрод+");
Вопрос - правильный ли я подход выбрал, или есть другие более разумные способы (по быстродействию)?
P. S. Этот блок будет выполняться в цикле - по табличной части документа, и потом в этом же блоке с ТаблОстатков будет идти распределение до нужного количества
|
|
4
MatrosoV AleXXXand_R
22.11.13
✎
08:01
|
(2) не совсем так ...
1) где есть цена продажи - списывается в первую очередь
2) списывается ЦенаПрод по возрастанию, то есть как-то так
Цена прод (пример) - 1, 1, 2, 2, 3, 0, 0, 0
|
|