Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 06:11

Как выбрать товары из номенклатуры с их ценами?

Автор mark2011, 29 июн 2011, 11:36

0 Пользователей и 1 гость просматривают эту тему.

mark2011

Добрый день!

Аналогичная тема есть, но на запросы. Мне нужно немножко другое, сейчас поясню.

Есть справочник "Номенклатура". Там прайс-лист. Если выбрать любой товар (просто выбрать мышкой) и дать команду "Справочники - Цены" то будет показана оптовая и розничная цена для данного товара.

На данный момент есть следующий рабочий код:


Процедура Выбрать_Файл()

ИмяФайла = "";
ВФ = "";
ИмяКаталога = "";
ЗаголовокОкна = "Выберите файл для экспорта";
РасширениеФайла = "xml";

Если (ФС.ВыбратьФайл(0, ИмяФайла, ИмяКаталога, ЗаголовокОкна, "Текст(*.xml)|*.xml", РасширениеФайла)=1) Тогда
Форма.ВФ.Текст = ИмяКаталога + ИмяФайла;
КонецЕсли

КонецПроцедуры


Процедура Сформировать()
Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "v7plus.dll") <> 1 Тогда
        Если ЗагрузитьВнешнююКомпоненту(КаталогПрограммы() + "v7plus.dll") <> 1 Тогда
            Предупреждение("Компонента v7plus.dll не найдена!");
        КонецЕсли;
    КонецЕсли;

ФайлХМЛ = СоздатьОбъект("AddIn.XMLParser");
Корень =ФайлХМЛ.СоздатьДокумент();
    Данные =Корень.СоздатьПодчиненныйЭлемент("root");
    ТОПИК= Данные.СоздатьПодчиненныйЭлемент("Topic");
   СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура");
   СпрНоменклатура.ВыбратьЭлементы();       
   
    Пока СпрНоменклатура.ПолучитьЭлемент() = 1 Цикл
      Номенкл = ТОПИК.СоздатьПодчиненныйЭлемент("Nomenkl");
  ЭлементКод =    Номенкл.СоздатьПодчиненныйЭлемент("ELEMID");
РодитКод            =    Номенкл.СоздатьПодчиненныйЭлемент("RODITKOD");
АртикулНазв = Номенкл.СоздатьПодчиненныйЭлемент("ARTICUL");   
МинОстаток = Номенкл.СоздатьПодчиненныйЭлемент("MIN_OST"); 
Описание = Номенкл.СоздатьПодчиненныйЭлемент("DESCR");
Уровень = Номенкл.СоздатьПодчиненныйЭлемент("LEVEL");
РодНаим        =    СпрНоменклатура.ТекущийЭлемент().Родитель;
// НаименРод = Роднаим.Наименование;
КодРод          = Роднаим.Код;                                   
ЭлементКод.Значение = СпрНоменклатура.ТекущийЭлемент().Код;       
АртикулНазв.Значение  =   ?(ПустоеЗначение(СпрНоменклатура.ТекущийЭлемент().Артикул)=1,0,СпрНоменклатура.ТекущийЭлемент().Артикул);
// РодитИм.Значение    =    ?(ПустоеЗначение(НаименРод)=1,0,НаименРод);
РодитКод.Значение   =    ?(ПустоеЗначение(КодРод)=1,0,КодРод);     
МинОстаток.Значение =    ?(ПустоеЗначение(СпрНоменклатура.ТекущийЭлемент().МинОстаток)=1,0,СпрНоменклатура.ТекущийЭлемент().МинОстаток);
            ИМЯ1              =    Номенкл.СоздатьПодчиненныйЭлемент("NAME");   
            ИМЯ1.Значение     =    СпрНоменклатура.ТекущийЭлемент().Наименование;   
Символ   =   Найти(ИМЯ1.Значение, "*");
               
                Сообщить(СпрНоменклатура.ТекущийЭлемент().Комментарий);
   
Если РодитКод.Значение = "0" Тогда
       Уровень.Значение = 1;   
ИначеЕсли Символ = 1 Тогда
    Уровень.Значение = 2;
Иначе 
    Уровень.Значение = 3;
КонецЕсли;   
КонецЦикла;
ИмяФайла    = "report.xml";
        ПапкаФайла  = "C:\REPORT\";
        Корень.Записать(ПапкаФайла+ИмяФайла);

КонецПроцедуры


Сюда надо как-то добавить выборку по ценам таким образом, чтобы в каждом товаре была показана только его оптовая и розничная цена.

Приведу пример структуры файла XML который сейчас есть.


<Nomenkl>
<ELEMID>00000090</ELEMID>
<RODITKOD>0</RODITKOD>
<ARTICUL>0</ARTICUL>
<MIN_OST>0</MIN_OST>
<LEVEL>1</LEVEL>
<NAME>DVD</NAME>
</Nomenkl>


Требуется что-то такое:

<Nomenkl>
<ELEMID>00000090</ELEMID>
<RODITKOD>0</RODITKOD>
<ARTICUL>0</ARTICUL>
<MIN_OST>0</MIN_OST>
<LEVEL>1</LEVEL>
<NAME>DVD</NAME>
<OPTPRICE>здесь цена оптом</OPTPRICE>
<ROZNPRICE>здесь цена в розницу</ROZNPRICE>
</Nomenkl>


Вроде понятно выразился... Всем спасибо за помощь :)

mark2011

Упс, я дико извиняюсь, не в ту тему написал. Модераторы, перенесите пожалуйста в 1с 7.7, я не специально  :nhsrm: если здесь кто-нибудь ответит, моя особая благодарность ))

Ещё раз: версия 1С Предприятие 7.7

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск