Вход | Регистрация

1С:Предприятие ::

Метки: 

Как свернуть таблицу значений, что бы не преобразовывало в числа (склеило 2 строки ТЗ)?

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

Свернуть(<КолонкиГруппировок>, <КолонкиСуммирования>)
Параметры:

Примечание:

Если в колонке установлен тип и он единственный, то при суммировании будет предприниматься попытка преобразования значения к типу Число.
Если колонке не присвоены типы, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них есть тип Число, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них нет типа Число, то результат суммирования будет 0, который будет присвоен в соответствующую колонку, где будет преобразован к значению по умолчанию для типа, установленного в колонке.
   svird
 
13 - 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
              |ИЗ
              |    ВнешняяТаблица КАК ВнТабл
              |
              |СГРУППИРОВАТЬ ПО
              |    ВнТабл.ИНН,
              |    ВнТабл.Сотрудник,
              |    ВнТабл.Должность,
              |    ВнТабл.ДатаПриема,
              |    ВнТабл.ФормаЗанятости"
   Филиал-msk
 
14 - 21.10.17 - 18:40
(10) (11) У тебя строка неограниченной длины. Или ограничивай или считай максимум(выразить день1 как строка (1024)) например
   Tateossian
 
15 - 21.10.17 - 18:46
(13) Поправь создание таблицы на  Таб.Колонки.Добавить("День1", Новый ОписаниеТипов("Строка"), , Новый квалификаторыСтроки(300))


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует