Имя: Пароль:
1C
1C 7.7
v7: Как записать дату в периодический реквизит
,
0 Insainer
 
08.05.14
10:10
СпрПараметры2.Новый();
        Периодический = СоздатьОбъект("Периодический");
    НачальнаяДата = '00.00.0000';
    Периодический.ИспользоватьОбъект("", СпрПараметры2);
    Периодический.ВыбратьЗначения(НачальнаяДата, ТекущаяДата());
    
    // Строки, в которых выводятся значения в периоде просмотра.
        Периодический.ДатаЗнач = ТекущаяДата();
        //СпрПараметры2.
        СпрПараметры2.ПроцУдорожания = xl.Cells(row,6).Value;        
        СпрПараметры2.ПроцКомиссии = xl.Cells(row,8).Value;            
        СпрПараметры2.ПроцПрочий = xl.Cells(row,10).Value;        
        СпрПараметры2.ПроцСкидкаМаг = xl.Cells(row,12).Value;
        Периодический.Записать();

Выдает ошибку: Периодический.Записать();
{E:\JOHNSON\1C_BASE\CDB_2509\EXTFORMS\LIC_ЗАГРУЗКАКРЕДИТНЫХСХЕМ.ERT(105)}: Перед выполнением операции нужно вызвать 'ИспользоватьОбъект'!
1 zak555
 
08.05.14
10:11
сначала запиши СпрПараметры2
2 zak555
 
08.05.14
10:12
потом пиши периодический

Периодический.ИспользоватьОбъект(СпрПараметры2);
3 zak555
 
08.05.14
10:12
> JOHNSON

агент сша ?
4 Insainer
 
08.05.14
10:15
Тогда будет ругаться, что нет даты
5 zak555
 
08.05.14
10:16
(4) не будет
6 Insainer
 
08.05.14
10:23
СпрПараметры2.Новый();
        Периодический = СоздатьОбъект("Периодический");
    НачальнаяДата = '00.00.0000';
    Периодический.ИспользоватьОбъект("", СпрПараметры2);
    Периодический.ВыбратьЗначения(НачальнаяДата, ТекущаяДата());
    
    // Строки, в которых выводятся значения в периоде просмотра.
        Периодический.ДатаЗнач = ТекущаяДата();
        //СпрПараметры2.
        СпрПараметры2.ПроцУдорожания = xl.Cells(row,6).Value;        
        СпрПараметры2.ПроцКомиссии = xl.Cells(row,8).Value;            
        СпрПараметры2.ПроцПрочий = xl.Cells(row,10).Value;        
        СпрПараметры2.ПроцСкидкаМаг = xl.Cells(row,12).Value;
        СпрПараметры2.Записать();
        Периодический.Записать();
Ошибка:
{E:\JOHNSON\1C_BASE\CDB_2509\EXTFORMS\LIC_ЗАГРУЗКАКРЕДИТНЫХСХЕМ.ERT(105)}: Не определена дата! Элемент не может быть записан!
7 zak555
 
08.05.14
10:25
СпрПараметры2.Новый();
СпрПараметры2.ИспользоватьДату(ТекущаяДата());

СпрПараметры2.ПроцУдорожания = xl.Cells(row,6).Value;        
        СпрПараметры2.ПроцКомиссии = xl.Cells(row,8).Value;            
        СпрПараметры2.ПроцПрочий = xl.Cells(row,10).Value;        
        СпрПараметры2.ПроцСкидкаМаг = xl.Cells(row,12).Value;
        СпрПараметры2.Записать();
8 Builder
 
08.05.14
10:26
Читайте документацию, там все написано.

ИспользоватьОбъект(<?>)
Синтаксис:
ИспользоватьОбъект(<ИмяРеквизита>,<Объект>)
Назначение:
Сопоставляет объект типа 'Периодический' периодическому реквизиту справочника или периодической константе.
Возвращает: 1 - если вызов метода закончился успешно, 0 - иначе.
Параметры:
<ИмяРеквизита> - строка с названием периодического реквизита справочника или периодической константы;
<Объект> - значение элемента справочника, для которого задается применение периодического реквизита (для констант не нужен).
9 Insainer
 
08.05.14
10:26
Это так прям писать?
10 Builder
 
08.05.14
10:28
Собственно ИспользоватьОбъект() в данном случае не надо вообще.
11 Insainer
 
08.05.14
10:28
Я прочитал, но мне понятно как делать, может кто-нибудь сталкивался с такой проблемой?
12 zak555
 
08.05.14
10:28
(11) см в 7 -- рабочий код
13 Insainer
 
08.05.14
10:29
Приведу полный код:
СпрКредиты2 = СоздатьОбъект("Справочник.КредитныеСхемы");
        СпрПараметры2 = СоздатьОбъект("Справочник.ПараметрыКредита");
        СпрКредиты2.Новый();
        СпрКредиты2.Банк = xl.Cells(row,1).Value;
        СпрКредиты2.Наименование = xl.Cells(row,2).Value;
        //Если xl.Cells(row,3).Value = 1 Тогда
        //    СпрКредиты2.СнятьПометкуУдаления();
        //ИначеЕсли xl.Cells(row,3).Value = 0 Тогда
        //    СпрКредиты2.Удалить(0);
        //КонецЕсли;
        СпрКредиты2.ПризнакНачВзноса = xl.Cells(row,4).Value;
        СпрКредиты2.Записать();
        //СпрКредиты2.ПолучитьЭлемент();
        СпрПараметры2.ИспользоватьВладельца(СпрКредиты2);
        СпрПараметры2.ВыбратьЭлементы();
        
        
        СпрПараметры2.Новый();
        Периодический = СоздатьОбъект("Периодический");
    НачальнаяДата = '00.00.0000';
    Периодический.ИспользоватьОбъект("", СпрПараметры2);
    Периодический.ВыбратьЗначения(НачальнаяДата, ТекущаяДата());
    
    // Строки, в которых выводятся значения в периоде просмотра.
        Периодический.ДатаЗнач = ТекущаяДата();
        //СпрПараметры2.
        СпрПараметры2.ПроцУдорожания = xl.Cells(row,6).Value;        
        СпрПараметры2.ПроцКомиссии = xl.Cells(row,8).Value;            
        СпрПараметры2.ПроцПрочий = xl.Cells(row,10).Value;        
        СпрПараметры2.ПроцСкидкаМаг = xl.Cells(row,12).Value;
        СпрПараметры2.Записать();
        Периодический.Записать();
        
        
    КонецЕсли;
    row = row + 1;
    ЕстьКредиты = 0;
14 Insainer
 
08.05.14
10:30
А где это встречается в Торговле и склад, кто-нибудь знает?
15 Builder
 
08.05.14
10:32
Периодический - убрать все упоминания, оно тут не надо.

СпрПараметры2.ВыбратьЭлементы(); - убрать.

Добавить:
СпрПараметры2.ИспользоватьДату(ТекущаяДата());
16 Builder
 
08.05.14
10:34
СпрКредиты2 = неплохо бы сделать поиск по наименованию, что ли...
А то наплодишь одинаковых элементов.
Независимо от того, куда вы едете — это в гору и против ветра!