Имя: Пароль:
1C
1C 7.7
v7: Выгрузка в txt (не выгружается цена)
0 msk-07
 
06.09.13
22:30
Подскажите пожалуйста почему не выгружается цена? Пишет, что НеизвестныйОбъект..


Процедура Сформировать()
Текст = СоздатьОбъект("Текст");
спрНоменк = СоздатьОбъект("Справочник.Номенклатура");
спрЦени = СоздатьОбъект("Справочник.Цены");
спрНоменк.ВыбратьЭлементы();
Пока спрНоменк.ПолучитьЭлемент() = 1 Цикл
Если спрНоменк.ЭтоГруппа() = 1 Тогда
Продолжить;
ИначеЕсли спрНоменк.ПометкаУдаления() = 1 Тогда
Продолжить;
ИначеЕсли ПустоеЗначение(спрНоменк.Наименование) = 1 Тогда
Продолжить;
КонецЕсли;

Стр = СокрЛП(спрНоменк.Наименование);
спрЦени.использоватьродителя(спрНоменк.Текущийэлемент());
спрЦени.ВыбратьЭлементы();
пока спрЦени.ПолучитьЭлемент() = 1 Цикл
Цена = спрЦени.цена.получить();
конеццикла;
Стр1 = СокрЛП(спрЦени.Цена);



Текст.ДобавитьСтроку(Стр);


Текст.ДобавитьСтроку(Стр1);
КонецЦикла;
Текст.Записать("Е:\выгрузка.txt");
КонецПроцедуры
1 Чайник Рассела
 
06.09.13
22:30
все неправильно!
2 Чайник Рассела
 
06.09.13
22:31
фуф..чуть не ослеп, братцы.
3 msk-07
 
06.09.13
22:32
(2) Не спамь пожалуйста, мне совет нужен, а не треп. Спасибо за понимание.
4 Чайник Рассела
 
06.09.13
22:33
(3) мой тебе совет, бросай 1с пока не поздно.
5 DGorgoN
 
06.09.13
22:37
(3) Мы не спамим - не правильно абсолютно все.
6 msk-07
 
06.09.13
22:38
(5) Но так почему? Выгружается же наименование номенклатуры. Только не пойму почему цена не выгружается.
7 ДенисЧ
 
06.09.13
22:38
сделайте мне развидеть это...
8 Злопчинский
 
06.09.13
22:39
спрЦени.использоватьродителя
.
спрЦены.ИспользоватьВладельца(текНоменклатура)
9 Чайник Рассела
 
06.09.13
22:39
(6) то ли фокус, то ли чудо!
10 DGorgoN
 
06.09.13
22:42
Стр1 = СокрЛП(Цена); -ну вот подсказка
11 Злопчинский
 
06.09.13
22:44
спрЦеныюИспользоватьДату(ТекущаяДата());
12 Чайник Рассела
 
06.09.13
22:45
Компьютер, убери две неверных строки кода.
13 Злопчинский
 
06.09.13
22:47
Компьютер, формат цэ энтэр!
14 msk-07
 
06.09.13
22:55
(10) действительно на автомате скопировал строчку, но все равно цену не показывает, теперь пустое значение ..
15 v4442
 
06.09.13
23:11
кури периодический реквизит
16 DGorgoN
 
06.09.13
23:14
(14) теперь разбирайся
пока спрЦени.ПолучитьЭлемент() = 1 Цикл
Цена = спрЦени.цена.получить();
конеццикла;
17 msk-07
 
06.09.13
23:25
пока спрЦени.ПолучитьЭлемент() = 1 Цикл
Цена = спрЦени.цена.получить(ТекущаяДата());
конеццикла;
18 msk-07
 
06.09.13
23:28
и все равно цена пустая :(, прям ужас какой-то
19 DGorgoN
 
07.09.13
00:07
пока спрЦени.ПолучитьЭлемент() = 1 Цикл
Цена = спрЦени.цена.получить(ТекущаяДата());
сообщить(Цена);
конеццикла;
Сообщить("=======");

сделай
20 msk-07
 
07.09.13
00:13
(19) Спасибо! Все получилось! А не подскажите еще один момент. Буду очень признателен. Теперь я этот файл получившийся загружаю в другую базу чтобы по наименованию проверить тали цена или нет...делаю вот такую обработку

Процедура Сформировать()

fso=СоздатьОбъект("Scripting.FileSystemObject");
file=fso.OpenTextFile("D:\номенклатура.txt", 1, 0, 0); //Открываем файл в режиме "только чтение"
спрНоменк = СоздатьОбъект("Справочник.Номенклатура");  
спрЦени = СоздатьОбъект("Справочник.Цены");
Пока file.AtEndOfStream=0 Цикл
стр=file.ReadLine();
стр1=file.ReadLine();

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

Если (спрНоменк.НайтиПоНаименованию(стр) = 1) и (Цена.ТекущийЭлемент(Стр1)=1) Тогда

//    Сообщить ("Дубликат: " + стр+стр1);

Иначе

Сообщить ("Дубликат: " + стр+" "+стр1);

КонецЕсли;

КонецЦикла;
file.Close();


КонецПроцедуры
21 msk-07
 
07.09.13
00:14
У меня вопрос, как лучше выгрузить в файл, чтобы потом цену и номенклатуру сравнить с другой базой?
22 Злопчинский
 
07.09.13
00:29
Цена.ТекущийЭлемент(Стр1)
это что за бред
23 msk-07
 
07.09.13
00:31
:(
24 DGorgoN
 
07.09.13
00:42
(21) за это люди большие деньги получают.
25 VladZ
 
07.09.13
06:47
(21) Выгрузить можно в любом виде. Проблема у тебя будет не в этом.
26 ДенисЧ
 
07.09.13
06:54
(24) А где те люди, которые за это платят? Покажите мне х!!!
28 Rie
 
07.09.13
09:01
(24) Ты имеешь в виду тех, которые не подсказывают д...м на форумах, как им сделать очевидное?.. :-)
29 msk-07
 
07.09.13
15:13
Еще можно вопрос....Не покажите, как конкретный тип указать, чтобы выгружался.? Буду очень признателен. Тип мне нужен Роздничный

То есть как цене передать конкретное значение?

пока спрЦени.ПолучитьЭлемент() = 1 Цикл
Цена = спрЦени.цена.получить(ТекущаяДата());
сообщить(Цена);
конеццикла;
30 borozavr
 
07.09.13
19:13
ТипыЦен=СоздатьОбъект("Справочник.ТипыЦен");
ТипыЦен.НайтиПоНаименованию("Розничные",0,1);
РозничныйТип=ТипыЦен.ТекущийЭлемент();
пока спрЦени.ПолучитьЭлемент() = 1 Цикл
Если  спрЦени.ТипЦены=РозничныйТип Тогда
Цена = спрЦени.цена.получить(ТекущаяДата());
сообщить(Цена);
КонецЕсли;
конеццикла;
31 kompdisk
 
07.09.13
19:50
(30) дятлы!
РозничныйТип = Константа.РозничныйТипЦен;