Имя: Пароль:
1C
1С v8
Индекс находится за границами массива
0 cahgep
 
22.08.13
22:53
Выскакивает:
{МодульОбычногоПриложения(236)}: Индекс находится за границами массива
    Если сч70.ВидыСубконто[0].Валютный = Ложь Тогда

в конфигураторе вот эти строки:

  устанавливаем валютный признак сч. 70
     Сч70 = ПланыСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда;
    Если Сч70.ВидыСубконто[0].Валютный = (0); Ложь Тогда
        Сч70 = Сч70.ПолучитьОбъект(0);
         сч70.ВидыСубконто[0].Валютный = Истина;
        Сч70.Записать();
        КонецЕсли;

что не так?
1 GROOVY
 
22.08.13
22:56
Мне кажется что индекс находится за границами массива.
2 shuhard
 
22.08.13
22:57
(0) Валютный = (0)
ПолучитьОбъект(0)

бред
3 Охламон
 
22.08.13
22:58
 Сч70 = Сч70.ПолучитьОбъект(0);
4 cahgep
 
22.08.13
22:59
что поправить-то?
5 GROOVY
 
22.08.13
23:02
Советую посмотреть количество элементов в коллекции субконто и думать.
6 GROOVY
 
22.08.13
23:03
А в целом код не работоспособный, вон коллеги тоже углядели "ПолучитьОбъект(0)" - это что такое7
7 EugeniaK
 
22.08.13
23:44
(4) как-то так попробуй
Сч70 = ПланыСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда;
    Если НЕ Сч70.ВидыСубконто[0].Валютный  Тогда
        Сч70 = Сч70.ПолучитьОбъект();
        сч70.ВидыСубконто[0].Валютный = Истина;
        Сч70.Записать();
        КонецЕсли;
8 EugeniaK
 
22.08.13
23:47
Только не понимаю, нафига признак "Валютный" у субконто