Имя: Пароль:
1C
 
вопрос по 77 тис
0 asder117
 
29.10.16
21:57
Бухи дали задачку начертать внешку накладной в которой бы объединялась номенклатура. к примеру они набирают
Товар1 - 1 шт цена 20
Товар1 - 1 шт цена 30
Товар2 - 3 шт
Товар3 - 4 шт цена 100
Товар1 - 2 шт цена 20
Товар3 - 1 шт.  цена 100
Товар3 - 1 шт.  цена 100
В накладной их надо сгруппировать чтобы не выходила портянка.
т.е при выводе стандарной накладной они выодят портянкой.
цель в накладной сгруппировать номенклатуру с одинаковыми ценами (сложив количество и сумму). пока недоппетрю как
Спасибо
1 GrVas
 
29.10.16
22:01
выгрузить в таблицу, потом свойством "СВЕРНУТЬ"
2 GrVas
 
29.10.16
22:02
(1) методом
3 GrVas
 
29.10.16
22:02
Свернуть(<?>,);
Синтаксис:
Свернуть(<ГруппКолонки>,<СуммКолонки>)
Назначение:
Позволяет свернуть таблицу значений по соответствующим значениям колонок, т.е. заменяет на одну строку все дублирующие (по значениям группировочных колонок)  строки, суммируя значения по суммируемым колонкам.
Параметры:
<ГруппКолонки> - группировочные колонки (номера или идентификаторы колонок через запятую), по которым группировать данные.
<СуммКолонки> - суммируемые колонки (номера или идентификаторы колонок через запятую), по которым суммировать данные.
4 asder117
 
29.10.16
22:04
(3) я тоже про это думал.ясно а с ценами что будет? он же скорее всего разбирать не будет он цены и сложит тоже а мне это не есть гуд
5 GrVas
 
29.10.16
22:07
перечисляй цены в ГруппКолонки
6 GrVas
 
29.10.16
22:09
Свернуть("КолонкаТовара,КолонкаЦен","КолонкаКоличества")
7 GrVas
 
29.10.16
22:09
ТалицаВыгрузки.Свернуть("КолонкаТовара,КолонкаЦен","КолонкаКоличества")
8 asder117
 
29.10.16
22:11
(7) т.е я во внешке забираю табличную часть. ее сворачиваю. и потом выкидываю на печатную форму. юлин должно взлететь наверное
9 NorthWind
 
29.10.16
22:45
(4) свертываете по товару и единице, а суммируете по количеству и сумме. Соответственно в итоговом документе цену получаете делением суммы на количество.
10 Злопчинский
 
29.10.16
23:50
Возьми на инфостарте мою обработку
Commoniter
11 asder117
 
30.10.16
14:10
(9) значит цена будет уже не та что была в документе?
12 asder117
 
30.10.16
14:17
(10) взял спасибо, тоже пригодиться. но тут задача другая. это собрать в одну строку несколько одинаковых строк с одинаковой номенклатурой и ценой но с разным количеством...не создавая при этом документ а только печатная форма. спс.
13 Diman_Kr
 
30.10.16
14:30
(12) см (6) там все сказано.
14 asder117
 
30.10.16
14:41
(13) я смсотрю. просто (9) с толку сбил.
15 Злопчинский
 
30.10.16
15:07
Я тебе скажу больше, цена редко кого интересует если суммовые ограничения сделки не нарушены. А вот если у тебя в доке цена в одной строке 40, а в другой 60 - то вообщем это есть плохо...
16 asder117
 
30.10.16
18:55
(15) моих интересует. они позиции набивают с разных приходов. накладная копится и набивается. потом при распечатке  портянка.и надо эту порнятнку прбрать. вот счас пытаюсь со сверткой совладать. с 77 давно не возился в основном на 8
17 NorthWind
 
30.10.16
18:56
(14) ну добавьте к полям свертки (товар, единица) еще и цену, тогда соберете по одинаковой цене.
18 RoRu
 
30.10.16
19:00
(16) может еще обработку подбора удобную им замутить ?
19 asder117
 
30.10.16
19:17
(17) я так и делаю. спасибо (18) ну это пока под вопросом
20 asder117
 
30.10.16
21:09
(19) все вроде взлетело. вот думаю упростить уйти от выгрузить и загрузить лишних. интересно реально свернуть табличную часть документа?
21 asder117
 
30.10.16
21:52
Взлетело вроде. сделал так
Докум.ВыбратьСтроки();
    Докум.ВыгрузитьТабличнуюЧасть(ТЗВрем);
    ТЗВрем.Свернуть("ВидТМЦ,Номенклатура,Единица,Коэффициент,Цена,СтавкаНДС,СтавкаНП","Количество,Сумма,СуммаНДС,СуммаНП");
    ТЗВрем.ВыбратьСтроки();
    Пока ТЗВрем.ПолучитьСтроку() = 1 Цикл
        Ном = Ном + 1;
        
        //Начинаем новую страницу, если предыдущая строка была последней на странице
        //или пора переносить последнюю строку на последнюю страницу с подвалом.
        ЦелаяСтраница = (СтрокШапки + Ном - 1) / СтрокНаСтранице;
далее заполняю строки