новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Форум

Как получить актуальную цену?

    • #1
    • 07.08.2012 13:57
    • Отредактировано: 07.08.2012 14:00:24
    0
    Такой код:

    //*******************************************
    Процедура Сформировать()           
    	
    	Если ВыбДата = '' Тогда
    	    ВыбДата = ТекущаяДата();
    		Сообщить("Дата установлена на: " + ВыбДата);
    	ИначеЕсли ВыбДата > ТекущаяДата() Тогда
    		Предупреждение("Выбрана не актуальная дата. Выберите дату не раньше " + ТекущаяДата());
    		Возврат;
    	КонецЕсли;		
    	
    	Запрос = СоздатьОбъект("Запрос");                                   	
    	
    	ТекстЗапроса =
    	"//{{ЗАПРОС(Печать)  	
    	|Период с ВыбДата по ВыбДата;
    	|Товар		= Регистр.ОстаткиТМЦ.Номенклатура.ТекущийЭлемент;
    	|Количество = Регистр.ОстаткиТМЦ.Количество;
    	//|ЦенаПрод	= Регистр.ОстаткиТМЦ.ЦенаПрод, Регистр.ПартииОтданные.Номенклатура.МинОстаток;
    	//|Цены = Справочник.Цены.ТекущийЭлемент;       
    	|Группировка Товар;     	
    	|Группировка Количество;
    	//|Группировка ЦенаПрод;	
    	//|Группировка Цены;
    	|Функция Кол = КонОст(Количество);
    	|"//}}ЗАПРОС               
    	;
    	
    	Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    		Сообщить("Запрос вернул ошибку");
    		Возврат;
    	КонецЕсли;
    	
    	Таблица = СоздатьОбъект("Таблица");
    	Таблица.ВывестиСекцию("Шапка");	   
    
    	ДатаВыб = ВыбДата;	
    	типцен = "";
    	
    	Таблица.ВывестиСекцию("ДатаТипЦен");
    	Таблица.ВывестиСекцию("Заглавие");     		
    	
    	Пока Запрос.Группировка("Товар") = 1 Цикл        		
    		Если ((Запрос.Товар.Код = "0092") Или (Запрос.Товар.Код = "092а")) Тогда
    			группа = Запрос.Товар.Наименование;
    			Таблица.ВывестиСекцию("Группа");			
    			КонецЕсли;
    		Если ((Запрос.Товар.Родитель.Код = "0092") Или (Запрос.Товар.Родитель.Код = "092а" )) Тогда			
    			Пока Запрос.Группировка("Количество") = 1 Цикл				        				
    			    //Пока Запрос.Группировка("ЦенаПрод") = 1 Цикл					
    				    код = Запрос.Товар.Код;   					
    					наименование = Запрос.Товар.Наименование;
    					упакпо = "";               					
    					ценакг = глВернутьЦену(Запрос.Товар, ВыбТипыЦен);
    					/ценакг = Запрос.ЦенаПрод;					
    					ценаупак = Запрос.Товар.БазоваяЕдиница;
    					остатокОсн = СокрЛП(глФРМКоличество(Запрос.Количество, Запрос.Товар.ОсновнаяЕдиница));
    					остатокБаз = Запрос.Количество;
    					Таблица.ВывестиСекцию("НомТМЦ");					
    				//КонецЦикла;    
    			КонецЦикла;		    
    		КонецЕсли;		
    	КонецЦикла;
    	
    	Таблица.Показать();
    	
    КонецПроцедуры       
    
    Процедура ПриОткрытии()
    	ВыбДата = '02.08.12';
    	
    КонецПроцедуры
    
    


    Как получить актуальную цену на номенклатуру посоветуйте, это мой первый отчет в 1с, буду очень благодарен. 1с Торговля и Склад 9.2. 7.7.
    • #2
    • 07.08.2012 19:07
    • Отредактировано: 07.08.2012 19:07:31
    0
    1) что то я не вижу что передается в ВыбТипЦен в функцию глВернутьЦену?
    2) В запросе ЦенаПрод закомментирована, но если раскомментировать то в эту переменную передается и цена и минимальный остаток, ерунда какая то .
    3) Зачем группировку по количеству делать так и не понял. Если нужно что бы количество не равно 0 было, то в запросе есть "Условие"
Для участия в обсуждении Вам необходимо авторизоваться либо   зарегистрироваться