|
1с 8,,2 Конвертация данных табличная часть | ☑ | ||
---|---|---|---|---|
0
KonstantinK90
22.07.15
✎
09:52
|
Всем привет! Подскажите с чего начать и где именно! В источнике есть табЧ Товары в ней к примеру 3 строки с номенклатурной позицией мне нужно что при при загрузке в базу приемник эти строки легли не важно какая была номенклатура в источнике в приемнике должно получится одна строка с конкретным названием номенклатуры количество =3 т.к в источнике было 3 строки и сумма по трем строкам из источника
|
|||
1
KonstantinK90
22.07.15
✎
09:55
|
как это сделать? хоть на правте в какой стороне это делать
|
|||
2
salvator
22.07.15
✎
09:58
|
Свернуть ТЧ
|
|||
3
KonstantinK90
22.07.15
✎
10:00
|
а где это именно в каком месте?
|
|||
4
KonstantinK90
22.07.15
✎
10:00
|
нужно написать подскажите а то с кд мало сталкивался
|
|||
5
Naumov
22.07.15
✎
10:03
|
(4) у группы, соответствующей ТЧ в событии ПередВыгрузкой можно переопределить КоллекциЯОбъектов как угодно.
Читаем описание обработчика в хелпе. |
|||
6
KonstantinK90
22.07.15
✎
10:12
|
ОбъектКолекции а как объеденить строки ?
|
|||
7
KonstantinK90
22.07.15
✎
10:17
|
в хелпе ни чего такого не описано
|
|||
8
Aprobator
22.07.15
✎
10:25
|
Ну да, как свернуть строки в хелпе по КД точно нет.
|
|||
9
ixijixi
22.07.15
✎
10:27
|
ТвояТаблица.Свернуть();
|
|||
10
salvator
22.07.15
✎
10:29
|
+(9) Про метод Свернуть() предварительно почитай в СП
|
|||
11
KonstantinK90
22.07.15
✎
10:37
|
мояТабЧ.Свернуть это где именно писать?
|
|||
12
ixijixi
22.07.15
✎
10:44
|
(11) ПриВыгрузке
|
|||
13
KonstantinK90
22.07.15
✎
10:45
|
а если номенклатура в табЧасти будет разная она получится свернуть?
|
|||
14
KonstantinK90
22.07.15
✎
10:46
|
При выгрузке в ПКС?
|
|||
15
ixijixi
22.07.15
✎
10:51
|
Ты реально не хочешь СП почитать?
|
|||
16
KonstantinK90
22.07.15
✎
10:52
|
да читаю ни чет не понятно!
|
|||
17
ixijixi
22.07.15
✎
10:55
|
Синтаксис:
Свернуть(<КолонкиГруппировок>, <КолонкиСуммирования>) Параметры: <КолонкиГруппировок> (обязательный) Тип: Строка. Имена колонок, разделенные запятыми, по которым необходимо группировать строки таблицы значений. <КолонкиСуммирования> (необязательный) Тип: Строка. Имена колонок, разделенные запятыми, по которым необходимо суммировать значения в строках таблицы значений. Описание: Осуществляет свертку таблицы значений по указанным колонкам группировки. Строки, у которых совпадают значения в колонках, указанных в первом параметре, сворачиваются в одну строку. Значения этих строк, хранящиеся в колонках, указанных во втором параметре, накапливаются. |
|||
18
KonstantinK90
22.07.15
✎
10:56
|
В ПКС при выгрузке пишу Значение=Товары.Свернуть("Количество");
выдает ошибку Начало выгрузки: 22.07.2015 13:53:03 Ошибка в обработчике события ПриВыгрузке (свойства) ПКО = уатРемонтныйЛист (Документ: Заказ наряд) ПКС = 32 (Количество --> Количество) Объект = Заказ наряд С0063100 от 19.07.2015 21:11:53 (Заказ наряд) СвойствоПриемника = Количество (Число) КонвертируемоеЗначение = 1 (Число) Обработчик = ПриВыгрузкеСвойства ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(1,10)}: Переменная не определена (Товары) ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML(8930) КодСообщения = 56 |
|||
19
ixijixi
22.07.15
✎
10:58
|
ТвояТаблица.ЗаполнитьЗначения(ТвояНоменклатура, "Номенклатура");
ТвояТаблица.ЗаполнитьЗначения(1, "Количество"); ТвояТаблица.Свернуть("Номенклатура", "Количество"); При таком раскладе у тебя на выходе будет ТЗ с 1 строкой, с твоей номенклатурой и количеством, равным количеству строк |
|||
20
Альбатрос
22.07.15
✎
10:59
|
(18) Источник.Товары.Свернуть("Количество");
Но ты ведь понял, что произойдет после этого куска кода? |
|||
21
Альбатрос
22.07.15
✎
11:00
|
(19) сумму забыл
|
|||
22
KonstantinK90
22.07.15
✎
11:02
|
ваш код нужно писать в ПКО(при выгрузке) или в ПКС(при выгрузке)?
|
|||
23
Альбатрос
22.07.15
✎
11:03
|
(22) см (5)
|
|||
24
KonstantinK90
22.07.15
✎
11:08
|
пишу при выгрузке Источник.Товары.Свернуть("Количество","СебестоимостьСумма");
Ошибка в обработчике события ПриВыгрузке (свойства) ПКО = уатРемонтныйЛист (Документ: Заказ наряд) ПКС = 31 (Номенклатура --> Номенклатура) Объект = Заказ наряд С0063100 от 19.07.2015 21:11:53 (Заказ наряд) СвойствоПриемника = Номенклатура (СправочникСсылка.Номенклатура) КонвертируемоеЗначение = Болт с шестигранной головкой М20х160 (Номенклатура) Обработчик = ПриВыгрузкеСвойства ОписаниеОшибки = Ошибка при вызове метода контекста (Свернуть): Объект недоступен для изменения. ПозицияМодуля = (1) КодСообщения = 56 |
|||
25
KonstantinK90
22.07.15
✎
11:10
|
что далать подскажите?
|
|||
26
Альбатрос
22.07.15
✎
11:13
|
(25) ТвояТЗ = Источник.Товары.Выгрузить();
ТвояТЗ.Свернуть(); |
|||
27
KonstantinK90
22.07.15
✎
11:26
|
пишу в ПКС при выгрузке ТвояТЗ = Источник.Товары.Выгрузить();
ТвояТЗ.Свернуть("Количество"); Для Каждого СТР Из ТвояТЗ Цикл Результат = СТР.Количество; КонецЦикла; Значение =Результат; |
|||
28
KonstantinK90
22.07.15
✎
11:27
|
не сворачивает или нужно по всем реквизитам табЧ сделать так?
|
|||
29
KonstantinK90
22.07.15
✎
11:29
|
а нет он свернул правда все равно выгрузилось 3 строки как в источнике
|
|||
30
KonstantinK90
22.07.15
✎
11:35
|
как правильно свернуть ?
|
|||
31
ixijixi
22.07.15
✎
11:35
|
В (19) правильно свернуть
|
|||
32
KonstantinK90
22.07.15
✎
11:37
|
я одного не пойму мне куда именно это писать в пкс для каждого реквизита табЧасти?
|
|||
33
Альбатрос
22.07.15
✎
11:40
|
(32) Млять, очень внимательно прочитай (5), Значение у тебя должно равняться результирующей таблице, а не реквизиту. Давай не тупи, врубай мозги!
|
|||
34
Альбатрос
22.07.15
✎
11:40
|
+(33) и сверни как в (19), только сумму еще добавь в суммируемые поля, раз она тебе тоже нужна.
|
|||
35
KonstantinK90
22.07.15
✎
11:48
|
не могли бы вы на примере показать я чет въехать не могу?!
|
|||
36
KonstantinK90
22.07.15
✎
11:49
|
ТвояТЗ = Источник.Товары.Выгрузить();
ТвояТЗ.Свернуть("Количество","СебестоимостьСумма"); Свернули а дальше как правильно их передать |
|||
37
KonstantinK90
22.07.15
✎
11:55
|
выже наверняка знаете как сделать !? помогите?
|
|||
38
Альбатрос
22.07.15
✎
12:01
|
В ПКГС "ТвояТЧ" в событии ПередВыгрузкой пишем:
ТвояТЗ = Источник.Товары.Выгрузить(); ТвояТЗ.ЗаполнитьЗначения(ТвояНоменклатура, "Номенклатура"); ТвояТЗ.ЗаполнитьЗначения(1, "Количество"); ТвояТЗ.Свернуть("Номенклатура", "Количество,СебестоимостьСумма"); КоллекциЯОбъектов = ТвояТЗ; // Где ТвояНоменклатура = той ссылке на номенклатуру, которую ты хочешь подставить. |
|||
39
KonstantinK90
22.07.15
✎
12:07
|
ага спасибо а куда именно этот код вставить
|
|||
40
Альбатрос
22.07.15
✎
12:08
|
Ты меня троллишь что ли?
|
|||
41
KonstantinK90
22.07.15
✎
12:08
|
нет я 2 раз с кд дело имею
|
|||
42
KonstantinK90
22.07.15
✎
12:09
|
ПередВыгрузкой в ПКО?
|
|||
43
KonstantinK90
22.07.15
✎
12:09
|
Правило конвертации объектов
|
|||
44
Альбатрос
22.07.15
✎
12:10
|
Я тебе русским языком написал: В ПКГС "ТвояТЧ".
Как там твоя ТЧ называется я хз, предполагаю что "товары". |
|||
45
KonstantinK90
22.07.15
✎
12:21
|
вот ссылка http://savepic.org/7478472.png
|
|||
46
Альбатрос
22.07.15
✎
12:23
|
Я устал, гугли, что такое ПКГС
|
|||
47
KonstantinK90
22.07.15
✎
12:28
|
правиле конвертации группы свойств
|
|||
48
KonstantinK90
22.07.15
✎
12:29
|
где это?
|
|||
49
KonstantinK90
22.07.15
✎
12:30
|
по подробнее объясните
|
|||
50
KonstantinK90
22.07.15
✎
12:42
|
вы мне написали ТвояТЗ = Источник.Товары.Выгрузить();
ТвояТЗ.ЗаполнитьЗначения(ТвояНоменклатура, "Номенклатура"); ТвояТЗ.ЗаполнитьЗначения(1, "Количество"); ТвояТЗ.Свернуть("Номенклатура", "Количество,СебестоимостьСумма"); КоллекциЯОбъектов = ТвояТЗ; куда это нужно вставить я уже все по пробовал ни чего не получается подскажите |
|||
51
KonstantinK90
22.07.15
✎
12:43
|
куда это вставить и как потом передеть в табЧ приемника?
|
|||
52
icrocodile
22.07.15
✎
12:57
|
у тебя должно быть ПКГС твоей табличной части. В этой ПКГС в обработчике ПередОбработкой необходимо определить КоллекцияОбъектов.
из хелпа : КоллекцияОбъектов - Неопределено. Если в теле обработчика определить коллекцию (присвоив данной переменной значение, например, описывающее табличную часть или набор движений, например, типа ТаблицаЗначений), то стандартное получение коллекции выполняться не будет. |
|||
53
KonstantinK90
22.07.15
✎
13:01
|
у тебя должно быть ПКГС твоей табличной части. В этой ПКГС в обработчике ПередОбработкой Где у меня э
пкгс находится? |
|||
54
KonstantinK90
22.07.15
✎
13:02
|
||||
55
icrocodile
22.07.15
✎
13:04
|
в списке ПКС "Товары - Материалы" - это ПКГС.
|
|||
56
Aprobator
22.07.15
✎
13:05
|
(54) встань на папку товары и жми F2 там будет тебе счастье )))
|
|||
57
KonstantinK90
22.07.15
✎
13:13
|
на шел пкгс перед выгрузкой на писал ТвояТЗ = Источник.Товары.Выгрузить();
ТвояТЗ.ЗаполнитьЗначения(Справочники.Номенклатура.НайтиПоКоду("00000000007"), "Номенклатура"); ТвояТЗ.ЗаполнитьЗначения(1, "Количество"); ТвояТЗ.Свернуть("Номенклатура", "Количество,СебестоимостьСумма"); КоллекциЯОбъектов = ТвояТЗ; а в ПКС написал Значение = КоллекциЯОбъектов.Количество; и выдало ошибку Ошибка в обработчике события ПередВыгрузкой (свойства) ПКО = уатРемонтныйЛист (Документ: Заказ наряд) ПКС = 32 (Количество --> Количество) Объект = Заказ наряд С0063100 от 19.07.2015 21:11:53 (Заказ наряд) СвойствоПриемника = Количество (Число) Обработчик = ПередВыгрузкойСвойства ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(1,12)}: Переменная не определена (КоллекциЯОбъектов) ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML(8807) КодСообщения = 55 |
|||
58
icrocodile
22.07.15
✎
13:15
|
(57) ПередВыгрузкой нет КоллекцииОбъектов, там уже ОбъектКоллекции, тебе надо ПередОбработкой
|
|||
59
KonstantinK90
22.07.15
✎
13:19
|
что перед обработкой мне нужно сделать?
|
|||
60
ВРедная
22.07.15
✎
13:22
|
(59) Сколько тебе за это платят?
|
|||
61
KonstantinK90
22.07.15
✎
13:26
|
о все получилось? А как теперь при загрузке указывать нужную номенклатуру?
|
|||
62
KonstantinK90
22.07.15
✎
13:26
|
мало!
|
|||
63
KonstantinK90
22.07.15
✎
13:35
|
как при загрузке указать необходимую номенклатуру
|
|||
64
KonstantinK90
22.07.15
✎
13:56
|
вы еще здесь?
|
|||
65
ixijixi
22.07.15
✎
14:27
|
ОбъектКоллекции.Номенклатура = ТвойАлгоритмПоискаНоменклатуры();
|
|||
66
Aprobator
22.07.15
✎
16:09
|
(60) я бы спросил по другому - за это вообще платят?
|
|||
67
Naumov
22.07.15
✎
17:14
|
(63) В Конвертации группы свойств у ТЧ не ставишь выгрузку номенклатуры, в событии ПослеЗагрузки для ПКО документ-документ перебираешь получившуюся ТЧ и ставишь любую нужную тебе номенклатуру
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |