Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 мая 2022, 04:00

Как создать структуру из 2х массивов

Автор Dimon8822, 16 мар 2022, 11:33

0 Пользователей и 1 гость просматривают эту тему.

Dimon8822

Я учу 1С: П 8.3. Прошу помощи. Не получается разобраться со следующим вопросом:
Пытаюсь создать структуру из 2х массивов:
   
   Массив1 =Табл.ВыгрузитьКолонку("Год") ;
   Массив2 = Табл.ВыгрузитьКолонку("Выходной") ;
   
   СтруктураВыходные = Новый Структура() ;       
     
          Для Индекс = 0 По Массив1.Количество() - 1 Цикл
       
               СтруктураВыходные.Вставить(Строка(Массив1[Индекс]), Массив2[Индекс]) ;
     
       КонецЦикла;

В ответ получаю: "Задано неправильное имя атрибута структуры"

Ошибку выдаёт уже на первом шаге:


   Табл.Свернуть("Год", "РабочийДень, Выходной");
   КопияТабл = Табл.Скопировать(,"Год, Выходной");   
   А =  Табл.Количество() ;


      Массив1 = Табл.ВыгрузитьКолонку("Год") ;
      Массив2 = Табл.ВыгрузитьКолонку("Выходной") ;

   Структура = Новый Структура() ;
   Структура.Вставить("Год" + Строка(Массив1[0]), Массив2[0]) ;



Табло:
А                    11      Число
Массив1[0]              "2 022"Строка
Массив2[0]            87      Число
Строка(Массив1[0])   "2 022"      Строка
"Год " + Строка(Массив1[0])   "Год 2 022"   Строка


err: Ошибка при вызове метода контекста (Вставить)
{ВнешняяОбработка.ВнешняяОбработка_ДЗ_3.Форма.ДЗ_3.Форма(80)}:   Структура.Вставить("Год" + Строка(Массив1[0]), Массив2[0]) ;
{ВнешняяОбработка.ВнешняяОбработка_ДЗ_3.Форма.ДЗ_3.Форма(5)}:    ТаблицаЗначенийНаСервере()
по причине:
Задано неправильное имя атрибута структуры
Задано неправильное имя атрибута структуры


В чем ошибаюсь. Заранее СПАСИБО!

alexandr_ll

Dimon8822, Что означает эта строка:
  Структура = Новый Структура() ;Вероятно, круглые скобки лишние.

LexaK

alexandr_ll,
ЦитироватьВероятно, круглые скобки лишние.
:xfbnsdfb:
Неее, на английском языке надо все писать!  :befhbt:
ответ Понравился? (в смысле пригодился?)

Dimon8822

На наличие скобок не реагирует
ошибку показывает на следующем шаге : err: Ошибка при вызове метода контекста (Вставить)

LexaK

Dimon8822, а кто вам сказал что надо использовать Структуру?
попробуйте использовать вместо нее Соответствие !!!

так

Структура = Новый Соответствие;
...дальше ваш код, ошибка должна пропасть.
ответ Понравился? (в смысле пригодился?)

Dimon8822

Dimon8822,
На наличие скобок не реагирует
ошибку показывает на следующем шаге : err: Ошибка при вызове метода контекста (Вставить)

antoneus

Потому что в структуре имя ключа должно соответствовать критериям именования переменных, т.е. начинаться либо с буквы, либо с символа подчеркивания.

Dimon8822

Добрый день!
Разобрался - Формат ГОДа "уууу" выставляется с пробелом в качестве разделителя разрядов ("2 022") в 1С по умолчанию, и тогда в ключе значения структуры возникает пробел. Исправил на Формат(Год(Д), "ЧГ=0") все прошло на УРА. Спасибо

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск