Индекс находится за границами массива
☑
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
Только не понимаю, нафига признак "Валютный" у субконто
Независимо от того, куда вы едете — это в гору и против ветра!