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

Сортировка колонок таблицы значений (на форме) по их наименованиям

Автор Св Ч, 26 сен 2017, 00:38

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

Св Ч

Добрый Вечер!
Возникла задача как задать порядок следования колонок Таблицы значений, которая лежит на форме, и заполняется массивом в цикле (колонки добавляются в цикле массива и получают названия в цикле массива), с запроса. Только вот незадача колонки ставятся не в нужном порядке, как задать порядок следования колонок в таблице значений (которая лежит на форме),

Для Каждого Элемент Из Отбор_дат Цикл
       Сообщить(Строка(Элемент.Ключ) + " " + Элемент.Значение);
    //на каждую дату колонка оплата + колонка часы
   e="Ч"+Строка(День(Элемент.Значение)) + Строка(Месяц(Элемент.Значение));
   
   Отбор_дат_ч.Вставить(Элемент.Значение, e); 
       Отбор_дат_ч2.Вставить(e,Элемент.Значение);   

   ee="О"+Строка(День(Элемент.Значение))+ Строка(Месяц(Элемент.Значение));
   
   Отбор_дат_о.Вставить(Элемент.Значение, ee);
   Отбор_дат_о2.Вставить(ee,Элемент.Значение);

   если День(Элемент.Значение)>0 тогда
  если ( флаг=0) Тогда

         Этаформа.ЭлементыФормы.ТабличноеПоле_На_проверке.Значение.Колонки.Добавить(e);
     ТЗ_отбор.Колонки.Добавить(e);

         Этаформа.ЭлементыФормы.ТабличноеПоле_На_проверке.Значение.Колонки.Добавить(ee);

     ТЗ_отбор.Колонки.Добавить(ee);
          конецесли;
       конецесли;
    КонецЦикла;    



Для Каждого Элемент Из Отбор_дат Цикл
   
    //на каждую дату колонка оплата + колонка часы
   e="Ч"+Строка(День(Элемент.Значение)) + Строка(Месяц(Элемент.Значение));
   ee="О"+Строка(День(Элемент.Значение))+ Строка(Месяц(Элемент.Значение));
   если День(Элемент.Значение)>0 тогда
  Этаформа.ЭлементыФормы.ТабличноеПоле_На_проверке.Колонки[e].Ширина=3;
  Этаформа.ЭлементыФормы.ТабличноеПоле_На_проверке.Колонки[e].ТекстШапки= Строка(День(Элемент.Значение));
 
  Если   ЭлементыФормы.Часы.Значение=истина тогда
Этаформа.ЭлементыФормы.ТабличноеПоле_На_проверке.Колонки[e].Видимость=истина;
  иначе
Этаформа.ЭлементыФормы.ТабличноеПоле_На_проверке.Колонки[e].Видимость=Ложь;
  конецЕсли;

 
 
 
 
  Этаформа.ЭлементыФормы.ТабличноеПоле_На_проверке.Колонки[ee].Ширина=7;
// Этаформа.ЭлементыФормы.ТабличноеПоле_На_проверке.Колонки[ee].Видимость=Ложь;
Если   ЭлементыФормы.Оплаты.Значение=истина тогда
Этаформа.ЭлементыФормы.ТабличноеПоле_На_проверке.Колонки[ee].Видимость=истина;
иначе
Этаформа.ЭлементыФормы.ТабличноеПоле_На_проверке.Колонки[ee].Видимость=Ложь;
конецЕсли;

  Этаформа.ЭлементыФормы.ТабличноеПоле_На_проверке.Колонки[ee].ТекстШапки= Строка(День(Элемент.Значение));


          Этаформа.ЭлементыФормы.ТабличноеПоле_На_проверке.Колонки[ee].ЦветФонаПоля=Цвет_оплаты; 
 
  //Этаформа.ЭлементыФормы.ТабличноеПоле_На_проверке.Колонки[ee].ЦветФонаПоля.Зеленый=истина;
       конецесли;
   КонецЦикла;

НУЖНО чтобы колонки шли по порядку, как идут сами даты (название каждой колонки - день и месяц даты + буква). Нужно чтобы колонки добавлялись в установленном порядке следования дат, а они получаются на форме в хаотическом порядке. Что можно изменить, чтобы порядок следования колонок соответствовал порядку следования дат?
интерфейс обычный, 8.3
Заранее спасибо.

vitasw


Св Ч

так как я их назову числами, если у меня тут формат даты + признак типа данных Ч или О
Добавлено: 30 сен 2017, 18:38


и при вставке числа в имя колонки она пишет "Неверное имя колонки"
Добавлено: 30 сен 2017, 18:38


еще варианты есть?
Добавлено: 30 сен 2017, 22:00


тема закрыта, всем спасибо...ответ прост наращивание индекса имени колонки должно происходить как строки индекс=строка(индекс)+"1". Уровень знаний отвечающих на этом форуме оставляет желать лучшего....но всё равно спасибо....:zebzdr:

Теги:

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

Рейтинг@Mail.ru Rambler's Top100

Поиск