|
v7: Работа с таблицами 2 | ☑ | ||
---|---|---|---|---|
0
Slypower
23.04.15
✎
17:48
|
Не хотелось плодить темы, но ранее открытая что-то не разрешена для редактирования.
Работа с таблицей В общем то, что не мог сделать, сделал. Другой вопрос. По итогу формируется таблица на выходе. Есть несколько колонок. Формируются они не по колонкам, а построчно. В Последней, так называемой, "Счет" выводятся 1 и 0. Как посчитать количество "1"? Их можно сложить, но как тогда получить этот итог? Вопрос в том, как работать с данной колонки? |
|||
1
Garykom
гуру
23.04.15
✎
17:50
|
...наймите специалиста©
|
|||
2
Slypower
23.04.15
✎
17:53
|
(1) как это я сразу не догадался... Учителя в школе так же отвечали, когда было не понятно?
Если была возможность нанять, то здесь бы ничего никто не писал |
|||
3
Ёпрст
23.04.15
✎
17:54
|
(0) в коде при выводе таблицы посчитать - самое простое
|
|||
4
mehfk
23.04.15
✎
17:55
|
(2) Ты не в школе
|
|||
5
zenik
23.04.15
✎
17:56
|
Таблица.Итог("Счет")
|
|||
6
Wirtuozzz
23.04.15
✎
17:57
|
(5) ну зачем? теперь неинтересно станет ветку читать =)
|
|||
7
Slypower
23.04.15
✎
18:00
|
(3) таблица формируется в зависимости от количества документов за период. Если просто в коде считать сумму, то он суммирует все 1 относящиеся в данному типу дока. Есть и второй тип.
Колонка "Счет" формируется следом за колонками подходящий к выборке доков. Соответсвенно, несколько колонок "Счет". Нужно считать сумму для каждой. Было перепробованно Таблица.Итог("Счет")и всего такого. Суть в том, что таблица формируется запросом не в колонку, а затем вторая и т.д., а в строчку. Нашел строчку в однов доке, сравнил со вторым, вывел, если не 0, тогда в колонку "Счет" ставим "1". И так далее. Снизу добавляем отдельную секцию, подитоживаем. И там уже нужно прикрепить секции к подходящим колонкам доков. Вот как обратиться к колонке? |
|||
8
silent person
23.04.15
✎
18:03
|
ты хочешь читать данные из таблицы отчета ? это изврат, меняй принцип построения отчета.
ЗЫ к ячейке таблицы можно обратится так же как и в Excel по адресу или по номеру строки и номеру колонки Область(<?>) Синтаксис: Область(<R1>,<C1>,<R2>,<C2>) Назначение: Возвращает значение типа ''ОбластьТаблицы'' области выходной таблицы или таблицы в режиме ввода данных. |
|||
9
Garykom
гуру
23.04.15
✎
18:10
|
ТС открой для себя запросы... они даже в 77 были
|
|||
10
Garykom
гуру
23.04.15
✎
18:11
|
И не надо в 1С работать как в Ёкселе...
|
|||
11
Ёпрст
23.04.15
✎
18:28
|
(7) и ? Сложность то в чем ?
|
|||
12
Ёпрст
23.04.15
✎
18:31
|
Если одна колонка, тупо счетчик:
Сумма=0; Цикл Сумма= Сумма+Неччто; //вывод таблицы КонецЦикла; Ежели несколько, то возможны варианты, самый примитивный - пихать в ТЗ. Потом свёртка тз и фильтрация (или поиск) по нужному показателю при выводе. Усё |
|||
13
Slypower
24.04.15
✎
09:56
|
(12) вот об этом я и думал. Не могу запихнуть в ТЗ. Каким методом это сделать, чтобы данные с таблицы запихнуть? Или нужно записывать коде формирования стобца "Счет"?
|
|||
14
Ёпрст
24.04.15
✎
10:42
|
(13) проще - в коде формирования (или сразу всё иметь с запроса)
Хочешь извращений и замедлить чутка скорость - ну бегай через Область() Таблицы .. имей текст ячеек, считай. Выводи итоги |
|||
15
Slypower
24.04.15
✎
16:27
|
как создать запрос из данных из ячеек таблицы?
|
|||
16
Ёпрст
24.04.15
✎
16:39
|
(15) надо проблему с головы решать, а не с хвоста.
Изначально, данные откуда взялись для отчета ? Вот там и надо переделать |
|||
17
Gantosha
24.04.15
✎
16:39
|
я вот лично не понимаю , что хочет автор. Но задача видимо достойная.
Есть запросы .. из них можно получить таблицу значений , из таблицы значений вывести отчет .. в обратную сторону нужно только если какие то данные ну очень нужно вносить через форму отчеты. Запрос создать можно только написав его текст в конфигураторе. |
|||
18
Garykom
гуру
24.04.15
✎
16:53
|
(17) эээ? давным-давно в 7.7 делали динамически формируемый текст запроса в зависимости от галочек-полей на форме настроек отчета...
вот данные брать запрос могет в 7.7 только из базы никаких "временных таблиц" да и то с этим извращаются с 1С++ |
|||
19
Slypower
24.04.15
✎
16:54
|
Данные берутся из запросов, из двух запросов. Запрашиваем документ с товарами в данном документе А. Затем находим 2 разных документа Б и С агента. Сравниваем наименование товара из А в Б и С, строим отчет:
А Б С Товар1 1 1 Товар2 0 1 Товар3 1 Товар4 2 4 и т.д. Где пусто - значит товара нет. Все в количествах. Строится из двух ТЗ. Первая ТЗ документы Б и С, вторая ТЗ из документа А. Как уже писал, строится не столбами, а построчно: нашли товар в доке А сравнили с доком Б вывели кол-во, сравнили с доком С, вывели кол-во. Следующий товар из дока А и т.д. Так вот, задача посчитать ненулевые товары в Б (сумму вывести снизу) и ненулевые из сравнения Б и С (Сумму вывести снизу). Вроде все работает, но... например в С есть пустые строчки, он их считает как строка и не учитывает при подсчете, хотя при выводе доп колонки Д (там цифры сравнения, если >0 =1, иначе =0) то показывает как 1, но не считает за цифру Так задача не сложная, а по факту бьюсь о ней уже довольно таки долго |
|||
20
Slypower
24.04.15
✎
16:58
|
Данные, а именно какие доки брать идут из Таблицы Значений. Для нее данные идут из запросов по каждому из 3-х доков
|
|||
21
Garykom
гуру
24.04.15
✎
17:04
|
Тока не говорите что ABC-анализ ваяем...
|
|||
22
Slypower
24.04.15
✎
17:06
|
(21) это какой-то отчет? Наш отчет был написан программистом ранее, его переделываю
|
|||
23
Garykom
гуру
24.04.15
✎
17:07
|
(22) мне тут дом строители построили ранее... так я его переделываю - подвал себе хочу со стоянкой и бассейн на крышу...
|
|||
24
Slypower
24.04.15
✎
17:09
|
(23) Это лучшее сравнение, что я слышал))))
|
|||
25
Slypower
25.04.15
✎
11:32
|
Нечет ли логику данные строки?
ТЗ=СоздатьОбъект("ТаблицаЗначений"); ТЗ.НоваяКолонка("Счет"); ТЗ.Заполнить(н); СуммаН=ТЗ.Итог("Счет"); где н - это 1 или 0 |
|||
26
Дмитрий
25.04.15
✎
12:13
|
Сделай сводную таблицу с колонками
"Товар", "КоличествоА", "КоличествоБ", "КоличествоС". добавь в таблицу данные из нужных документов, только при этом присваивай значения всем колонкам, т.е. для документа А код будет Товар = Товар КоличествоА = Количество КоличествоБ=0 КоличествоС=0 и т.д. Подом сделай Свернуть("Товар", "КоличествоА, КоличествоБ, КоличествоС") - и будет тебе счастье |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |