Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 1C: Предприятие, SAP, ERP и учётные системы > Загрузка


Автор: bucdapuswert 2.8.2007, 12:42
Делаю загрузку данных из внешнего файла, и кое что не получается может кто подскажет.
Код,наименование(СпрНоменклатура),единицы изм(классификатор единиц),страну(классификатор стран),Customs(ГТД) загружает в справочники 1с,но не получается загрузка цен
в справочники ТИПЫ цен и Цены.а также загрузка ед.измерения в спр.Единицы и занос единиц в спрНоменклатура.БазоваяЕдиница.

Помогите пожалуйста!! кто может.
загрузка из файла out06.dbf будет тема ниже Админы помогите там и будет файл 

вот мой внешний отчет:
11.ert

Автор: SaschaL 2.8.2007, 19:19
Добрый вечер!
Сразу вопрос выгрузка проводится одновременно в несколько файлов?
На сколько я помню 1С 7.7 может вызружать данные одновременно в один файл, все остальные в этом момент должны быть закрыты.
второй вопрос, Реквизиты которые у вас не выгружаются случано не имеют тип "Периодический", если так то для получения переиодических реквизитов используестя метод получить()
Пример:
Цитата

Цена Спр.ЦенаТовара.Получить(ТекущаяДата());

где Цена - это получаемое значение цены из справочника

Автор: Zero 2.8.2007, 19:28
Цитата(bucdapuswert @  2.8.2007,  12:42 Найти цитируемый пост)
не получается загрузка цен
в справочники ТИПЫ цен и Цены.а также загрузка ед.измерения в спр.Единицы и занос единиц в спрНоменклатура.БазоваяЕдиница.

Попробуй изложить свою проблему на маленьком примерчике, чтобы в нём небыло никаких лишних строк, в которых ты сам уже разобрался.
Пересматривать и разбирать весь твой исходник с парой сотен кривонаписаных строк, не у кого желания невозникнет.
А по поводу проблемы, одним из предполагаемых мной вариантов, возможно ты цены пытаешься загружать из справочников как обычные реквизиты. Но имей ввиду, цена а ткже единицы являются периодическими реквизитами и у них испольуються другие методы работы с ними.

Автор: bucdapuswert 3.8.2007, 10:20
ZERO. Понимаешь у меня в справочник ОКЕИ единицы грузятся. но проблема в том что они не заносятся в номенклатуру, т.к мне нужно сначала как то занести их в Справочник Единицы, а потом из этого справочника выбрать текущую единицу.
а загрузка ведется от сюда:

Автор: Zero 3.8.2007, 21:59
Вот те кусок обработки которую я писал и пользуюсь, при приходовании товара:
Код

//Добавление единиц измерения в справочник "Единицы измерения"
Е.ИспользоватьВладельца(Ном.ТекущийЭлемент());
Е.Новый();
ОКЕИ.ВыбратьЭлементы();
Пока ОКЕИ.ПолучитьЭлемент()=1 Цикл
    Если СокрЛП(Строка(ОКЕИ.ТекущийЭлемент()))="шт" Тогда
     Е.ОКЕИ = ОКЕИ.ТекущийЭлемент();
        Е.Коэффициент = 1;      
        Прервать;
    КонецЕсли;
КонецЦикла;
Е.Записать();

//Заполнение базовой единицы измерения
Ном.БазоваяЕдиница = Е.ТекущийЭлемент();
Ном.ОсновнаяЕдиница = Е.ТекущийЭлемент();
Ном.Записать();

//Заполнение справочника "Цены" 
Ц.ИспользоватьВладельца(Ном.ТекущийЭлемент());
ТипЦен.ВыбратьЭлементы();
Пока ТипЦен.ПолучитьЭлемент()=1 Цикл 
    Если Строка(ТипЦен)="Закупочные" Тогда
        Ц.Новый();
        Ц.ТипЦен = ТипЦен.ТекущийЭлемент();   
        Ц.Валюта = Константа.ВалютаУпрУчета;
        Ц.Записать();
        Ц.Цена.Установить(НачНедели(РабочаяДата()),ЦенаЗак);
        Ц.Единица.Установить(НачНедели(РабочаяДата()),Ном.БазоваяЕдиница);
        Ц.Записать();
    КонецЕсли;
    Если Строка(ТипЦен)="ОПТОВАЯ" Тогда
        Ц.Новый();
        Ц.ТипЦен = ТипЦен.ТекущийЭлемент();   
        Ц.Валюта = Константа.ВалютаУпрУчета;
        Ц.Процент = 22;
        Ц.Записать();
        Ц.Цена.Установить(НачНедели(РабочаяДата()),ЦенаОпт);
        Ц.Единица.Установить(НачНедели(РабочаяДата()),Ном.БазоваяЕдиница); 
        Ц.Записать();
    КонецЕсли;
    Если Строка(ТипЦен)="Розничная" Тогда
        Ц.Новый();
        Ц.ТипЦен = ТипЦен.ТекущийЭлемент();   
        Ц.Валюта = Константа.ВалютаУпрУчета;
        Ц.Процент = 42;
        Ц.Записать();
        Ц.Цена.Установить(НачНедели(РабочаяДата()),ЦенаРоз);
        Ц.Единица.Установить(НачНедели(РабочаяДата()),Ном.БазоваяЕдиница);
        Ц.Записать();
    КонецЕсли;
КонецЦикла;   


Автор: bucdapuswert 6.8.2007, 07:26
ZERO Спасибо за помощь.

Автор: bucdapuswert 8.8.2007, 15:53
Zero, а как мне быть в случае если в справочнике типы цен всего две цены PriCEO и PRICEZ
ну и соответственно для них разные цены.

Автор: Zero 8.8.2007, 20:01
Цитата(bucdapuswert @  8.8.2007,  15:53 Найти цитируемый пост)
как мне быть в случае если в справочнике типы цен всего две цены PriCEO и PRICEZ

Разберись в примере выше, и переделай под свой.
Получиться что-то вроде:
Код

//Заполнение справочника "Цены" 
Ц.ИспользоватьВладельца(Ном.ТекущийЭлемент());
ТипЦен.ВыбратьЭлементы();
Пока ТипЦен.ПолучитьЭлемент()=1 Цикл 
    Если Строка(ТипЦен)="PriCEO" Тогда
        Ц.Новый();
        Ц.ТипЦен = ТипЦен.ТекущийЭлемент();   
        Ц.Валюта = Константа.ВалютаУпрУчета;
        Ц.Записать();
        Ц.Цена.Установить(НачНедели(РабочаяДата()),ЦенаPriCEO);
        Ц.Единица.Установить(НачНедели(РабочаяДата()),Ном.БазоваяЕдиница);
        Ц.Записать();
    КонецЕсли;
    Если Строка(ТипЦен)="PRICEZ" Тогда
        Ц.Новый();
        Ц.ТипЦен = ТипЦен.ТекущийЭлемент();   
        Ц.Валюта = Константа.ВалютаУпрУчета;
        Ц.Процент = 22;
        Ц.Записать();
        Ц.Цена.Установить(НачНедели(РабочаяДата()),ЦенаPRICEZ);
        Ц.Единица.Установить(НачНедели(РабочаяДата()),Ном.БазоваяЕдиница); 
        Ц.Записать();
    КонецЕсли;
КонецЦикла;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)