Имя: Пароль:
1C
1C 7.7
v7: Выгрузка цен номенклатуры
0 popoff17
 
17.09.13
21:39
Доброго времени суток!
Прошу помощи в получении текущих цен номенклатуры. Ситуация такова:
Есть база v7 Типовая конфигурация "торговля и склад" редакции 9.2
мне необходимо выгрузить из базы всю номенклатуру и ее цены - розничную и оптовую.

Есть такой код:

Номенклатура = СоздатьОбъект("Справочник.Номенклатура");
ЦеныТовара = СоздатьОбъект("Справочник.Цены");
Номенклатура.ВыбратьЭлементы();

Пока Номенклатура.ПолучитьЭлемент() = 1 Цикл
Если Номенклатура.ЭтоГруппа() = 1 Тогда
Иначе

//ЦеныТовара.ВыбратьЭлементы(Номенклатура.ТекущийЭлемент());
//Пока ЦеныТовара.ПолучитьЭлемент() >0 Цикл
//    Если ЦеныТовара.КатегорияЦены.Наименование = "Оптовые" Тогда
//        ЦенаОпт=ЦеныТовара.Цена.Получить(ТекущаяДата());
//    Иначе Если ЦеныТовара.КатегорияЦены.Наименование = "Розничные" Тогда
//        ЦенаРозн=ЦеныТовара.Цена.Получить(ТекущаяДата());
//    КонецЕсли;
//    КонецЕсли;
//КонецЦикла;
    
сообщить (Номенклатура.Наименование);
    
КонецЕсли;
КонецЦикла;


тут выводится вся номенклатура из справочника. А в закомменченном куске кода по сути должна получаться цена текущей номенклатуры, но не работает.
Не могли бы вы меня поправить? Нужно получить на вывод текущую оптовую и розничную цены номенклатуры.

Заранее спасибо!
1 КонецЦикла
 
17.09.13
21:44
глПолучитьЦену... и ей подобные, уже все написано
Смотри как получаются цены в подборе и проч.
2 KUBIK
 
17.09.13
21:47
код в паровоз
(1) +1
3 popoff17
 
17.09.13
22:13
Ребят, я вас, если честно, не понял. я с 1с только с 8 работал и это было год назад(( Можно как то "для особо одаренных" объяснить?)
4 popoff17
 
17.09.13
22:33
если раскомментить код то идет ошибка в этой строке:
    Если ЦеныТовара.КатегорияЦены.Наименование = "Оптовые" Тогда

Поле агрегатного объекта не обнаружено (КатегорияЦены)
Что это значит?
5 KUBIK
 
17.09.13
22:37
(4) открой ГМ ТиС и найди глПолучитьЦену = посмотри как это делается
6 DGorgoN
 
17.09.13
22:38
ЦеныТовара.ИспользоватьВладельца(Номенклатура.ТекущийЭлемент());
ЦеныТовара.ВыбратьЭлементы(Номенклатура.ТекущийЭлемент());

Пока ЦеныТовара.ПолучитьЭлемент() >0 Цикл

Если ЦеныТовара.ТипЦен.Наименование = "Оптовые" Тогда

***
7 DGorgoN
 
17.09.13
22:39
Но я бы на форме создал 2 реквизита для выбора ТипаЦен - так правильнее будет
8 KUBIK
 
17.09.13
22:39
(6) Если СокрЛП(ЦеныТовара.ТипЦен.Наименование) = "Оптовые" Тогда
9 DGorgoN
 
17.09.13
23:08
(8) см (7)
10 popoff17
 
17.09.13
23:15
(9) сделал как вы написали:

ЦеныТовара.ИспользоватьВладельца(Номенклатура.ТекущийЭлемент());
ЦеныТовара.ВыбратьЭлементы(Номенклатура.ТекущийЭлемент());
Пока ЦеныТовара.ПолучитьЭлемент() >0 Цикл
    
    Если ЦеныТовара.ТипЦен.Наименование = "Оптовые" Тогда
       ЦенаОпт=ЦеныТовара.Цена.Получить(ТекущаяДата());
    КонецЕсли;
КонецЦикла;


Сообщить (ЦенаОпт);

Выводится одно и то же число почему-то...
11 Злопчинский
 
18.09.13
02:44
не трахай мозг - воспользуйся типовым отчетом
Меню-Справочники-Цены и налоги-ФормированиеПрайс-листа - выбери галочками нужные типы цени укажи что формировать по все йноменклатуре без учета остатков... сформируй прайс.
сохрани его в эксель.
все.
12 KRV
 
18.09.13
06:29
(11) Некрасиво как-то будет.. не по-адинассниковски..