8.х Почему такое обращение к колонке ТЗ не работает.

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

  1. TopicStarter Overlay
    katenok89
    Offline

    katenok89 Опытный в 1С

    Регистрация:
    17 фев 2014
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Подскажите пожалуйста, почему, такой код работает:
    Код:
    ИмяСправочника    =    "ЯзыкиНародовМира";
    Сообщить(Справочники[ИмяСправочника].НайтиПоНаименованию("Русский"));
    
    А вот такое обращение к строке ТЗ не работает и выдает ошибку, что в предпоследней строке не хватает круглой скобки:
    Код:
        тз    =    Новый    ТаблицаЗначений;
        тз.Колонки.Добавить("Колонка1");
        тз.Колонки.Добавить("Колонка2");
        НоваяСтрокаТЗ    =    тз.Добавить();
      
        для сч = 1 По 2     Цикл
            счстрока =     Строка(сч);
            НоваяСтрокаТЗ[Колонка+счстрока]    =    сч;   
        КонецЦикла;
    И, как правильно нужно обращаться?
  2. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.767
    Симпатии:
    509
    Баллы:
    204
    Можно вот так:
    Код:
    Для Каждого Стр ИЗ ВашаТЗ Цикл
    Строка = Стр.ИмяЯчейки;
    КонецЦикла
  3. TopicStarter Overlay
    katenok89
    Offline

    katenok89 Опытный в 1С

    Регистрация:
    17 фев 2014
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Извиняюсь спросонья проглядела кавычки, вопрос снят, правильно работает так:

    Код:
        тз    =    Новый    ТаблицаЗначений;
        тз.Колонки.Добавить("Колонка1");
        тз.Колонки.Добавить("Колонка2");
        НоваяСтрокаТЗ    =    тз.Добавить();
    
        для сч = 1 По 2     Цикл
            счстрока =     Строка(сч);
            НоваяСтрокаТЗ["Колонка"+счстрока]    =    сч; 
        КонецЦикла;
  4. TriviumFan
    Offline

    TriviumFan Опытный в 1С Заблокирован

    Регистрация:
    19 мар 2013
    Сообщения:
    92
    Симпатии:
    15
    Баллы:
    29
    Нет никаких ошибок, кроме как кавычек не хватает:
    Код:
    НоваяСтрокаТЗ["Колонка"+счстрока] = сч;
    Опять опоздал :)
    katenok89 нравится это.
  5. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Перепишите строку таким образом:
    Код:
    НоваяСтрокаТЗ["Колонка"+Формат(счстрока, "ЧДЦ=0; ЧН=0; ЧГ=0")] = сч;
    katenok89 нравится это.
  6. TopicStarter Overlay
    katenok89
    Offline

    katenok89 Опытный в 1С

    Регистрация:
    17 фев 2014
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Спасибо большое всем за ответы! :)
  7. TopicStarter Overlay
    katenok89
    Offline

    katenok89 Опытный в 1С

    Регистрация:
    17 фев 2014
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    А почему лучше так делать, ведь работает даже:
    Код:
    НоваяСтрокаТЗ["Колонка"+сч] = сч;
    без преобразования "сч" к строке .
  8. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    такая конструкция будет работать только при сч < 1000 :)
    katenok89 нравится это.
  9. TopicStarter Overlay
    katenok89
    Offline

    katenok89 Опытный в 1С

    Регистрация:
    17 фев 2014
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    а ведь точно, потом пробел появится между разрядами :)
Похожие темы
  1. specproject
    Ответов:
    0
    Просмотров:
    406
Загрузка...

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