Имя: Пароль:
1C
1C 7.7
v7: Получить значение Цены
,
0 MixanM
 
05.12.11
10:52
Добрый день, у менят акая трабла, пытаюсь выгрузить в файл номенклатуру и цену, номенкалтару, код и ШХ выгружает нормально, а вот цену из подчиненного справончика цен, он прсто не берет
1 ДенисЧ
 
05.12.11
10:53
Код не вижу, но у тебя в 415й строке ошибка...
2 MixanM
 
05.12.11
10:54
ха, телепаты в отпуске? ))
вот код :
   СпрЦены = СоздатьОбъект("Справочник.Цены");
       СпрНоменкл = СоздатьОбъект("Справочник.Номенклатура");
       Цены = СоздатьОбъект("Периодический");
       //СпрНоменкл.НайтиПоНаименованию(Наименование);
       Если СпрНоменкл.НайтиПоНаименованию(Наименование) =1  Тогда
           Сообщить("Наименование :"+Наименование);
       Иначе
           Сообщить("Наименование не найдено");
       КонецЕсли;
       СпрЦены.ИспользоватьВладельца(СпрНоменкл.ТекущийЭлемент());
       СпрЦены.ВыбратьЭлементы();
       Пока СпрЦены.ПолучитьЭлемент() = 1 Цикл
           Цены.ИспользоватьОбъект("Цена",СпрЦены.ТекущийЭлемент());
           Цены.ВыбратьЗначения();
           Пока Цены.ПолучитьЗначение() = 1 Цикл
               Сообщить(Цены.Значение);
           КонецЦикла;
           //Цена = глПолучитьЦену(СпрНоменкл.ТекущийЭлемент(), СпрЦены.ТипЦен, ТекущаяДата());
           //Сообщить("Выбран Элемент Справочника :"+Цены);
       КонецЦикла;
3 floody
 
05.12.11
10:54
Если в коде так же по 3 ошибки в одном слове, как здесь: "номенкалтару"
То тогда вполне может и не брать цену.
4 Ёпрст
 
05.12.11
10:55
(0)
глВернутьЦену
глПолучитьЦену

наслаждайся
5 floody
 
05.12.11
10:55
Цена возможно периодический реквизит?
глПолучитьЦену - правильный путь имхо.
6 MixanM
 
05.12.11
10:56
а как правильно оформить? глПолучитьЦену(<Здесь переменаая ??>)
7 floody
 
05.12.11
10:57
//******************************************************************************
// глПолучитьЦену(Номенклатура, Тип, НаДату, Единица, Валюта)
//
// Параметры:
//  Номенклатура    - элемент справочника Номенклатура.
//  Тип                - элемент справочника ТипыЦен
//  НаДату            - дата, на которую берется цена
//  Единица            - элемент справочника Единицы
//  Валюта            - элемент справочника Валюты
//  Курс            - курс или дата курса
//
// Возвращаемое значение:
//  цену номенклатуры
//
// Описание:
//  Функция возвращает цену номенклатуры в указанном типе цен Тип, на дату НаДату,
//  за единицу измерения Единица, пересчитанную в валюту Валюта по курсу Курс
8 floody
 
05.12.11
10:57
Хотя кто знает, какая у тебя конфа..
9 MixanM
 
05.12.11
11:05
Конфа 7.7, это я нашел в главном модуле, написал так :
10 MixanM
 
05.12.11
11:06
СпрТипЦен = СоздатьОбъект("Справочник.ТипыЦен");
       СпрЦены = СоздатьОбъект("Справочник.Цены");
       СпрНоменкл = СоздатьОбъект("Справочник.Номенклатура");
       Цены = СоздатьОбъект("Периодический");
       Если СпрНоменкл.НайтиПоНаименованию(Наименование) =1  Тогда
           Сообщить("Наименование :"+Наименование);
       Иначе
           Сообщить("Наименование не найдено");
       КонецЕсли;
       СпрЦены.ИспользоватьВладельца(СпрНоменкл.ТекущийЭлемент());
       СпрЦены.ВыбратьЭлементы();

       Цена = глПолучитьЦену(СпрНоменкл.ТекущийЭлемент(), СпрТипЦен.ТекущийЭлемент(), ТекущаяДата());
                   
       Сообщить("Элемент справочника Цены :"+Цена);
11 MixanM
 
05.12.11
11:06
Но ""Элемент справочника Цены :"+Цена" соббщает Элемент справочника Цены : 0, хотя цена выбрана 111, и розничная
12 Ёпрст
 
05.12.11
11:15
(10) а головой подумать ?
Тип цен не выбран ни разу.
13 MixanM
 
05.12.11
11:28
Сделал так, только он у меня 1 цену возвращает, возможен ли вариант возврата и цены, и валюты, и типа цен ?

СпрТипЦен = СоздатьОбъект("Справочник.ТипыЦен");
       СпрЦены = СоздатьОбъект("Справочник.Цены");
       СпрНоменкл = СоздатьОбъект("Справочник.Номенклатура");
       
       
       Если СпрНоменкл.НайтиПоНаименованию(Наименование) =1  Тогда
           Сообщить("Наименование :"+Наименование);
       Иначе
           Сообщить("Наименование не найдено");
       КонецЕсли;
       СпрЦены.ИспользоватьВладельца(СпрНоменкл.ТекущийЭлемент());
       СпрЦены.ВыбратьЭлементы();
       Пока СпрЦены.ПолучитьЭлемент() = 1 Цикл
             СпрТипЦен.ВыбратьЭлементы();
             Пока СпрТипЦен.ПолучитьЭлемент() =1 Цикл
                 Цена = глПолучитьЦену(СпрНоменкл.ТекущийЭлемент(), СпрТипЦен.ТекущийЭлемент(), ТекущаяДата());
               ТипЦены =
             КонецЦикла;
           
       КонецЦикла;
14 MixanM
 
05.12.11
11:45
А все, пардон , нашел как, всем спасибо
15 Ёпрст
 
05.12.11
11:53
СпрЦены.ИспользоватьВладельца(СпрНоменкл.ТекущийЭлемент());
       СпрЦены.ВыбратьЭлементы();
       Пока СпрЦены.ПолучитьЭлемент() = 1 Цикл

вот этот бред выкини, и обход справочника ТипЦен тоже.