Имя: Пароль:
1C
1С v8
Подскажите ошибку в изменении проводки
,
0 Krasotka
 
25.04.22
10:40
Индекс находится за границами массива Запись.СубконтоКт[Запись.СчетКт.ВидыСубконто[3]]
        

Набор = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
Набор.Отбор.Регистратор.Установить(этотобъект.Ссылка);
Набор.Прочитать();
Для каждого Запись из Набор Цикл

     Если Запись.СчетДт =  ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01") Тогда
         Запись.СчетКт =  ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01");

       Запись.СубконтоКт[Запись.СчетКт.ВидыСубконто[3]] = документы.РеализацияТоваровУслуг.НайтиПоНомеру("АТ000000204");
        сообщить(Запись.СчетДт);

    КонецЕСли;
  
КонецЦикла;
Набор.Записать();
1 Amra
 
25.04.22
10:47
Нумерация начинается с 0, то есть вы пробуете обратиться к 4 субконто. А у вас их скорее всего 3
2 Krasotka
 
25.04.22
10:55
(1)
Да ошибка из за этого. А подскажите еще, в такой конструкции счет КТ изменился, а субконто нет. Хотя реализация такая существует. Что еще не так?
3 Krasotka
 
25.04.22
10:58
Ну то есть так теперь, счет подменяется а субконто 3 нет, почему?

     Если Запись.СчетДт =  ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01") Тогда
         Запись.СчетКт =  ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01");
       Запись.СубконтоКт[Запись.СчетКт.ВидыСубконто[2]] = документы.РеализацияТоваровУслуг.НайтиПоНомеру("АТ000000204");
        сообщить(Запись.СчетДт);
    КонецЕСли;
4 hhhh
 
25.04.22
11:18
(3) вот здесь у вас

НайтиПоНомеру("АТ000000204")

невероятный косяк.

Потому что должно быть 2 параметра в функции НайтиПоНомеру.
5 Kassern
 
25.04.22
11:21
(3) ДокументМенеджер.<Имя документа> (DocumentManager.<Document name>)
НайтиПоНомеру (FindByNumber)
Синтаксис:
НайтиПоНомеру(<НомерДокумента>, <ДатаИнтервала>)
6 Krasotka
 
25.04.22
11:31
(4)
Кстати да, ошибка отсюда, спс
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn