7.7 Не правильный отчет

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

  1. TopicStarter Overlay
    jora
    Offline

    jora

    Регистрация:
    3 ноя 2009
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    1
    пример очень помог, данные уже выводятся, но почему-то не совпадают с данными в ТЗ
  2. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    у тебя наименование - пустое, а ФИО разложены на 3 отдельных реквизита, ето универсальная обработка..
  3. TopicStarter Overlay
    jora
    Offline

    jora

    Регистрация:
    3 ноя 2009
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    1
    Я пока пробую только с фамилиями.
    В ТЗ все выводится правильно, а вот в саму таблицу - нет
    Что значит "наименование пустое" ?
  4. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    Вот есть готовое, только для ФИО


    рекизит Наименование в спрСотрудники - незаполнен

    Есть конфа для изучения, на простых примерах , если надо могу скинуть, там разберешся
    она мне оч помогла в начале

    Вложения:

    • 1.ert
      Размер файла:
      9 КБ
      Просмотров:
      33
  5. TopicStarter Overlay
    jora
    Offline

    jora

    Регистрация:
    3 ноя 2009
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    1
    выводится отлично, осталось только впихнуть ограничение по дате (НачДата и КонДата), в запросе прописал, но прога как будто игнорирует написаное, хотя если вывести в ТЗ то все правильно, как будто таблица не из запроса данные берет

    а чем он должен быть заполнен? я в режиме Предприятия добавил пару сотрудников и там у меня их фамилии занесены

    было бы здорово, буду очень благодарен
  6. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    Вот отчет с выбором интервала, с полями Сотрудник и ДатаПринятия.Только в модуле подставь свои данные. И конфа..
    Токо если не запустится предприятие, поменяй кодовую страницу

    Разберись с глобальным модулем!!

    Вложения:

  7. TopicStarter Overlay
    jora
    Offline

    jora

    Регистрация:
    3 ноя 2009
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    1
    Все получилось, спасибо)
  8. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    Обращайся))
  9. TopicStarter Overlay
    jora
    Offline

    jora

    Регистрация:
    3 ноя 2009
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    1
    При доработке отчета появились еще вопросы:
    1) Как узнать что реквезит типа Дата пустой? например если он пустой - человек не уволен, а если не пустой - уволен.
    2) У меня ФИО состоит из трех реквизитов, как их вывести в одну ячейку секции?
  10. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    1) Используй функцию ПустоеЗначение()
    Функция определяет, является ли пустым переданное в параметре значение. Возвращает число: 1- если значение пустое и 0 - если нет. При этом применяется следующее правило:
    - значение неопределенного типа - всегда пустое;
    - значение типа ''строка'' проверяется как в методе ПустаяСтрока;
    - значение типа ''число'' проверяется на равенство нулю;
    - значение типа ''дата'' проверяется на пустое значение;
    - значения следующих типов: ''справочник'', ''перечисление'', ''документ'', ''счет'', ''вид субконто'', ''план счетов'', ''календарь'' проверяются как в методах Выбран для соответствующего типа объекта.;
    - значение типа ''СписокЗначений'' считается пустым, если в нем нет значений;
    - значение типа ''ТаблицаЗначений'' считается пустым, если нет ни одной строки таблицы.


    2) Выводи суммированием
    Код:
    а="Пупкин";
    б="Модест";
    с="Онуфриевич";
    Сообщить(а+" "+б+" "+с);
    
    
    вернет Пупкин Модест Онуфриевич
  11. TopicStarter Overlay
    jora
    Offline

    jora

    Регистрация:
    3 ноя 2009
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    1
    Попытался эту штуку в запрос запихнуть, а прога говорит что нельзя так
    ТекстЗапроса = ТекстЗапроса + "Условие (ПустоеЗначение(Сотрудник.Уволен));"+РазделительСтрок;

    А в ячейку секции как вывести? У меня там написано Запрос.Сотрудник.Фамилия.
    Попробовал написать
    Код:
    Запрос.Сотрудник.Фамилия+" "+Запрос.Сотрудник.Имя
    
    
    а прога матерится(
  12. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    Ето функция, ее отдельно нужно определить, синтаксис смотри в синтакс-помощнике
  13. TopicStarter Overlay
    jora
    Offline

    jora

    Регистрация:
    3 ноя 2009
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    1
    Что значит "определить" ?
  14. Бухгалтерский угодник
    Offline

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

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

    Код:
    ""+Запрос.Сотрудник.Фамилия+" "+Запрос.Сотрудник.Имя
    
    
    
  15. TopicStarter Overlay
    jora
    Offline

    jora

    Регистрация:
    3 ноя 2009
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    1
    Вдруг заработало само по себе, но между именем и отчеством почему много пробелов, причем количество их не фиксировано от 4 до 7 где-то, хотя в ячейке ставил 1 пробел
  16. Бухгалтерский угодник
    Offline

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

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

    Код:
    СокрЛП(Запрос.Сотрудник.Фамилия)+" "+СокрЛП(Запрос.Сотрудник.Имя)
    
    
    

    СокрЛП(<Строка>)
    Назначение:
    Отсекает стоящие слева и справа пробелы и возвращает результирующую строку.
  17. TopicStarter Overlay
    jora
    Offline

    jora

    Регистрация:
    3 ноя 2009
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    1
    Помогло, спасибо.
    А с той функцией я так и не понял, мне надо что б функция на стадии запроса отсекала кого не надо
  18. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    Надо цикл написать, типа:
    Код:
    Если пустоезначение(Принят)=1 тогда
    ....
    Конецесли
    
    
  19. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Использовать внешнюю функцию внутри запроса это крайтний случай. ОЧЕНЬ сильно замедляет выполнение запроса

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