|
Как свернуть таблицу значений, что бы не преобразовывало в числа (склеило 2 строки ТЗ)? | ☑ | ||
---|---|---|---|---|
0
svird
21.10.17
✎
16:47
|
Надо склеить 2 строки по сотрудники и должности (колонки с одинаковыми людьми и разными значениями по датам должны сложится). В колонках со значениями по датам могут быть символы, которые преобразуются в 0 если использовать: Таб.Свернуть("ИНН,Сотрудник,Должность,ДатаПриема,ФормаЗанятости", "День1,День2,День3,День4,День5,День6,День7,ИндексДня1,ИндексДня2,ИндексДня3,ИндексДня4,ИндексДня5,ИндексДня6,ИндексДня7,ИндексДняГода1,ИндексДняГода2,ИндексДняГода3,ИндексДняГода4,ИндексДняГода5,ИндексДняГода6,ИндексДняГода7");
в описании добавил что это строка, и оно все равно преобразует в 0: Таб.Колонки.Добавить("День1", Новый ОписаниеТипов("Строка")); Таб.Колонки.Добавить("День2", Новый ОписаниеТипов("Строка")); Таб.Колонки.Добавить("День3", Новый ОписаниеТипов("Строка")); |
|||
1
svird
21.10.17
✎
16:49
|
может надо использовать Структуру?
|
|||
2
Tateossian
21.10.17
✎
16:55
|
(1) Напиши пример этих двух строк таблицы значений.
|
|||
3
svird
21.10.17
✎
17:00
|
Огородник Н А касcир О О О О
Огородник Н А касcир О О |
|||
4
svird
21.10.17
✎
17:00
|
во втором случае О О стоят дальше, просто сместилось
|
|||
5
Филиал-msk
21.10.17
✎
17:02
|
Ручками. Делаешь вспомогательную таблицу "измерений", перебираешь, ищешь в исходной таблице строки, перебираешь, складываешь, присваиваешь результат.
|
|||
6
svird
21.10.17
✎
17:02
|
при свертке:
Огородник Н А касcир 0 0 0 0 0 0 Уже с нулями, а не О |
|||
7
svird
21.10.17
✎
17:04
|
(5) Понял, спасибо, поиграюсь
|
|||
8
Tateossian
21.10.17
✎
17:05
|
(6) Полагаю, таким образом работает функция Свернуть. Потом тип значений на Число что ли меняется, после свертки? Попробуй запросом сгруппировать, например, по максимум или минимум.
|
|||
9
svird
21.10.17
✎
17:09
|
(8) спасибо
|
|||
10
svird
21.10.17
✎
17:44
|
Запросом не сработало:
{(33, 10)}: Неверные параметры "МИНИМУМ" МИНИМУМ(<<?>>ВнТабл.День1) КАК День1, |
|||
11
Tateossian
21.10.17
✎
18:11
|
(10) Запрос покажи
|
|||
12
h-sp
21.10.17
✎
18:13
|
ТаблицаЗначений (ValueTable)
Свернуть (GroupBy) Синтаксис: Свернуть(<КолонкиГруппировок>, <КолонкиСуммирования>) Параметры: Примечание: Если в колонке установлен тип и он единственный, то при суммировании будет предприниматься попытка преобразования значения к типу Число. Если колонке не присвоены типы, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться. Если в колонке несколько типов и среди них есть тип Число, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться. Если в колонке несколько типов и среди них нет типа Число, то результат суммирования будет 0, который будет присвоен в соответствующую колонку, где будет преобразован к значению по умолчанию для типа, установленного в колонке. |
|||
13
svird
21.10.17
✎
18:26
|
(11)
ВЫБРАТЬ | ВнешняяТаблица.ИНН, | ВнешняяТаблица.Сотрудник, | ВнешняяТаблица.Должность, | ВнешняяТаблица.ДатаПриема, | ВнешняяТаблица.ФормаЗанятости, | ВнешняяТаблица.День1, | ВнешняяТаблица.День2, | ВнешняяТаблица.День3, | ВнешняяТаблица.День4, | ВнешняяТаблица.День5, | ВнешняяТаблица.День6, | ВнешняяТаблица.День7, | ВнешняяТаблица.ИндексДня1, | ВнешняяТаблица.ИндексДня2, | ВнешняяТаблица.ИндексДня3, | ВнешняяТаблица.ИндексДня4, | ВнешняяТаблица.ИндексДня5, | ВнешняяТаблица.ИндексДня6, | ВнешняяТаблица.ИндексДня7 |ПОМЕСТИТЬ ВнешняяТаблица |ИЗ | &ВнешняяТаблица КАК ВнешняяТаблица |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВнТабл.ИНН, | ВнТабл.Сотрудник, | ВнТабл.Должность, | ВнТабл.ДатаПриема, | ВнТабл.ФормаЗанятости, | МИНИМУМ(ВнТабл.День1) КАК День1, | МИНИМУМ(ВнТабл.День2) КАК День2, | МИНИМУМ(ВнТабл.День3) КАК День3, | МИНИМУМ(ВнТабл.День4) КАК День4, | МИНИМУМ(ВнТабл.День5) КАК День5, | МИНИМУМ(ВнТабл.День6) КАК День6, | МИНИМУМ(ВнТабл.День7) КАК День7, | МИНИМУМ(ВнТабл.ИндексДня1) КАК ИндексДня1, | МИНИМУМ(ВнТабл.ИндексДня2) КАК ИндексДня2, | МИНИМУМ(ВнТабл.ИндексДня3) КАК ИндексДня3, | МИНИМУМ(ВнТабл.ИндексДня4) КАК ИндексДня4, | МИНИМУМ(ВнТабл.ИндексДня5) КАК ИндексДня5, | МИНИМУМ(ВнТабл.ИндексДня6) КАК ИндексДня6, | МИНИМУМ(ВнТабл.ИндексДня7) КАК ИндексДня7 |ИЗ | ВнешняяТаблица КАК ВнТабл | |СГРУППИРОВАТЬ ПО | ВнТабл.ИНН, | ВнТабл.Сотрудник, | ВнТабл.Должность, | ВнТабл.ДатаПриема, | ВнТабл.ФормаЗанятости" |
|||
14
Филиал-msk
21.10.17
✎
18:40
|
(10) (11) У тебя строка неограниченной длины. Или ограничивай или считай максимум(выразить день1 как строка (1024)) например
|
|||
15
Tateossian
21.10.17
✎
18:46
|
(13) Поправь создание таблицы на Таб.Колонки.Добавить("День1", Новый ОписаниеТипов("Строка"), , Новый квалификаторыСтроки(300))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |