Имя: Пароль:
1C
1C 7.7
v7: Цены в текстовый файл
0 payman25
 
09.03.13
19:42
Доброго времени суток!

Хочется вытащить всю номенклатуру в текстовый файл в таком виде:
- Код
- Наименование
и для каждого товара все его цены:
- Категория цены
- Цена

Попробовал сделать вот такую обработку

Т = СоздатьОбъект("Текст");
Спр= СоздатьОбъект("Справочник.Номенклатура");
Спр2= СоздатьОбъект("Справочник.Цены");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл
    Т.ДобавитьСтроку(Спр.Код);
    Т.ДобавитьСтроку(Спр.Наименование);
    Спр2.ВыбратьЭлементы();
    Пока Спр2.ПолучитьЭлемент() = 1 Цикл
    Т.ДобавитьСтроку(Спр2.КатегорияЦены);
    Т.ДобавитьСтроку(Спр2.Цена);
    КонецЦикла;
КонецЦикла;
Т.Записать("D:\1234");

Но вытаскивается в файл только Код и Наименование товара

Подскажите, плиз, где ошибка? Понимаю, что надо объявить подчиненность , но не знаю как (
1 Злопчинский
 
09.03.13
19:45
Спр2.ИспользоватьВладельца(Спр.ТекущийЭлемент())
2 Злопчинский
 
09.03.13
19:46
ну и открой для себя универсальную печать справочников - там может быть нужное безо всякого колинга.
3 floody
 
09.03.13
19:49
цена точно не периодическая?
4 payman25
 
09.03.13
19:53
Спасибо, помогло.
Но к сожалению лишь наполовину

Вот такая процедура:
Т = СоздатьОбъект("Текст");
Спр= СоздатьОбъект("Справочник.Номенклатура");
Спр2= СоздатьОбъект("Справочник.Цены");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл
    Т.ДобавитьСтроку(Спр.Код);
    Т.ДобавитьСтроку(Спр.Наименование);
    Спр2.ИспользоватьВладельца(Спр.ТекущийЭлемент());
    Спр2.ВыбратьЭлементы();
    Пока Спр2.ПолучитьЭлемент() = 1 Цикл
     Т.ДобавитьСтроку(Спр2.КатегорияЦены);
        Т.ДобавитьСтроку(Спр2.Цена);
    КонецЦикла;
КонецЦикла;
Т.Записать("D:\1234");

теперь еще вытаскивается код КатегорииЦены

Но не вытаскивается сама цена (
5 Paul_Nevada
 
09.03.13
19:57
(2) не поможет нифига - проверил.
6 MKMK
 
09.03.13
20:00
(0)прайс типовой посмотри
7 Paul_Nevada
 
09.03.13
20:07
Т=СоздатьОбъект("Текст");
   Спр=СоздатьОбъект("Справочник.Номенклатура");
   Спр2=СоздатьОбъект("Справочник.Цены");
   Спр.ВыбратьЭлементы(0);
   Пока Спр.ПолучитьЭлемент()=1 Цикл
       Состояние(Спр.Наименование);
       Если Спр.ЭтоГруппа()=1 Тогда
           Продолжить;
       КонецЕсли;
       Т.ДобавитьСтроку(Спр.Код);
       Т.ДобавитьСтроку(Спр.Наименование);
       Спр2.ИспользоватьВладельца(Спр.ТекущийЭлемент());
       Спр2.ВыбратьЭлементы();
       Пока Спр2.ПолучитьЭлемент()=1 Цикл
           Т.ДобавитьСтроку(Спр2.КатегорияЦены);
           Т.ДобавитьСтроку(Спр2.Цена.Получить(РабочаяДата()));
       КонецЦикла;
   КонецЦикла;
   Т.Записать("D:\1234.txt");
8 payman25
 
09.03.13
20:40
(7) Спасибо, работает!!!
9 Paul_Nevada
 
09.03.13
21:02
(8) пожалуйста!
10 Oleg_Kag
 
09.03.13
21:37
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший