Имя: Пароль:
1C
1C 7.7
v7: Загрузить в справочник "Цены"
,
0 MixanM
 
06.12.11
12:10
Такая трабла, т.к. Справочник "Цены" периодический, да еще и подчиненный ( Справ.Носенклатура) не могу в него загрузить корректно цену, т.е я загружаю ее из файла, а внутрь попадает толлько "Цена", хотя мне нужно еще "Валюта" ( берется из Справчоник.Валюты) и ТипЦены (Берется из сПравочника.ТипЦены) они оба никому не подчиненные. Пробовал так, но итог тот же, загружается только "Цена" :
Текст = СоздатьОбъект("Текст");        
       Попытка
           Текст.Открыть(ИмяФайла);
           Сообщить("Загружаю из файла : "+ИмяФайла);
       Исключение
           Сообщить("Файл не найден");
           Возврат;
       КонецПопытки;
           ...
       Цена = Текст.ПолучитьСтроку(11);
       Валюта = Текст.ПолучитьСтроку(12);
               ...
       СпрЦены = СоздатьОбъект("Справочник.Цены");
   СпрТипыЦен = СоздатьОбъект("Справочник.ТипыЦен");
   СпрВалюты = СоздатьОбъект("Справочник.Валюты");
//Записываем Валюта в справочник Цена
       длНаименования = Метаданные.Справочник("Валюты").ДлинаНаименования;
   ВалютаизФайла = Формат(Валюта,"С"+длНаименования);
   Если СпрВалюты.НайтиПоНаименованию(ВалютаизФайла,0,1)=0
   Тогда
       СпрВалюты.Новый();
       СпрВалюты.Наименование = ВалютаизФайла;
       СпрВалюты.Записать();
   КонецЕсли;
   //Тип  цены туда же
   длНаименования = Метаданные.Справочник("ТипыЦен").ДлинаНаименования;
   ТипЦенИзФайла = Формат(ТипЦен,"С"+длНаименования);
   Если СпрТипыЦен.НайтиПоНаименованию(ТипЦенИзФайла,0,1)=0
   Тогда
       СпрТипыЦен.Новый();
       СпрТипыЦен.Наименование = ТипЦенизФайла;
       СпрТипыЦен.Записать();
   КонецЕсли;
   // записываем в справочник "Цены"
   СпрЦены.ИспользоватьВладельца(Спр.ТекущийЭлемент());
   Если СпрЦены.НайтиПоКоду(Номер) =1 Тогда
       НайденныйКод = СпрЦены.ТекущийЭлемент(); //устанавливаем текущий элемент из Справочника Номенкалтуры        
   КонецЕсли;

   СпрЦены.Новый();
   СпрЦены.Цена = Цена;
   Попытка
       СпрЦены.ИспользоватьДату(ТекущаяДата());
       СпрЦены.Записать();
       Сообщить("Загружена Цена  :"+Цена);
   Исключение
       Предупреждение( "Не выполнено сохранение   Цены: " + ОписаниеОшибки() +
       РазделительСтрок + "Элемент не сохранен!", 60);
       Возврат;
   КонецПопытки;
1 dk
 
06.12.11
12:14
кинь элементы типа спр.типыцен и спр.валюта на форму
и не надо тогда по наименованию искать ничего
2 MixanM
 
06.12.11
12:18
Организованно немножко по другомму, у номенклатуры, есть кнопка на форме : "Справочник", при нажатии на оную, открывается меню со спискм справочников, из списка выбираешь "Цены" открывается подчиненный справочник "Цены", в котором в списке и стоит, "Цена", "ТипЦены" и "Валюта", вот тут то мне и надо установить тип цен и валюту
3 Смотрящий от 1С
 
06.12.11
12:22
СпрЦены.ИспользоватьВладельца(Спр.ТекущийЭлемент());
спр.текущийЭлемент() что за справочник?
+ записывая валюты из прайса много чуши позаписывать
4 MixanM
 
06.12.11
12:24
нет нет, это не из прайса,э то выгрузка файла из другой БД,
а Спр = СоздатьОбъект("Справочник.Номенклатура");
5 dk
 
06.12.11
12:24
валюту можно в константах поискать нужную
либо запросить у пользователя типа

СпрВал = СоздатьОбъект("Справочник.Валюты");
Если СпрВал.Выбрать("ываываыва") = 1 Тогда
   Сообщить("Выбрали: " + СпрВал.ТекущийЭлемент());
КонецЕсли;

с типом цен аналогично, ну и поиск по форуму никто не отменял
6 MixanM
 
06.12.11
12:26
Стак с поиском элементов, то все, боее-менее ясно, не ясно только как их выбрать в текущий Элемент справочника "Цены"
7 MixanM
 
09.12.11
10:50
все равно н усттанавливается, поробовал вот так, но типцены и валюта не выбираются
8 medved_kot
 
09.12.11
11:02
Вот это

...
СпрЦены.Новый();
СпрЦены.Цена = Цена;
Попытка
...

измени на

...
СпрЦены.Новый();
СпрЦены.Цена = Цена;
СпрЦены.Валюта = СпрВалюты.ТекущийЭлемент();
СпрЦены.ТипЦены = СпрТипыЦен.ТекущийЭлемент();
Попытка
...
9 MixanM
 
09.12.11
11:12
(8) Спасибо МедвеКот с меня пятилитровая полторашка пива )
10 Злопчинский
 
10.12.11
04:49
//c такими темпами меня споили бы.. ну и я споил бы тоже Епрста  например