7.7 Удалить повторяющиеся строки

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем nestov, 11 апр 2012.

  1. TopicStarter Overlay
    nestov
    Offline

    nestov Опытный в 1С

    Регистрация:
    25 апр 2011
    Сообщения:
    65
    Симпатии:
    0
    Баллы:
    26
    Как мне в отчете удалить повторяющиеся строки?
    Отчет у меня выводится, примерно, так (по непонятным причинам дублирует почти всех сотрудников):
    факультет должн_ ставка
    физический доцент 1
    физический доцент 1
    исторический доцент 0,5
    исторический доцент 0,5
    и т.д.............
    в методе Свернуть("факультет, должность","ставка") я ставку суммирую по должностям и факультетам, поэтому свернуть по ней нельзя. как мне прописать в коде, чтобы те строки, которые полностью повторяются оставить в одном варианте?
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Вот так.
    Код:
    Свернуть("факультет, должность,ставка","") 
  3. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Думаю, лучше разобраться с причиной дублирования...
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Эээээээээээ... там такая конфа... Видел просто.
  5. TopicStarter Overlay
    nestov
    Offline

    nestov Опытный в 1С

    Регистрация:
    25 апр 2011
    Сообщения:
    65
    Симпатии:
    0
    Баллы:
    26
    так мне ж нужно ставку суммированную вывести по факультетам и должностям, поэтому можно написать только так:
    Код:
    Свернуть("факультет, должность","Ставка")
    , поэтому и хочу прописать дополнительно, чтобы повторяющиеся строки удалить
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    именно так и удалите
  7. TopicStarter Overlay
    nestov
    Offline

    nestov Опытный в 1С

    Регистрация:
    25 апр 2011
    Сообщения:
    65
    Симпатии:
    0
    Баллы:
    26
    Так их и удалю, но ставка не будет ведь тогда суммироваться!
    Тут я нахожу только выход прописать что-то такое: что если факультет, должность и ставка дублируется, то удалить строку. Но вот как это в коде написать, я не знаю
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    В цикле копировать в другую таблицу с проверкой уже наличия в ТЗ.
  9. TopicStarter Overlay
    nestov
    Offline

    nestov Опытный в 1С

    Регистрация:
    25 апр 2011
    Сообщения:
    65
    Симпатии:
    0
    Баллы:
    26
    а можно чуть-чуть по-подробней:
    Я создам вторую таблицу:
    Код:
    Таб2=СоздатьОбъект("ТаблицаЗначений");
    а как потом эту проверку в цикле прописать?
    Код:
    Пока Таб.ПолучитьСтроку()=1 Цикл
    ?
    КонецЦикла;
    немного не понимаю.
    Заранее сильно благодарю !
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Хм... Возможно я плохо вас понял или вы сумбурно изъясняетесь.. Но ведь код
    Код:
    Свернуть("факультет, должность,ставка","") 
    как раз и даст нужный вам эффект!

    физический доцент 1
    физический доцент 1
    физический доцент 1
    физический доцент 0.5

    После применения кода вам даст

    физический доцент 1
    физический доцент 0.5


    Разве не этого вы добиваетесь?
  11. TopicStarter Overlay
    nestov
    Offline

    nestov Опытный в 1С

    Регистрация:
    25 апр 2011
    Сообщения:
    65
    Симпатии:
    0
    Баллы:
    26
    У меня проблема в том, что многие строки дублируются, а ставка должна быть просуммирована.
    Вот если я выведу для примера еще перед каждой строкой фамилию, то получится так:
    физический доцент 1 - Иванов
    физический доцент 1 - Иванов
    физический доцент 1 - Петров
    физический доцент 1 - Петров
    физический доцент 0,5 - Сидоров
    физический доцент 0.5 - Сидоров

    а нужно чтобы было так:

    физический доцент 1 - Иванов
    физический доцент 1 - Иванов
    физический доцент 1 - Петров
    физический доцент 1 - Петров
    физический доцент 0,5 - Сидоров
    физический доцент 0.5 - Сидоров

    и в итоге так:
    физический доцент 2 <------ т.е. ставка суммировалась, поэтому только так Свернуть("факультет, должность","Ставка")
    физический доцент 0,5
  12. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Ну и что вам мешает сделать так
    Код:
    Свернуть("факультет, должность,ставка, фамилия","");
    Свернуть("факультет, должность","ставка"); 
  13. TopicStarter Overlay
    nestov
    Offline

    nestov Опытный в 1С

    Регистрация:
    25 апр 2011
    Сообщения:
    65
    Симпатии:
    0
    Баллы:
    26
    да уж.... и чего я никак не пойму логику этого метода)) спасибо, вроде бы правильно теперь считает... нужно еще проверить будет
  14. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Чего уж тут непонятного....

    Позволяет свернуть таблицу значений по соответствующим значениям колонок, т.е. заменяет на одну строку все дублирующие (по значениям группировочных колонок) строки, суммируя значения по суммируемым колонкам.
    Т.е. выполняет как раз нужную вам задачу. Сначала удаляем дублирющиеся строки (суммирование по несуществующей колонке). Затем само суммирование

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