Имя: Пароль:
1C
 
Добавить колонки в планировщик 1с
0 Марина23
 
28.05.25
14:21
Добрый день всем! Есть планировщик, куда подгружаются сотрудники из справочника и отображаются в планировщике в виде колонок. запрос на то, чтобы добавить так же пустые колонки в это поле. пишу такой код:

&НаСервере
Процедура СоздатьИзмеренияПланировщика()  

Измерение = Планировщик.Измерения.Добавить("Сотрудник");
    КоличествоК = Студия.КолонокВРасписании;
  Индекс = 1;
  Выборка = Справочники.Сотрудники.Выбрать();
  
  Пока Индекс <= КоличествоК Цикл
    
    Попытка
        Выборка.Следующий();
    
          
  ЗначенияИзмерений = Измерение.Элементы.Добавить(Выборка.Ссылка);
  ЗначенияИзмерений.Текст = Выборка.Наименование + Символы.ПС + Выборка.Должность;
  ЗначенияИзмерений.ЦветРамки = WebЦвета.ГолубойСоСтальнымОттенком;
  

      Исключение  
  
  ЗначенияИзмерений = Измерение.Элементы.Добавить(Новый ОписаниеТипов("Строка"),"Пусто");
  ЗначенияИзмерений.Текст = "Пусто";
  ЗначенияИзмерений.ЦветРамки = WebЦвета.ГолубойСоСтальнымОттенком;
      
    КонецПопытки;
    
    
        Индекс = Индекс + 1;
  
  КонецЦикла;

КонецПроцедуры


Ошибка при вызове метода контекста (Добавить)
{Обработка.ЖурналЗаписей.Форма.Форма.Форма(251)}:  ЗначенияИзмерений = Измерение.Элементы.Добавить(Выборка.Ссылка);
{Обработка.ЖурналЗаписей.Форма.Форма.Форма(10)}:  СоздатьИзмеренияПланировщика();
по причине:
Недопустимое значение параметра (параметр номер '1')
1 Fish
 
гуру
28.05.25
14:49
Очевидно, что в выражение
ЗначенияИзмерений = Измерение.Элементы.Добавить(Выборка.Ссылка);

необходимо передать допустимое значение параметра.
2 Марина23
 
28.05.25
14:54
дело в том, что я прям только-только начинаю и не совсем понимаю как это сделать, можно, пожалуйста, прям ткнуть в ошибку или показать пример как нужно, заранее огромное спасибо))
3 Fish
 
гуру
28.05.25
14:59
(2) Так в (1) прям ткнул в ошибку.
4 Марина23
 
28.05.25
15:01
я понимаю это) но как именно передать это значение? что туда вписать? возможно вопросы глупые и очевидные, но я с нуля пытаюсь самостоятельно разобраться в теме и не все понимаю
5 Доминошник
 
28.05.25
15:19
(4) Посмотреть - что за тип коллекции у "Измерение.Элементы"
Посмотреть на метод "Добавить" для этого типа коллекции в синтаксис-помощнике, разобраться - какие должны быть параметры у этого метода, сравнить со своими параметрами.
6 Марина23
 
29.05.25
08:46
Посмотрела-посмотрела, вижу что это коллекция элементов измерения планировщика, значение должно передаваться в пределах данной коллекции. но допереть никак не может что именно написать, жесть))
7 Волшебник
 
29.05.25
08:56
Зато цвет выбран красивый
8 Марина23
 
29.05.25
09:04
(7) точно))
9 СвинТуз
 
29.05.25
09:06
Интересно как это она делает.
Не вылетает в ветку исключение, а вылетает в ошибку.
10 Мультук
 
гуру
29.05.25
09:20
(0)

Есть мнение, что автор не в курсе, что будет, когда
колонок (например) 20
А сотрудников 15 (меньше)

Поэтому вот это порно (с попыткой) нужно заменить на другое


   
Если Выборка.Следующий() Тогда
  ЗначенияИзмерений = Измерение.Элементы.Добавить(Выборка.Ссылка);
  ЗначенияИзмерений.Текст = Выборка.Наименование + Символы.ПС + Выборка.Должность;
  ЗначенияИзмерений.ЦветРамки = WebЦвета.ГолубойСоСтальнымОттенком;
  

Иначе
  Сообщить("Всё! Сотрудники кончились - разбегаемся");
  

  //! Имхо бред, но тут уже сами 
  //!ЗначенияИзмерений = Измерение.Элементы.Добавить(Новый ОписаниеТипов("Строка"),"Пусто");
  //!ЗначенияИзмерений.Текст = "Пусто";
  //!ЗначенияИзмерений.ЦветРамки = WebЦвета.ГолубойСоСтальнымОттенком;
      
КонецЕсли;



Вот такой код в тестовой базе (15 сотр) чудесно работает
&НаСервере
Процедура СоздатьИзмеренияПланировщикаНаСервере()
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	Сотрудники.Ссылка КАК Ссылка,
	|	Сотрудники.Наименование КАК Наименование,
	|	Сотрудники.ГоловнаяОрганизация КАК ГоловнаяОрганизация
	|ИЗ
	|	Справочник.Сотрудники КАК Сотрудники";
	
	Выборка = Запрос.Выполнить().Выбрать();
	
	
	//      
	Измерение = Планировщик.Измерения.Добавить("Сотрудник"); 
	
	Пока выборка.Следующий() Цикл
		ЗначенияИзмерений = Измерение.Элементы.Добавить(Выборка.Ссылка);
  		ЗначенияИзмерений.Текст = Выборка.Наименование + Символы.ПС + Выборка.ГоловнаяОрганизация;
  		ЗначенияИзмерений.ЦветРамки = WebЦвета.ГолубойСоСтальнымОттенком; 	
	КонецЦикла;	
	
	
	
КонецПроцедуры