Как преобразовать строку в переменную?

1. Satoshi_Nakamoto 25.11.21 12:55 Сейчас в теме
Как преобразовать строку в переменную в 1С?
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
3. Satoshi_Nakamoto 25.11.21 13:06 Сейчас в теме
(2)Не то, нужно строку сделать переменной.
4. anykey_vrn 25.11.21 13:10 Сейчас в теме
(3) Нужно пояснение, о чем именно идет речь.
5. ishelper 25.11.21 13:12 Сейчас в теме
(4)
о чем именно идет речь
Да ясно же все! Нужно постоянную строку сделать переменной... 1С.

P.S. Простым смертным всегда трудно понимать гениев. ;)
7. Satoshi_Nakamoto 25.11.21 13:16 Сейчас в теме
(5)Я программировал на Python такое там можно сделать, не знаю можно ли сделать в 1С, поэтому спрашиваю
8. acces969 343 25.11.21 13:17 Сейчас в теме
(7)Нельзя. Переменные должны быть объявлены. Ближайшее к вашему случаю, это обьявление в модуле объекта так:
перем МояПеременная;

а во время работы уже заполнять ее чем-либо
6. Satoshi_Nakamoto 25.11.21 13:15 Сейчас в теме
(4)Например есть переменная Месяц с типом стока значением "НовСтрока.Январь", и теперь нужно, чтобы это значение стало переменным и вела себя как переменная Месяц
Месяц = "НовСтрока." + Формат(лкСтр.ДатаПроизводства,"ДФ=ММММ");
Переменная(Месяц) = лкСтр.КоличествоОборот;
9. Satoshi_Nakamoto 25.11.21 13:18 Сейчас в теме
(6)Т.е. Это Переменная(Месяц) = лкСтр.КоличествоОборот; равноценна НовСтрока.Январь = лкСтр.КоличествоОборот;
13. user1461477 25.11.21 13:35 Сейчас в теме
(9)
Месяц = Новый Структура("Январь, Февраль, etc",ОстаткиЯнваря, ОстаткиФевраля, ОстаткиETC)
10. acces969 343 25.11.21 13:20 Сейчас в теме
Другой случай - объявление переменной по значению из строки внутри кода, который будет использован методом Выполнить().
т.е. это некая строка с исполняемым кодом, сформированная в т.ч. и программно, которая будет выполнена. Все переменные и объекты, которые создавались внутри этого кода, инкапсулированы и будут уничтожены после завершения выполнения. Пример:

СтроковаяПеременная = "а = 2; а = а *2; Сообщить(а);";
Выполнить(СтроковаяПеременная );
Angealtor; +1 Ответить
11. soft_wind 25.11.21 13:24 Сейчас в теме
(6) в вашем случае, при работе с таблицей (со строкой таблицы)
команды

НовСтрока.Январь = 100;
и
НовСтрока["Январь"] = 100;

одно и то-же

там просто, выше, ошибка была, надо было так
НовСтрока[Формат(лкСтр.Дата,"ДФ=ММММ")] = лкСтр.Количество;
12. Satoshi_Nakamoto 25.11.21 13:27 Сейчас в теме
(11)
НовСтрока[Формат(лкСтр.Дата,"ДФ=ММММ")] = лкСтр.Количество;

Если это одно и то же код не работает, а ведь так красиво написано
15. Good_Smile 25.11.21 13:40 Сейчас в теме
(12) а вы отладкой умеете пользоваться? у вас Формат(лкСтр.Дата,"ДФ=ММММ") что возвращает? и какой тип значения в этом реквизите и в реквизите Количество в таблице, где новую строку добавляете?
16. nomad_irk 71 25.11.21 13:45 Сейчас в теме
(15)оно возвращает значение в родительном падеже, вместо именительного :)
14. soft_wind 25.11.21 13:38 Сейчас в теме
(12) ааа, вот в этом и заключается отладка программы

наводящий вопрос:

- А что конкретно не работает?
18. Satoshi_Nakamoto 25.11.21 14:53 Сейчас в теме
(14)Все работает огромное спасибо
17. YanTsys 12 25.11.21 13:58 Сейчас в теме
(12)
В структуре нельзя через знак равно записывать значение в элемент пока вы его не добавили командой "вставить"
	КоличествоМесяца=новый Структура;
	Для НомерМесяца=1 по 12 Цикл
		КоличествоМесяца.Вставить(Формат(Дата(2000,НомерМесяца,1),"ДФ=ММММ"),10*НомерМесяца);
	КонецЦикла;
	Сообщить(КоличествоМесяца["Март"]);


Лучше воспользуйтесь не структурой а соответствием
	КоличествоМесяца=новый Соответствие;
	Для НомерМесяца=1 по 12 Цикл
		КоличествоМесяца[Формат(Дата(2000,НомерМесяца,1),"ДФ=ММММ")]=1000*НомерМесяца;
	КонецЦикла;
	Сообщить(КоличествоМесяца["Апрель"]);


Преимуществом соответствия перед структурой является то что именем элемента может быть не только строка но и например число,
и вы сможете аналогичный код использовать не только для месяцев но и для годов
user1461477; +1 Ответить
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)