7.7 цикл по строкам и стобцам

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем dreadnout, 2 ноя 2010.

  1. TopicStarter Overlay
    dreadnout
    Offline

    dreadnout

    Регистрация:
    2 ноя 2010
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    Доброго времени суток

    столкнулся с такой проблемой:

    есть много цехов и много профессий, которые добавляются пользователем из справочника, каждый в свой список
    потом эти элементы добавляются в секции (профессии в строки, цеха в колонки)
    это дело я реализовал (то что у меня получилось прикрепил), но как-то корявенько....и у меня добавляются две лишние строки

    Помогите, пожалуйста с этой задачей

    Вложения:

  2. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Непонятно зачем вы вообще применили СписокЗначений.

    Проще использовать ТаблицуЗначений со вспомогательным индексом.
  3. TopicStarter Overlay
    dreadnout
    Offline

    dreadnout

    Регистрация:
    2 ноя 2010
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    ну, я так понимаю, что проблем-то не в этом...даже если сделаю таблицей значений, то от этого заполнение не станет правильным
  4. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    так приведите нормальный код заполнения, а не только вывода в таблицу
  5. TopicStarter Overlay
    dreadnout
    Offline

    dreadnout

    Регистрация:
    2 ноя 2010
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    потом я буду создавать ТЗ, там пересчет людей по профессиям и цехам будет вестись...

    я просто в 1с еще новенький и стараюсь делать все постепенно...сначала вот пытаюсь вывести шапку, а только потом заполнять всю таблицу, чтобы в случае ошибки или неправильного пути решения не нужно было переписывать половину кода
  6. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    у вас сам подход не верный. Какая у вас структура данных и как вы хотите выводить?
  7. TopicStarter Overlay
    dreadnout
    Offline

    dreadnout

    Регистрация:
    2 ноя 2010
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    вроде, получилось...нужно вывести отчет, в кот на пересечении граф цех/профессия выводилось число работающих....теперь я хочу создать ТаблЗначений и от туда выводить и Заголовки шапки(наименования цехов и профессий) и колличество работающих....такой подхот правильный?

    p.s. профф и цеха в ТЗ буду добавлять из списка в диалоге программы

    Вложения:

  8. Бухгалтерский угодник
    Offline

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

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

    dreadnout

    Регистрация:
    2 ноя 2010
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    т.е. нужно создать ТЗ, в кот все цеха и все профессии, потом создать ТЗ1, в которую будут попадать элементы по условию, только выбранных цехов и профессий, и уже из нее выводим отчет?
  10. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Не совсем. У вас что получается: Человек-Профессия-Цех.
    1)Создаем ТЗ: Профессия-Цех-Счетчик(первоначально=1)
    2)Применяем метод Свернуть после выборки

    В принципе все... Мы получили сколько профессий в каждом цеху.
    Теперь из этой ТЗ выгрузим в 2 вспомогоательные ТЗ1 и ТЗ2 профессии и цеха отдельно (не забываем их тоже свернуть по пустой колонке т.к. возможны дубли)- это наши колонки/строки по которым строится макет отчета.

    Готово... Можно выводить ТЗ. Только лучше пробежаться по ТЗ еще разок чтобы добавить индекс поиска профессия/цех

    Если же нужно в отчет выводить расшифроку ПО ЛЮДЯМ (по дкойному клику на ячейке отчета) тут действительно нужно бы применить СписокЗначений (РазмерСписка вместо счетчика)
  11. TopicStarter Overlay
    dreadnout
    Offline

    dreadnout

    Регистрация:
    2 ноя 2010
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    а вы не моглибы написать как примерно будет выглядеть метод Свернуть()?
  12. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Вообще-то существует синтаксический помошник...

    Свернуть(<ГруппКолонки>,<СуммКолонки>)
    Назначение:
    Позволяет свернуть таблицу значений по соответствующим значениям колонок, т.е. заменяет на одну строку все дублирующие (по значениям группировочных колонок) строки, суммируя значения по суммируемым колонкам.
    Параметры:
    <ГруппКолонки> - группировочные колонки (номера или идентификаторы колонок через запятую), по которым группировать данные.
    <СуммКолонки> - суммируемые колонки (номера или идентификаторы колонок через запятую), по которым суммировать данные.


    Код:
    ТЗ.Свернуть("ИмяКолонки1,ИмяКолонки2","Счетчик")
    
    
  13. TopicStarter Overlay
    dreadnout
    Offline

    dreadnout

    Регистрация:
    2 ноя 2010
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    спасибо, что помогаете...а синтакс помощником я пользовался, только у меня получается, что если пишу

    Код:
    ТЗ.Свернуть("Цех", "Счетчик")
    
    , то он потом не находит колонку Профессия и наоборот: если пишу "Профессия" - не находит Цех
  14. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Правильно.... Вы не указываете колонку - 1с считает что она не нужна при свертке и автоматом ее удаляет...

    Нужно так:
    Код:
    ТЗ.Свернуть("Цех,Профессия","Счетчик");
    
    
  15. TopicStarter Overlay
    dreadnout
    Offline

    dreadnout

    Регистрация:
    2 ноя 2010
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    и так пробывал...ничего не изменяется.....видимо где-то накасячи, ладно, не буду отвлекать - буду сидеть разбираться.....СПАСИБО за помощь
  16. TopicStarter Overlay
    dreadnout
    Offline

    dreadnout

    Регистрация:
    2 ноя 2010
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    кстати, я не СписокЗначений, а просто список использовал...пользователь должен был нажать на кнопку, после чего открывается таблица цеха и он(пользователь) выбирает те цеха, которые ему нужно вывести, далее они попадали в этот список....тоже самое с профессиями

    а потом я все что попало в этот список выгружал в ТЗ
  17. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Это и есть СписокЗначений только с пометками (если вы про форму отчета).

    И вообще - немного странная конструкция. Анализировать В ЛЮБОМ случае придется все данные так что отметки пользователя могут играть роль только при выводе на экран
  18. TopicStarter Overlay
    dreadnout
    Offline

    dreadnout

    Регистрация:
    2 ноя 2010
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    а правильно будет создать ТЗ с колонками "ФИО","Цеха","Должн", в которую будут добавляться те цеха, которые выбраны в СпискеЗначений???



    а больше я не знаю какую конструкцию можно использовать
  19. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Это ведь будет накладывать лищнее условие в выборке... Зачем?
    Я бы сделал иначе - анализировал весь справочник сотрудноков без каких-либо условий.
    А вто при выводе в отчет - можно и проверять.
    Используйте список с пометками на форме отчета - так удобнее
  20. TopicStarter Overlay
    dreadnout
    Offline

    dreadnout

    Регистрация:
    2 ноя 2010
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    ой, и правда, так удобнее, СПАСИБО

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