Имя: Пароль:
1C
 
Не сворачивается табличная часть у документа
,
0 Tolstiy Beremenniy
 
03.10.18
09:09
Нужно свернуть табличную часть у документа.
Либо выгрузить её в таблицу значений и свернуть.
Но вижу у табличной части тоже есть такой метод.

Но выходит ошибка в отладчике.

Показатели.Свернуть("Должность, Сотрудник", "КбаллФакт, КдисФакт")

Обращение к процедуре объекта как к функции!!!!

Но я же как процедуру её вызываю. Я помню такую ошибку, но сейчас
забыл как её обойти. Подскажите пожалуйста!!!!
1 Cool_Profi
 
03.10.18
09:11
Когда ты зовёшь процедуру из "Вычислить выражение" в отладчике, она пытается вызваться как функция. Вот тебе и ошибка.
2 НЕА123
 
03.10.18
09:13
Показатели - это кто и откуда?
3 ВРедная
 
03.10.18
09:16
(0) Покажи остальной код сверху с начала процедуры, в которой ты сворачиваем табличную часть
4 Tolstiy Beremenniy
 
03.10.18
09:49
(2) Показатели это табличная часть объекта.

(1) Я так и думал что это отладчика коллизия!!!! Хоть и не явная.

(3) Я вот так сделал. ->


    ТзПоказатели = Показатели.Выгрузить();
    ТзПоказатели.Свернуть("Должность, Сотрудник", "КбаллФакт, КдисФакт");
    Движения.С05_СправкиПоПоказателямПремирования.Записывать = Истина;
    Для Каждого ТекСтрокаПоказатели Из ТзПоказатели Цикл
        Движение               = Движения.С05_СправкиПоПоказателямПремирования.Добавить();
        Движение.Период        = Дата;
        Движение.Организация   = Организация;
        Движение.Подразделение = Подразделение;
        Движение.Сотрудник     = ТекСтрокаПоказатели.Сотрудник;
        Движение.Кбалл         = ТекСтрокаПоказатели.КбаллФакт;



Может можно было и тч докумнета так же свернуть!!!!
5 unregistered
 
03.10.18
09:54
(0) А где ты это делаешь? Не на форме случайно? Ты уверен, что "Показатели" - это табличная часть, а не коллекция данных формы?
6 НЕА123
 
03.10.18
09:54
(4)
в ТЧ колонок больше, скорее всего.
7 Tolstiy Beremenniy
 
03.10.18
09:58
(5) В модуле объекта, это проведение документа.
(6) Ну я использую же те которые мне нужны.

Свернуть нужно по должности и Сотруднику, а по КбаллФакт и КдисФакт просуммировать.

Так вот что получилось. Размерность поля КдисФакт число (1.1). пО ИЗОБРАЖЕНИЮ ДОЛЖНО БЫТЬ 0,9 + 0,9 - 1,8, ТАК?

http://joxi.ru/krD6DdlTE5KjW2
8 Tolstiy Beremenniy
 
03.10.18
09:59
(7) Даже 0,9 ни на что не изменилось.
Так и осталось. Не хватает размерности?
Почему суммирование не произвелось?
9 unregistered
 
03.10.18
10:01
(7) > я использую же те которые мне нужны
Так нельзя. Из справки по методу Свернуть объекта Табличная часть:

Важно! Оба списка колонок должны покрывать всю табличную часть. Списки колонок не должны пересекаться.
10 НЕА123
 
03.10.18
10:02
(7)
>Ну я использую же те которые мне нужны.

в СП смотрел?

последний пост
Загрузка запроса в дерево значения на форме для ввода данных
11 unregistered
 
03.10.18
10:04
(7) К слову. Менять данные объекта (документа) в момент проведения нельзя.
Все манипуляции с данными (дозаполнение и очистка реквизитов, сворачивание табличных частей и т.п.) должно делаться ПередЗаписью. В обработке проведения данные документа должны только читаться.
12 Tolstiy Beremenniy
 
03.10.18
10:07
(11) То есть там в принципе это не работает?
Или так не делается.

Тут дело в том что у документа дерево значений.
При проведении и открытии докумнета оно помещается и извлекается из служебной таблицы значений.
По которой я и делаю проведение. Тогда если нужно сворачивать таблицу для проведения, нужно сделать ещё одну служебную?
Где данные уже будут свернуты и подготовлены для проведения?
13 hhhh
 
03.10.18
10:07
(11) не вводите парня в заблуждение. Ничего там нет про "должны покрывать всю табличную часть"
14 hhhh
 
03.10.18
10:08
(11) ТаблицаЗначений (ValueTable)
Свернуть (GroupBy)
Синтаксис:

Свернуть(<КолонкиГруппировок>, <КолонкиСуммирования>)
Параметры:

<КолонкиГруппировок> (обязательный)

Тип: Строка.
Имена колонок, разделенные запятыми, по которым необходимо группировать строки таблицы значений.
<КолонкиСуммирования> (необязательный)

Тип: Строка.
Имена колонок, разделенные запятыми, по которым необходимо суммировать значения в строках таблицы значений.
Описание:

Осуществляет свертку таблицы значений по указанным колонкам группировки. Строки, у которых совпадают значения в колонках, указанных в первом параметре, сворачиваются в одну строку. Значения этих строк, хранящиеся в колонках, указанных во втором параметре, накапливаются.
Важно! Списки колонок не должны пересекаться. Колонки, не вошедшие ни в один из списков колонок, после выполнения метода удаляются из таблицы значений.
15 Tolstiy Beremenniy
 
03.10.18
10:08
(11) Куда их помещать то перед записью?
Так как в первой служебной таблице они должны быть как есть, для извлечения и помещения туда.
А визуально выводятся в дерево значений!
16 hhhh
 
03.10.18
10:10
(15) проверьте самое основное, точно у вас это колонка "КдисФакт" типа число. Может это у вас не число.
17 Tolstiy Beremenniy
 
03.10.18
10:11
(14) Я считал что в КолонкиСуммирования должна быть сумма
КолонокГруппировок.

Свернуть(<КолонкиГруппировок>, <КолонкиСуммирования>)

А в (7) видно что суммирования не было. Хотя
должно быть по должности и Сотруднику. 0,9+ 0,9 = 0,18 или 1,8, или 0,1.
18 Tolstiy Beremenniy
 
03.10.18
10:12
(16) Число. Я так понимаю должна быть сумма. Почему её нет?

http://joxi.ru/D2PxQ1YTpXqK02
19 НЕА123
 
03.10.18
10:14
(13)(14)

В ТЧ  "должны покрывать всю табличную часть". в (0) про ТЧ.
20 Tolstiy Beremenniy
 
03.10.18
10:18
(19 ) в (4) я уже сворачиваю таблицу значений!
21 lodger
 
03.10.18
10:18
(18) Паша, читай СП внимательнее.
22 НЕА123
 
03.10.18
10:21
число (1.1) маловато будет.
23 Tolstiy Beremenniy
 
03.10.18
10:21
Наверное в самом деле я сделаю табличную часть ещё одну
служебную. Назову её для проведения. И при формирования
первой служебной части, где хранятся данные дерева значений
буду формировать её. В свернутом виде.
По ней и делать проведение!
24 Tolstiy Beremenniy
 
03.10.18
10:22
(22) Да так в Тз написали. Я делал не задумывался. А сейчас
вон оказывается такая размерность не идет никуда.
25 hhhh
 
03.10.18
10:26
(19) в (4) на которую вы отвечаете

ТзПоказатели = Показатели.Выгрузить();
    ТзПоказатели.Свернуть("Должность, Сотрудник", "КбаллФакт, КдисФакт");
26 Tolstiy Beremenniy
 
03.10.18
10:28
(25) То есть оно и не должно свернуться????????
27 hhhh
 
03.10.18
10:31
(26) должно. увеличьте размерность, чего вы уперлись? сто байт хотите сэкономить? там наверняка диск 10 террабайт, ваши сто байт эти никто не оценит.
28 Lexey_
 
03.10.18
10:34
(21) он не Паша, он Андрей(Ливингстар)
29 ZDenis
 
03.10.18
10:38
с разрядностью (1,1) - 0,9 это максимум что может быть
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс