Имя: Пароль:
1C
1С v8
Как в 1с8 в форме СКД определить подстроку в таблице
0 Jalib
 
15.02.17
16:07
Здравствуйте!я понимаю что это в некотором роде извращение но надо сделать именно так
Значит пишу так
////////////////////////////////////////////////////////////////////////////
    Таблица = Настройки.Структура.Добавить(Тип("ТаблицаКомпоновкиДанных"));
    Строка = Таблица.Строки.Добавить();
    Строка.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
    Строка.Порядок.Элементы.Добавить(Тип("АвтоЭлементПорядкаКомпоновкиДанных"));
    ПолеГруппировкиСклад = Строка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
    ПолеГруппировкиСклад.Поле = Новый ПолеКомпоновкиДанных("Склад");
    
    
    ///////////////////////////////////////
     // Добавим в таблицу строку
    
    Строка2 = Таблица.Строки.Добавить();
    Строка2.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
    Строка2.Порядок.Элементы.Добавить(Тип("АвтоЭлементПорядкаКомпоновкиДанных"));
    ПолеГруппировкиНоменклатура = Строка2.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
    ПолеГруппировкиНоменклатура.Поле = Новый ПолеКомпоновкиДанных("Номенклатура");
он мне сначало выводит все склады потом всю номенклатуру а мне надо в виде
склад 1
  номенклатура1
  номенклатура2
  номенклатура3
склад 2
  номенклатура1
  номенклатура2
  номенклатура3
склад 3
  номенклатура1
  номенклатура2
  номенклатура3
1 DmitrO
 
15.02.17
16:42
вместо
Строка2 = Таблица.Строки.Добавить();
надо так
Строка2 = Строка.Структура.Добавить();
2 Jalib
 
15.02.17
17:17
так он выводит ее оотдельной колонкой а мне нужно что бы было в одной
3 Jalib
 
17.02.17
15:12
c этим разобрался теперь другой вопрос как в отчете с диаграммой сделать так же программно что бы точки где точки склады подписывались серии подписываются а точки нет код процедуры вот такой
Настройки = Отчет.КомпоновщикНастроек.Настройки;
// Добавим в отчет диаграмму.
    Диаграмма = Настройки.Структура.Добавить(Тип("ДиаграммаКомпоновкиДанных"));
    
    //// Установим заголовок диаграммы
    //ПараметрВывода = Диаграмма.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Заголовок"));
    //ПараметрВывода.Значение = "Остатки по складам";
    //ПараметрВывода.Использование = Истина;
    
    // Укажем, какой ресурс нужно выводить в диаграмме
    ВыбранноеПоле = Диаграмма.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
    ВыбранноеПоле.Поле = Новый ПолеКомпоновкиДанных("СуммаОборот");
    
    // Добавим в диаграмму серию.
    Серия = Диаграмма.Серии.Добавить();
    Точка= Диаграмма.Точки.Добавить();
    Диаграмма.Точки.РежимОтображения=истина;
    
    // Укажем, по какому полю нужно группировать в серии.
    ПолеГруппировки = Серия.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
    ПолеГруппировки.Поле = Новый ПолеКомпоновкиДанных("Номенклатура");
    
    // Укажем, что система сама должна определять, какие поля нужно выводить в серии.
    Серия.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
    
    // Укажем каким образом нужно упорядочивать данные серии
    ЭлементПорядка = Серия.Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
    ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("Номенклатура");
////////////////////////////////////////    
    // Укажем, по какому полю нужно группировать в серии.
    ПолеГруппировки = точка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
    ПолеГруппировки.Поле = Новый ПолеКомпоновкиДанных("Склад");
    
    // Укажем, что система сама должна определять, какие поля нужно выводить в серии.
    Серия.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
    
    // Укажем каким образом нужно упорядочивать данные серии
    ЭлементПорядка = Серия.Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
    ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("Склад");
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс