|
заполнить ТЧ данными из другой ТЧ | ☑ | ||
---|---|---|---|---|
0
lero4ka23
11.04.16
✎
11:59
|
Есть документ в нем две табличные части,в ТЧ СписНом запросом заполняются поля номенклатура, ценовая группа, сумма. Ребят подскажите как реализовать чтобы считалась общая сумма одной ценовой группы и зполнялась ТЧ Ценовая группа как на картинке https://cloud.mail.ru/public/6ynC/5Hv2JmmFr
|
|||
1
Маратыч
11.04.16
✎
12:00
|
Свернуть() не катит?
З.Ы. Картинку не вижу, аккаунта на мылру нет. |
|||
2
Маратыч
11.04.16
✎
12:01
|
+(1) Точнее, сначала Выгрузить() из первой ТЧ, затем Свернуть("ЦеноваяГруппа", "Сумма").
|
|||
3
lero4ka23
11.04.16
✎
12:01
|
пробовала вот так, но не получилось, может не так что то написала
&НаСервере Процедура ЗаполнитьТЧ() СписокНоменклатуры = РеквизитФормыВЗначение("СписокНоменклаиуры"); СписокНоменклатуры.Свернуть("ЦеноваяГруппа", "Сумма"); Объект.ЦеноваяГруппа.Загрузить(СписокНоменклатуры); КонецПроцедуры |
|||
4
Маратыч
11.04.16
✎
12:01
|
+(2) Т.е. ТЗ = СписНом.Выгрузить(); ТЗ.Свернуть("ЦеноваяГруппа", "Сумма"); ЦеноваяГруппа.Загрузить(ТЗ);
|
|||
5
Маратыч
11.04.16
✎
12:02
|
(3) СписокНоменклатуры = РеквизитФормыВЗначение("СписокНоменклаИуры");
Здесь синтаксическая ошибка. |
|||
6
lero4ka23
11.04.16
✎
12:02
|
||||
7
lero4ka23
11.04.16
✎
12:06
|
Просто ничего не происходит
&НаКлиенте Процедура СписокНоменклатурыПриИзменении(Элемент) Элементы.Декорация1.Видимость = Истина; Объект.ТребуетсяПерерасчет = Истина; ЗаполнитьТЧ() КонецПроцедуры &НаСервере Процедура ЗаполнитьТЧ() СписокНоменклатуры = РеквизитФормыВЗначение("СписокНоменклатуры"); СписокНоменклатуры.Свернуть("ЦеноваяГруппа", "Сумма"); Объект.ЦеноваяГруппа.Загрузить(СписокНоменклатуры); КонецПроцедуры |
|||
8
Pro-tone
11.04.16
✎
12:08
|
(7) а тип какой у СписокНоменклатуры?
|
|||
9
lero4ka23
11.04.16
✎
12:09
|
(8) (ДокументТабличнаяЧасть.РасчетыСпецификаций.СписокНоменклатуры)
|
|||
10
Маратыч
11.04.16
✎
12:13
|
(9) Эмм... А разве у нас ТЧ из ТЧ загружается? Может, все-таки сначала промежуточную ТЗ создать (ТЗ = СписокНоменклатуры.Выгрузить()), затем ее свернуть и уже ее загружать в ЦеноваяГруппа?
|
|||
11
Маратыч
11.04.16
✎
12:15
|
Таки даже в СП залез = в методе Загрузить() ТЧ используется параметр с типом ТаблицаЗначений.
Ну и имена колонок должны совпадать, ессно. |
|||
12
Pro-tone
11.04.16
✎
12:19
|
(9) я думаю Маратыч прав в (10) и (11)
|
|||
13
lero4ka23
11.04.16
✎
12:22
|
Сделала вот так
&НаСервере Процедура ЗаполнитьТЧ() ТЗ = Объект.СписокНоменклатуры.Выгрузить(); ТЗ.Свернуть("ЦеноваяГруппа", "Сумма"); Объект.ЦеноваяГруппа.Загрузить(ТЗ); КонецПроцедуры |
|||
14
lero4ka23
11.04.16
✎
12:23
|
но снова ничего не происходит
|
|||
15
Маратыч
11.04.16
✎
12:27
|
(14) Во второй табличной части колонки тоже называются ЦеноваяГруппа и Сумма?
|
|||
16
Pro-tone
11.04.16
✎
12:28
|
(14) посмотри отладчиком что в ТЗ
|
|||
17
Маратыч
11.04.16
✎
12:28
|
+(15) Кстати, а отладчик что говорит? Можешь глянуть в табло значение ТЗ после выполнения Выгрузить()?
|
|||
18
Pro-tone
11.04.16
✎
12:28
|
(13) в ТЗ должно быть 2 колонки: "ЦеноваяГруппа" и "Сумма"
|
|||
19
lero4ka23
11.04.16
✎
12:29
|
(15) да называются одинаково
|
|||
20
lero4ka23
11.04.16
✎
12:29
|
(18) да две колонки
|
|||
21
Быдло замкадное
11.04.16
✎
12:29
|
табличка не обновляется. Закрой документ, открой, данные будут. Перед этим сохранить естессно
|
|||
22
Pro-tone
11.04.16
✎
12:29
|
и как ты можешь сворачивать по ценовой группе, когда у тебя есть колонки с номенклатурой, у тебя ж не дерево значений-то!
|
|||
23
lero4ka23
11.04.16
✎
12:31
|
(21) пусто
|
|||
24
lero4ka23
11.04.16
✎
12:31
|
(17) отладчик молчит,Ю вообще ничего не пишет
|
|||
25
Маратыч
11.04.16
✎
12:31
|
(22) А какая разница? У нее колонки Номенклатура, ЦеноваяГруппа, Сумма. При выполнении Свернуть("ЦеноваяГруппа", "Сумма"), колонка Номенклатура выкидывается.
|
|||
26
Маратыч
11.04.16
✎
12:32
|
(24) Точка останова после Выгрузить() вообще отрабатывает?
|
|||
27
Маратыч
11.04.16
✎
12:36
|
+(26) А, и самый животрепещущий вопрос: отладка-то на сервере включена? :)
|
|||
28
lero4ka23
11.04.16
✎
12:38
|
(27) да включена, по отладчику получается что эта процедара вообще не отрабатывается
|
|||
29
Маратыч
11.04.16
✎
12:49
|
(28) Таакс, уже ближе. Конфа на УФ или обычных формах?
|
|||
30
lero4ka23
11.04.16
✎
12:51
|
(29) УФ
|
|||
31
lero4ka23
11.04.16
✎
12:52
|
РЕБЯТА!!!!!!!!!!!!!!ПОЛУЧИЛОСЬ!!!!!!!!!!!!!!!!!!!
|
|||
32
lero4ka23
11.04.16
✎
12:52
|
Сейчас проверю, и напишу как сделала
|
|||
33
Pro-tone
11.04.16
✎
12:56
|
(25) так вот какой в этом смысл тогда сворачивать тч если номенклатура выкидывается?
(28) могу еще предположить проблемы с кэшем, или проблема тут Объект.ЦеноваяГруппа |
|||
34
Маратыч
11.04.16
✎
13:02
|
(33) >так вот какой в этом смысл тогда сворачивать тч если номенклатура выкидывается?
Как это какой? Получить таблицу с группировкой по ценовым группам. |
|||
35
Pro-tone
11.04.16
✎
13:04
|
(34) это понятно, просто подумал, что в свернутой тч должна быть номенклатура тоже, в общем, это я проглядел имя тч "Ценовые группы"
|
|||
36
lero4ka23
11.04.16
✎
13:05
|
может кому пригодится
&НаКлиенте Процедура обновитьТовГруппы() соотв = Новый Соответствие; Для Каждого стр Из Объект.СписокНоменклатуры Цикл Если соотв[стр.ЦеноваяГруппа] = Неопределено Тогда соотв[стр.ЦеноваяГруппа] = стр.ВсегоСоСкидкой; Иначе соотв[стр.ЦеноваяГруппа] = соотв[стр.ЦеноваяГруппа] + стр.ВсегоСоСкидкой; КонецЕсли; КонецЦикла; ЦеноваяГруппа.Очистить(); Для Каждого пара Из соотв Цикл стр = ЦеноваяГруппа.Добавить(); стр.ВсегоСоСкидкой = пара.Значение; стр.ЦеноваяГруппа = пара.Ключ; КонецЦикла; КонецПроцедуры |
|||
37
Маратыч
11.04.16
✎
13:06
|
(36) О_о
Ну вы, блин, даете (с) :) |
|||
38
Pro-tone
11.04.16
✎
13:12
|
(36) о_О, хардкод какой-то
|
|||
39
Маратыч
11.04.16
✎
13:14
|
(38) Изобретательная девушка, однако :)
|
|||
40
hhhh
11.04.16
✎
13:45
|
но вообще реально, чтобы сработало выражение??
СписокНоменклатуры = РеквизитФормыВЗначение("СписокНоменклатуры"); ?? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |