|   |   | 
| 
 | Добавить колонки в планировщик 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Цвета.ГолубойСоСтальнымОттенком; 	
	КонецЦикла;	
	
	
	
КонецПроцедуры
 | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |