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

динамический массив

Автор sali, Вчера в 14:44

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

sali

с каждым новым действием нужно выводить его на экран. в тестовом варианте это делается так
// 2. Формирование структуры JSON динамически
МассивСтрок = Новый Массив;

// Строка 1
Строка1 = Новый Структура;
Строка1.Вставить("text", "Чек №14523");
Цвет1 = Новый Массив; Цвет1.Добавить(255); Цвет1.Добавить(0); Цвет1.Добавить(0);
Строка1.Вставить("color", Цвет1);
Строка1.Вставить("size", 28);
МассивСтрок.Добавить(Строка1);

// Строка 2
Строка2 = Новый Структура;
Строка2.Вставить("text", "Кассир: Иванов И.И.");
Цвет2 = Новый Массив; Цвет2.Добавить(0); Цвет2.Добавить(255); Цвет2.Добавить(0);
Строка2.Вставить("color", Цвет2);
Строка2.Вставить("size", 20);
МассивСтрок.Добавить(Строка2);

// Строка 3
Строка3 = Новый Структура;
Строка3.Вставить("text", "ИТОГО: 1,500.00 руб (УСПЕШНО)");
Цвет3 = Новый Массив; Цвет3.Добавить(0); Цвет3.Добавить(0); Цвет3.Добавить(255);
Строка3.Вставить("color", Цвет3);
Строка3.Вставить("size", 28);
Строка3.Вставить("x", 108); 
Строка3.Вставить("y", 218);
МассивСтрок.Добавить(Строка3);

// Главный контейнер
ДанныеЗапроса = Новый Структура;
ДанныеЗапроса.Вставить("lines", МассивСтрок);

// Сборка структуры в строку JSON
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, ДанныеЗапроса);
СтрокаJSON = ЗаписьJSON.Закрыть();

но так как есть ограничения по выводу количества строк , то массив получается аля динамическим, по простому - когда мы доходим до границы количества выводимых строк , например 4, пятую строку мы вывести можем только после удаление первой. делаю это так , но выходит так что, когда делаю действие которое было в массиве - оно выводиться несколькими строками и заменяет собой предыдущие . хрень полная
МассивСтрок = Новый Массив;     
      //МассивСтрокХранилище - это список значений - реквизит формы
Если Не МассивСтрокХранилище.Количество() = 0 Тогда           
Для каждого МассивСтрока Из МассивСтрокХранилище Цикл
МассивСтрок.Добавить(МассивСтрока.Значение[0]);
КонецЦикла;
//МассивСтрок = МассивСтрокХранилище.ВыгрузитьЗначения();
Индекс=МассивСтрок.Количество();
Если Индекс=4 Тогда
МассивСтрок.Удалить(0);
КонецЕсли;
КонецЕсли;      

СтруктураСтроки = Новый Структура; 
ЦветПоУмолчанию = Новый Массив;
ЦветПоУмолчанию.Добавить(255); ЦветПоУмолчанию.Добавить(0); ЦветПоУмолчанию.Добавить(0);
СтруктураСтроки.Вставить("text", СтрокаОтправки);
СтруктураСтроки.Вставить("color", ЦветПоУмолчанию);
СтруктураСтроки.Вставить("size", 28);

МассивСтрок.Добавить(СтруктураСтроки);
 

// Главный контейнер

как сделать динамический массив

Теги:

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

Рейтинг@Mail.ru

Поиск