8.х Как динамически объявить переменную .

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем 1cport, 19 ноя 2014.

  1. TopicStarter Overlay
    1cport
    Offline

    1cport Опытный в 1С

    Регистрация:
    25 авг 2014
    Сообщения:
    114
    Симпатии:
    1
    Баллы:
    29
    Здравствуйте.

    Суть вопроса :

    1)Есть табличная часть у нее есть определенное количество строк ( сколько - становиться ясно когда документ открывается)На каждую из строк нужно создать переменнную !




    2)Например в процедуре
    ПриВыводеСтроки

    я проверяю значение переменной каждой строки

    а) ТекущаяПеременная = Переменная [НомерТекущейСтроки];
    этот вариант не работает т.к. я якобы обращаюсь к индексу .

    б) ТекущаяПеременная = "Переменнная" + НомерТекущейСтроки;
    не работает тк. это просто строка а не переменная с значением

    Подскажите пожалуйста как это можно сделать ?
  2. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    нафига память то забивать?

    объявите массив заранее или список значений и заполняйте его по вашим строкам
  3. TopicStarter Overlay
    1cport
    Offline

    1cport Опытный в 1С

    Регистрация:
    25 авг 2014
    Сообщения:
    114
    Симпатии:
    1
    Баллы:
    29
    в массиве можно хранитьструктуру ?
  4. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.758
    Симпатии:
    509
    Баллы:
    204
    Плюс еще можно сделать "скрытую" колонку, и в нее писать значения.
  5. TopicStarter Overlay
    1cport
    Offline

    1cport Опытный в 1С

    Регистрация:
    25 авг 2014
    Сообщения:
    114
    Симпатии:
    1
    Баллы:
    29
    какой массив мне объявлять заранее если я не знаю сколько в нем элементов ?
    --- Объединение сообщений, 19 ноя 2014 ---
    Ответившие не про то отвечают .
  6. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.758
    Симпатии:
    509
    Баллы:
    204
    Очередной изобретатель велосипедов.........
  7. TopicStarter Overlay
    1cport
    Offline

    1cport Опытный в 1С

    Регистрация:
    25 авг 2014
    Сообщения:
    114
    Симпатии:
    1
    Баллы:
    29
    это уже вопрос связанный со скрытой колонкой ..... чтобы писать в каждую строку этой клонки нужны переменные
    --- Объединение сообщений, 19 ноя 2014 ---
    как делать без велосипедов ?
  8. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.556
    Симпатии:
    716
    Баллы:
    204
    Если строк ТЧ будет тыщь так 200...........
    Вы лучше скажите, что в конечном итоге сделать необходимо?
    Для чего нужна вся эта куча переменных?
  9. TopicStarter Overlay
    1cport
    Offline

    1cport Опытный в 1С

    Регистрация:
    25 авг 2014
    Сообщения:
    114
    Симпатии:
    1
    Баллы:
    29
    есть же неявное объявление пересменных
  10. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.758
    Симпатии:
    509
    Баллы:
    204
    1port, вот с этого нужно начинать.
    Можно при заполнении таблицы писать туда значения, соответственно это будет вашей переменной.
  11. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.758
    Симпатии:
    509
    Баллы:
    204
    В модуле:
    Код:
    Перем ВашаПеременная;
    Но эта переменная будет существовать в зависимости от расположения - в модуле объекта (пока живет этот объект), в модуле формы(пока живет форма). Если хранить ее независимо - тогда либо РС, либо константы.
  12. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.556
    Симпатии:
    716
    Баллы:
    204
    offtopic: имхо, все крики в интернетах о том, что 1С - недоязык недопрограммирования из-за подобных "хотелок"........
  13. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.758
    Симпатии:
    509
    Баллы:
    204
    Это говорят те, кто не понимает структуру самой 1С, и для чего она нужна :)
  14. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.556
    Симпатии:
    716
    Баллы:
    204
    Есть, но оно не работает программно. Вообще никак. Только в тексте процедуры/функции жестко указывать имя переменной вручную.
  15. TopicStarter Overlay
    1cport
    Offline

    1cport Опытный в 1С

    Регистрация:
    25 авг 2014
    Сообщения:
    114
    Симпатии:
    1
    Баллы:
    29
    есть тч , есть строки и в скрытой клонке данные.

    при выводе строки мне нужно прочитать данные из этой строки (я это могу ..обратившись к текущей строке) а если их нет(мой случай) то нужно прочитать данные из другого источника относящиеся к этой строке (иначе если я не привязываю данные то значения становятся общими для всех строк тч). - как мне их связать данные и строку ?

    я решил что нужно содать перменные на каждую строку.....................................
  16. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.758
    Симпатии:
    509
    Баллы:
    204
    И что, будет 100500 переменных ? Как минимум это глупо.
    Алгоритм вы сами сказали, дело осталось за реализацией.
  17. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.556
    Симпатии:
    716
    Баллы:
    204
    ".....а если их нет(мой случай) то нужно прочитать данные из другого источника относящиеся к этой строке...."
    Вот этот момент подробнее:
    как вообще связаны между собой данные строки или сама строка с данными из другого источника?

    По какой причине вы вообще пришли к выводу, что объявив переменную для каждой строки ТЧ можно решить задачу?
    Каждая строка ТЧ имеет как минимум индекс, его можно использовать для связи с внешними данными, какая-либо переменная тут вообще лишняя трата ресурсов машины.
    Последнее редактирование: 19 ноя 2014
  18. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    объясните задачу. Мне кажется вы себе геморой наживаете... сами данные в строке уже можно использовать, зачем создавать переменную, работайте с самой таблицей
  19. TopicStarter Overlay
    1cport
    Offline

    1cport Опытный в 1С

    Регистрация:
    25 авг 2014
    Сообщения:
    114
    Симпатии:
    1
    Баллы:
    29
    Пояснение

    есть строка в тч - для неё пишется в отдельную колонку объект структура


    при открытии тч. если в этой строке нет данных - нет записанной структуры для нее - то информация берется
    из структуры клтрая создается в при открытии ..............НО т.к. в таблице 25 (например) строк то для всех 25 строк данные будут братся из структуры в при открытии ----- что некоректно - будут взяты не корректные данные .
    яхотел чтобы структура в приоткрытии была привязана к определенной строке(как это и есть в базе но нет в коде) .
    я подумал чт нужно столько переменных сколько и строк...........................
  20. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.556
    Симпатии:
    716
    Баллы:
    204
    Чем не устраивает вариант создания ТЗ, в которой будет две колонки: "индекс строки" и "данные". В данные записываем нужную структуру.

    Индекс строки при этом желательно делать свой, ибо пользователь может поменять строки и начнутся чудеса с соответствием.....
    А вообще, конечно, мутноватая задача с хранением структуры в колонке ТЧ, потому как просто так нельзя хранить структуру в реквизите ТЧ и придется извращаться, типа переделывать в строку и обратно....

    Сдается мне, ТС решил гланды через задний проход удалить....
    Лично мне за 6 лет работы с 1С как-то пока не довелось хранить структуру в реквизите ТЧ, хотя порывы сделать именно так были, но после осмысления задачи как-то находились другие решения......
    Последнее редактирование: 19 ноя 2014

Поделиться этой страницей