Консультация № 139959
14.07.2008, 15:11
0.00 руб.
0 1 1
Здравствуйте. Подскажите пожалуйста из-за чего появляется ошибка,
для а=1 по ррр5.РазмерСписка() цикл
{Документ.МСК.Форма.Модуль(403)}: Значение не представляет агрегатный объект (РазмерСписка),
в приведенном коде программы

Приложение:
старзнач=номерстроки;ббб.удалитьстроки();если выбратьстроки()=1 тогда ПолучитьСтрокуПоНомеру(старзнач); если стрдлина(сокрлп(данные_о_бкс))<>0 тогда ррр5=создатьобъект("СписокЗначений"); ррр5=ЗначениеИзСтроки(данные_о_бкс); для а=1 по ррр5.РазмерСписка() цикл ббб.новаястрока(); ббб.сотр=ррр5.ПолучитьЗначение(а); конеццик ла; конецесли;конецесли;

Обсуждение

Неизвестный
14.07.2008, 17:58
общий
это ответ
Здравствуйте, ДАС Алекс!

Все дело в этой строке:
ррр5=ЗначениеИзСтроки(данные_о_бкс);

В реквизите <b>данные_о_бкс</b> хранится не преобразованный в строку список значений, а значение какого-то другого типа.

Если б в реквизит данные_о_бкс до этого было записано следующее значение
данные_о_бкс=ЗначениеВСтроку(СпЗнач);
где СпЗнач - список значений,
то Ваш код работал бы правильно.

Рекомендую немного изменить код, так как у меня в приложении, тогда сразу станет все ясно :)

Приложение:
старзнач=номерстроки; ббб.удалитьстроки(); если выбратьстроки()=1 тогда ПолучитьСтрокуПоНомеру(старзнач); если стрдлина(сокрлп(данные_о_бкс))<>0 тогда ррр5=создатьобъект("СписокЗначений"); ррр5=ЗначениеИзСтроки(данные_о_бкс); Если ТипЗначенияСтр(ррр5)<>"СписокЗначений" Тогда Сообщить("Неверное значение: "+ррр5); Продолжить; КонецЕсли; для а=1 по ррр5.РазмерСписка() цикл ббб.новаястрока(); ббб.сотр=ррр5.ПолучитьЗначение(а); конеццикла; конецесли; конецесли;
Форма ответа