Задание значение переменной, наименование которой вычислялось бы. Как сделать?
Сам недоумеваю как по другому ещё можно было озаглавить тему.
Вот код:
Нужно в цикле создать Таблицы значений, наименование которых менялось бы при каждой итерации. Так вообще можно делать, а то у меня конфигуратор ругается, что переменная ТабЗнач[ПНомер] - не определена!
Вот код:
Перем ТабЗнач1,ТабЗнач2,ТабЗнач3,ТабЗнач4,ТабЗнач5;
Для ПНомер=1 По 5 Цикл
ТабЗнач[ПНомер]=Новый ТаблицаЗначений;
ТабЗнач[ПНомер].Колонки.Добавить("Номенклатура");
ТабЗнач[ПНомер].Колонки.Добавить("Количество");
КонецЦикла;
Нужно в цикле создать Таблицы значений, наименование которых менялось бы при каждой итерации. Так вообще можно делать, а то у меня конфигуратор ругается, что переменная ТабЗнач[ПНомер] - не определена!
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(8)
PS. Вопрос с "говнокодом" выношу за скобки.
Перем ТабЗнач1,ТабЗнач2,ТабЗнач3,ТабЗнач4,ТабЗнач5;
Для ПНомер=1 По 5 Цикл
Вычислить("ТабЗнач["+ПНомер+"]=Новый ТаблицаЗначений;");
Вычислить("ТабЗнач["+ПНомер+"].Колонки.Добавить(""Номенклатура"");");
Вычислить("ТабЗнач["+ПНомер+"].Колонки.Добавить(""Количество"");");
КонецЦикла;
PS. Вопрос с "говнокодом" выношу за скобки.
(1) в вашем случае с такими именами переменных создайте массив таблиц значений и обращайтесь по индексу к нужной таблице.
только надо помнить, что индексы в массиве начинаются с 0.
типа такого код:
только надо помнить, что индексы в массиве начинаются с 0.
типа такого код:
МассивТЗ = Новый Массив;
Для пНомер = 1 По 5 Цикл
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Номенклатура");
ТЗ.Колонки.Добавить("Количество");
МассивТЗ.Добавить(ТЗ);
КонецЦикла;
ТЗ_1 = МассивТЗ[0];
Показать
(11)Да задача гораздо сложнее чем сам пример, если позволите:
Задача перераспределить товар около 10тыс наименований между 5ю складами, из-за природной лени хочется собрать маленькую конструкцию, которая в цикле проверяла бы кучу условий и формировала Таблицы значений с необходимыми перемещениями между складами.
По другому, как в цикле перебирать Переменные в наименовании которых встречался бы некий идентификатор, без такого механизма не соображу сделать как.
Поэтому и был Вопрос как реализовать такой код:
Если делать так, то конфигуратор говорит, что ошибка, мол Переменная[НомерПеременной] - не определена.
Задача перераспределить товар около 10тыс наименований между 5ю складами, из-за природной лени хочется собрать маленькую конструкцию, которая в цикле проверяла бы кучу условий и формировала Таблицы значений с необходимыми перемещениями между складами.
По другому, как в цикле перебирать Переменные в наименовании которых встречался бы некий идентификатор, без такого механизма не соображу сделать как.
Поэтому и был Вопрос как реализовать такой код:
Переменная[НомерПеременной]=НовоеЗначение;
Если делать так, то конфигуратор говорит, что ошибка, мол Переменная[НомерПеременной] - не определена.
(15)
(16)
Пользоваться умею и знаю как. Хотел без глубоких погружений решить эту задачу так, но видимо по другому никак.
Кстати, вопрос остается открытым, уже не привязываясь к конкретной задаче, возможно реализовать такую идею или нет?
Лучший ответ в данном случае будет односложным "Нет" или "Да", но если "Да" то с примером )
(16)
Пользоваться умею и знаю как. Хотел без глубоких погружений решить эту задачу так, но видимо по другому никак.
Кстати, вопрос остается открытым, уже не привязываясь к конкретной задаче, возможно реализовать такую идею или нет?
Переменная[НомерПеременной]=НовоеЗначение;
Лучший ответ в данном случае будет односложным "Нет" или "Да", но если "Да" то с примером )
(10) Такие названия использую чтобы было поменьше буков, есть риск, что увидев КрасивыеРазвернутыеСодежащиеСутьПредметовОкружающегоМира просто не прочтут до конца мое сообщение =)
Я уж подумал, что ввиду моих скромных знаний в программировании я какую-то глупость сморозил, которую неприлично показывать на приличных форумах, а оно вона че?
Я уж подумал, что ввиду моих скромных знаний в программировании я какую-то глупость сморозил, которую неприлично показывать на приличных форумах, а оно вона че?
(21)Напрасно Вы ерничаете, ответ я Ваш видел в 7 посте, благодарю. Но все ж, то, что хочу я умещается в 1 строку и легко читается краем глаза, то, что предлагаете вы несколько сложнее и больше в объеме.
Позвольте подвести итог:
так делать в 1с нельзя:
Позвольте подвести итог:
так делать в 1с нельзя:
Переменная[НомерПеременной]=НовоеЗначение;
Перем соо; // соответствие новое в теле модуля или при открытии
без 'вставить'
но как извратиться, если "краю глаза" надо '=' ?
Функция ИмяПеременной(нн, текущееЗначение)
Возврат соо.Вставить(нн, текущееЗначние)
КонецФункции
ИмяПеременной(нн, текущееЗначение)
без 'вставить'
но как извратиться, если "краю глаза" надо '=' ?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот