1c8 сворачивание Строкового типа таблицы значений

Тема в разделе "1C и всё что с ней связано", создана пользователем KiR, 4 дек 2007.

  1. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Есть таблица значений. Есть строковые и числовые поля, а также поля даты. Сворачиваю таблицу по полю даты. Все остальные записываю как второй параметр Свернуть("Дата","все остальные поля"). При этом числовые поля ссумируются нормально. А вот строковые поля (часть из которых имеет значение, а другая не имеет) - почему то принимают значение "0". Как добиться того чтобы Строковое поле, которое имеет значение при суммировании со строковым полем без значения - не теряло своего начального значения?
     
  2. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    Пипец! Теряю веру в человечество и в жизнь... С каких пор и в каком языке программирования можно было суммировать строковые величины?
     
  3. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    Однозначно свернуть табличку ручками.
     
  4. BiL

    BiL Гость

    Классный ник - Кир... :)
     
  5. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    PS: потому, что строки не суммируются а конкантенируются. А при попытке свернуть по строковому полю, 1С неявно преобразует строки к числу. т.к. по сворачиваемым полям она делает суммирование
     
  6. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Для: vitfil
    А разве нельзя суммировать две строки? Типа "Привет" + "Как дела?" разве не будет равно - "ПриветКак дела?"
    <!--QuoteBegin-Zab+4:12:2007, 16:00 -->
    <span class="vbquote">(Zab @ 4:12:2007, 16:00 )</span><!--QuoteEBegin-->Однозначно свернуть табличку ручками.[/quote]
    Можно поподробнее как это сделать?
    Для: BiL
    спасиб... :) вообще-то это имя почти))
     
  7. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    <!--QuoteBegin-KiR+4:12:2007, 16:27 -->
    <span class="vbquote">(KiR @ 4:12:2007, 16:27 )</span><!--QuoteEBegin-->А разве нельзя суммировать две строки? Типа "Привет" + "Как дела?" разве не будет равно - "ПриветКак дела?"
    [snapback]88323" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Еще раз повторю вслед за Zab! Для строк операция "суммирования" не определена. Суммируются ТОЛЬКО численные величины. А то, что для отображения операции "слияния" двух строк используется оператор "+", так это полиморфизм. (читать тут)

    Нет, ну почему моя жена решив заниматься программированием (и 1С в частности) сначала разобралась с ООП, потом читала книги по программированию, потом слушала мою лекцию по бухучету, читала книги по бухучету, и только после этого через 3 месяца начала разбираться с 1С. При этом, по образованию она совсем далеко не технарь. А человек, в подписи которого стоит "Программист", задает вопрос о "суммировании" двух строк.
     
  8. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Для: vitfil
    Да ладно. не сердись ты.
    Возможные варианты про жену: :)
    1. У нее есть время разобраться и научиться, а не нужно срочно здесть и сейчас
    2. Решила заниматся программированием видимо по собственному желанию а не по команде "срочно надо"
    3. Может она гений!)))

    P.S. Я не утверждаю что делаю правильно! Я лишь пользуюсь известными мне методами, а что не знаю - спрашиваю, а поняв не спрашиваю уже повторно. Поэтому прошу относится к этому с пониманием и предоставить правильный ответ вместо кучи (хоть и вполне справедливой) критики
     
  9. tanat

    tanat Well-Known Member

    Регистрация:
    2 мар 2007
    Сообщения:
    265
    Симпатии:
    0
    вы лучше опишите проблему в целом, возможно просто идете не тем путем.
     
  10. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    Я бы делал так:
    1. Свернул бы табличку: Свернуть("Все не числовые поля","все числовые поля")
    2. Отсортировал бы ее. по "Все не числовые поля"
    3. Перебирая в цикле строки, писал в новую табличку данные так, как ты представляешь.
     
  11. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Для: Zab
    Спасибо большое. Щас буду пробовать, но не уверен, что смогу добирся нужного результата.

    Для: tanat
    Ситуация такая есть результаты выборки с разных счетов (если понадобиться пришлю полный код). На одних счетах меня интересуют Субконто1+Субконто2 (Формируют Наименование), Колво, Сумма, и дата (полученная из строки). На остальных счетах меня интересуют только суммы (их нужно вставить в другие колонки) и со всех счетов снимаю период (т.е. дату записи). Обхожу в цикле Таблицу значений выборки и заполняю другую ТЗ, с нужным мне колличеством колонок. В итоге получаю в таблице только одно поле с Периодом (Датой), по которому могу свернуть значения. Числовые поля при этом естественно суммируются нормально, а вот как со строковыми быть - непонятно((
     
  12. Zab

    Zab Well-Known Member
    1C Team

    Регистрация:
    7 авг 2006
    Сообщения:
    583
    Симпатии:
    0
    жду тогда с вопросами
     
  13. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Для: Zab
    Так.. кое-что получилось. Теперь у меня есть таблица значений в которой идут:
    Строка с заполненным Строковым полем и частью цифровых значений, а под ней с пустым строковым полем и второй частью цифровых значений. Соответственно это мне нужно каким-то образом слить воедино... Как это сделать при обходе цикла каждой строки ТЗ? Или может есть какой-то другой вариант?
     
  14. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Для: Zab
    Спасибо, Гуру)))) Уже перелопатил все вручную и получилось как нада!)

    P.S. Поглади плиз еще эту темку... может тоже какую-нить идею подкинешь.. http://codeby.net/forum/threads/19326.html
     
Загрузка...

Поделиться этой страницей