Имя: Пароль:
1C
 
Вывод остатков в ТЧ документа
0 John83
 
12.09.14
15:37
УТ 10.3
Предположим в заказе в ПриПолученииДанных хочу вывести построчно, сколько товара уже было продано.
НО бывает, что в заказе две позиции с одинаковыми хар-ми и ценами - как тут быть?
Даже в ПриВыводеСтроки такое не запихнуть.

МассивСсылок = Новый Массив;
СоответствиеОформлений = Новый Соответствие;

Для Каждого ОфомрлениеСтроки Из ОформленияСтрок Цикл        
    Если НЕ ЗначениеЗаполнено(ОфомрлениеСтроки.ДанныеСтроки.ХарактеристикаНоменклатуры) Тогда
        Продолжить;
    КонецЕсли;
    СоответствиеОформлений.Вставить(ОфомрлениеСтроки.ДанныеСтроки.ХарактеристикаНоменклатуры, ОфомрлениеСтроки);
    МассивСсылок.Добавить(ОфомрлениеСтроки.ДанныеСтроки.ХарактеристикаНоменклатуры);        
КонецЦикла;

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|    ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры,
|    ЗаказыПокупателейОстатки.КоличествоОстаток
|ИЗ
|    РегистрНакопления.ЗаказыПокупателей.Остатки(
|            ,
|            ЗаказПокупателя = &ЗаказПокупателя
|                И ХарактеристикаНоменклатуры В (&ХарактеристикаНоменклатуры)) КАК ЗаказыПокупателейОстатки";
Запрос.УстановитьПараметр("ЗаказПокупателя", Ссылка);
Запрос.УстановитьПараметр("ХарактеристикаНоменклатуры", МассивСсылок);    
Результат = Запрос.Выполнить();

Если НЕ Результат.Пустой() Тогда
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
        ОформлениеСтроки = СоответствиеОформлений.Получить(Выборка.ХарактеристикаНоменклатуры);
        Если ОформлениеСтроки <> Неопределено Тогда
            ОформлениеСтроки.Ячейки.НеОтгружено.Значение = Выборка.КоличествоОстаток;
        КонецЕсли;
    КонецЦикла;
КонецЕсли;
1 FN
 
12.09.14
15:40
Если в документе две одинаковые позиции то что должно выводится напротив первой, а что напротив второй?
2 John83
 
12.09.14
15:45
(1) нужно посчитать, сколько по первой позиции списалось, а затем остаток по второй
3 John83
 
12.09.14
15:45
+2 типа списания по фифо
4 John83
 
12.09.14
15:46
есть мысль сделать регистр, в котором будет измерение с номером строки и при проведении реализации писать туда данные, но хотелось бы без этого..
5 FN
 
12.09.14
15:51
(2) ну попробуй использовать кешурующую ТЗ.
То есть получаешь данные в ТЗ, при выводе строк берешь данные из этой ТЗ + пишешь в нее же что уже продано по такйо характеристике стока-то в этом же документе.
Могут быть глюки при смене сортировки строк.
6 Зеленый пень
 
12.09.14
15:55
(2) А стоит ли так усложнять? Забить и простить.
7 John83
 
12.09.14
15:57
(6) ну некуда людям деньги девать, а так просто не отдают
а ты говоришь забить :)
8 John83
 
12.09.14
15:57
(5) в принципе интересная мысль - надо обмозговать
спс
9 Maniac
 
12.09.14
15:57
(0) а зачем это делать прямо в документе? Это же крайне неудобно. там куча левых данных. ставки НДС и прочая шняга. А потом еще захотят остатки по складам и так далее.
Вообще получится фиг знает что
10 Maniac
 
12.09.14
15:59
Не проще ли сделать обработку табличных частей. И это не повлечт даже изменений конфы. и тормозов в документе.


Надимают кнопку если надо. Там форма с ТЗ куда свернуто товары с характеристиками и там какие хоч остатки и данные навешивай.
Зато красивое решение.
11 John83
 
12.09.14
16:00
(10) ну это ж нажимать надо :)
на самом деле это нетиповой документ - резать можно и вдоль и поперек
12 Maniac
 
12.09.14
16:02
Вот у меня как выглядит монитор (не журнал) активных заказов

http://clip2net.com/s/iTMdgm

Внизу ТЗ с полной инфо по заказу. там и остатки по складу, по всем складам и тп.
Если надо можно еще расшифровку по складам.
13 Maniac
 
12.09.14
16:04
(11) ну тебе виднее. Но если задача серъезная у пользователя, то может ему нужно гораздо больше.
Сейчас попросит остатки (типа на проверку сложно или нет)
Сделаешь - он поймет что можно многое.
И как начнет - а тперь еще так и сяк и третье десятое.
14 John83
 
12.09.14
16:06
(13) с ним работаю давно и знаю, что такого не попросит
PS но знает, что можно многое и многое просит :)