8.х Помогите с отчетом

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем E}|{uk, 11 авг 2010.

  1. TopicStarter Overlay
    E}|{uk
    Offline

    E}|{uk

    Регистрация:
    11 авг 2010
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1
    Добавила иначе, результат не поменялся =(
  2. HexaD
    Offline

    HexaD Опытный в 1С

    Регистрация:
    19 июн 2010
    Сообщения:
    59
    Симпатии:
    0
    Баллы:
    26
    Не всё мне понятно в вашем последнем запросе. Например, не пойму почему поле "Расчёт" должно быть равно 0 во всех случаях, кроме "Доплата%". Мне кажется, что это поле лучше всегда заполнять видом расчёта.

    Поле "Руб", которое у вас получается пустым, лучше попробовать считать по-другому: или добавить этот расчёт в вычисляемые поля, или сделать весь ваш запрос вложенным, кроме поля "Руб", а это поле уже считать во внешнем запросе вот так:

    Код:
    ВЫБРАТЬ
    ВложенныйЗапрос.СотрудникФизлицо,
    ВложенныйЗапрос.Расчет,
    ВложенныйЗапрос.Процент,
    ВложенныйЗапрос.Оклад,
    ВложенныйЗапрос.Оклад * ВложенныйЗапрос.Процент / 100 КАК Руб
    ИЗ
    (ВЫБРАТЬ
    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник.Физлицо КАК СотрудникФизлицо,
    ВЫБОР
    КОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчета.Наименование ПОДОБНО "Доплата%"
    ТОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчета
    ИНАЧЕ 0
    КОНЕЦ КАК Расчет,
    ВЫБОР
    КОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчета.Наименование = "Оклад по дням"
    ТОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1
    ИНАЧЕ ВЫБОР
    КОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчета.Наименование ПОДОБНО "Районный коэффициент"
    ТОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1
    ИНАЧЕ 0
    КОНЕЦ
    КОНЕЦ КАК Процент,
    ВЫБОР
    КОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчета.Наименование = "Оклад по дням"
    ТОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1
    КОНЕЦ КАК Оклад
    
    ИЗ
    РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних КАК ПлановыеНачисленияРаботниковОрганизацийСрезПоследних
    ГДЕ ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник.Физлицо.Наименование ПОДОБНО "Ми%") КАК ВложенныйЗапрос
    
    Вроде бы, ничего дублироваться не должно.
  3. TopicStarter Overlay
    E}|{uk
    Offline

    E}|{uk

    Регистрация:
    11 авг 2010
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1
    "Не всё мне понятно в вашем последнем запросе. Например, не пойму почему поле "Расчёт" должно быть равно 0 во всех случаях, кроме "Доплата%". Мне кажется, что это поле лучше всегда заполнять видом расчёта."
    делалось так поскольку мне ничего кроме доплат выводить не нужно..

    Ваш вариант действительно не дублирует,но есть ещё одно НО с которым я уже сталкивалась... в надбавках перестают считаться рубли...
  4. HexaD
    Offline

    HexaD Опытный в 1С

    Регистрация:
    19 июн 2010
    Сообщения:
    59
    Симпатии:
    0
    Баллы:
    26
    Т.е. поле «Руб» не считается вообще?

    Если вы выводите таблицу:

    СотрудникФизлицо | Расчет | Процент | Оклад | Руб
    Сидоров | Зарпл | 15 | 10000 | ?

    и у вас поле "Руб" выводится нулевым, то, значит, или процент равен нулю или оклад или оба пустые. Тогда нужно разбираться, почему эти поля содержат ноль. Или я не так понял?
  5. TopicStarter Overlay
    E}|{uk
    Offline

    E}|{uk

    Регистрация:
    11 авг 2010
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1
    | Процент| Руб | записывается в группировки по Расчет
    СотрудникФизлицо | Оклад | Процент| Руб |
    Сидоров | 10000 | 20|пусто|

    Я использую группировку таблицу по сотруднику(строка) и Расчет(колонки)... как я понимаю не заполнения связано с тем,что если мы будем выводить с помощью обычной группировки то будем получать
    СотрудникФизлицо | Оклад | Процент|
    Сидоров | 10000 | пусто|
    Сидоров | пусто| 30|
    Сидоров | пусто| 45|
    по скольку в строках с процентами нет оклада их произведение и получается 0

    Если изменять запрос так чтобы было

    СотрудникФизлицо | Оклад | Процент|
    Сидоров | 10000 | 30|
    Сидоров | 10000 | 45|

    Рубли считаются всё отлично... Но поскольку нужно использовать группировку по физлицу оклад складывается...и вместо 10000, мы будем получать 20000...
    В таком варианте запроса есть идея высчитывать количество надбавок и тогда потом просто наш увеличенный оклад/количествоНадбавок...но не получается высчитать количество надбавок
    СотрудникФизлицо | Оклад | Процент|КоличествоНадбавок|
    Сидоров | 10000 | 30|2|
    Сидоров | 10000 | 45|
  6. HexaD
    Offline

    HexaD Опытный в 1С

    Регистрация:
    19 июн 2010
    Сообщения:
    59
    Симпатии:
    0
    Баллы:
    26
    Как-то у меня в голове плохо всё складывается :unsure: . Может, будет проще, если я увижу, как у вас всё в СКД выглядит? Если хотите, сделайте тогда так: откройте СКД, в самом низу в левом нижнем углу есть кнопка сохранения в файл в виде коричневой дискеты. Сохраните в файл (будет расширение .xml). Этот файл прикрепите к вашему следующему сообщению. Я к вечеру попробую осмыслить.
  7. TopicStarter Overlay
    E}|{uk
    Offline

    E}|{uk

    Регистрация:
    11 авг 2010
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1

    Вложения:

  8. HexaD
    Offline

    HexaD Опытный в 1С

    Регистрация:
    19 июн 2010
    Сообщения:
    59
    Симпатии:
    0
    Баллы:
    26
    :unsure: Похоже, немного не то выгрузили. У меня выдаёт ошибку, а содержимое файла начинается со строки "settings", что указывает на то, что вы выгрузили настройки, а не схему компоновки. Если вы в режиме Предприятия выгружали и нажимали кнопку, которая находится справа, то нужно не так, а наборот: в режиме Конфигуратор в самом низу слева под окошечком "Наборы данных" 2 маленьких значка. Вот там и нужно нажимать кнопку с дискетой.
  9. TopicStarter Overlay
    E}|{uk
    Offline

    E}|{uk

    Регистрация:
    11 авг 2010
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1

    Вложения:

  10. TopicStarter Overlay
    E}|{uk
    Offline

    E}|{uk

    Регистрация:
    11 авг 2010
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1

    Вложения:

  11. HexaD
    Offline

    HexaD Опытный в 1С

    Регистрация:
    19 июн 2010
    Сообщения:
    59
    Симпатии:
    0
    Баллы:
    26
    Посмотрите, получилось ли у меня то, что вам нужно, или нет. Думаю, что с первого раза что-то или всё будет работать не так, но, возможно, вы сами подправите что-то.

    Можно было делать, как раньше через ВЫБОР КОГДА, но я почему-то стал делать 3-мя вложенными запросами: по одному для Оклада, Надбавки и Доплаты, которые выводятся отдельно рядом друг с другом.

    Не понял, что за условие ПОДОБНО "Ми%", но оставил его, хотя не уверен, что применил его правильно.

    Прилагаю скрин отчёта, в котором я отменил ряд условий, чтобы не заводить новые данные, которых у меня нет.

    Вложения:

  12. TopicStarter Overlay
    E}|{uk
    Offline

    E}|{uk

    Регистрация:
    11 авг 2010
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1
    пришлите,пожалуйста, общий запрос... А то на работу в понедельник,а хочется посмотреть! :unsure:
    Но картинка ваша очень радует)))
  13. HexaD
    Offline

    HexaD Опытный в 1С

    Регистрация:
    19 июн 2010
    Сообщения:
    59
    Симпатии:
    0
    Баллы:
    26
    Если вы про то, чтобы я запостил текст запроса, то не буду :unsure: потому как на результат влияет не только сам текст, но ещё и группировка СКД (вы старались делать таблицей, а я считаю, что там достаточно группировки по детальным записям). Плюс там применён ещё макет оформления.

    Поэтому лучше загрузите файл epf - это внешний отчёт, который можно просто перетащить на открытое окно конфигуратора или предприятия и он откроется. Или загрузите xml-файл. Его загружать точно так же, как вы выгружали свой отчёт, только нужно нажимать не на дискету, а на изображение папки. Отчёт прикрепил внизу.

    Вложения:

  14. HexaD
    Offline

    HexaD Опытный в 1С

    Регистрация:
    19 июн 2010
    Сообщения:
    59
    Симпатии:
    0
    Баллы:
    26
    :unsure: Ну, вообще, если только посмотреть, то, пожалуйста ) Но, вряд ли это поможет найти ошибки уже сейчас.

    Код:
    ВЫБРАТЬ
    ПолучениеОклада.Сотрудник,
    ПолучениеОклада.Оклад,
    ПолучениеДоплатНадбавок1.Процент,
    ПолучениеОклада.Оклад * ПолучениеДоплатНадбавок1.Процент / 100 КАК Руб1,
    ПолучениеДоплатНадбавок2.Процент КАК Процент1,
    ПолучениеОклада.Оклад * ПолучениеДоплатНадбавок2.Процент / 100 КАК Руб2
    ИЗ
    (ВЫБРАТЬ
    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник КАК Сотрудник,
    СУММА(ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1) КАК Оклад
    ИЗ
    РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(
    &КонецПериода,
    ВидРасчета.Наименование ПОДОБНО "Оклад по дням"
    И Сотрудник.Физлицо.Наименование ПОДОБНО "Ми%") КАК ПлановыеНачисленияРаботниковОрганизацийСрезПоследних
    
    СГРУППИРОВАТЬ ПО
    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник) КАК ПолучениеОклада
    ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник КАК Сотрудник,
    СУММА(ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1) КАК Процент
    ИЗ
    РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(
    &КонецПериода,
    ВидРасчета.Наименование ПОДОБНО "Надбавка%"
    И Сотрудник.Физлицо.Наименование ПОДОБНО "Ми%") КАК ПлановыеНачисленияРаботниковОрганизацийСрезПоследних
    
    СГРУППИРОВАТЬ ПО
    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник) КАК ПолучениеДоплатНадбавок1
    ПО ПолучениеОклада.Сотрудник = ПолучениеДоплатНадбавок1.Сотрудник
    ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник КАК Сотрудник,
    СУММА(ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1) КАК Процент
    ИЗ
    РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(
    &КонецПериода,
    ВидРасчета.Наименование ПОДОБНО "Доплата%"
    И Сотрудник.Физлицо.Наименование ПОДОБНО "Ми%") КАК ПлановыеНачисленияРаботниковОрганизацийСрезПоследних
    
    СГРУППИРОВАТЬ ПО
    ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник) КАК ПолучениеДоплатНадбавок2
    ПО ПолучениеОклада.Сотрудник = ПолучениеДоплатНадбавок2.Сотрудник
    
    Странно, что у вас дома нет 1С )
  15. TopicStarter Overlay
    E}|{uk
    Offline

    E}|{uk

    Регистрация:
    11 авг 2010
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1
    Есть,но учебка =)) А она не дает запустить.. официальной версии нет, если тока ломать.. А этого пока не хочется...
    Спасибо,за присланное =) В понедельник отпишусь как всё прошло))) Приятных выходных!
  16. TopicStarter Overlay
    E}|{uk
    Offline

    E}|{uk

    Регистрация:
    11 авг 2010
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1
    Всё работает, всё отлично...единственное, что не нравится это то что каждую надбавку нужно будет выводить отдельно...т.е для каждой писать свой вложенный запрос.. Если способ автоматизировать это?
  17. HexaD
    Offline

    HexaD Опытный в 1С

    Регистрация:
    19 июн 2010
    Сообщения:
    59
    Симпатии:
    0
    Баллы:
    26
    Тогда мне нужно разобраться. Я не изучал ЗУП, поэтому не в курсе, как там всё работает. Я считал, что у вас задача состоит в том, чтобы вывести 3 вида расчёта: оклад, надбавка и доплата. Каждое из них можно было найти и вытащить по наименованию: "Оклад по дням", "Надбавка..." и "Доплата..." соответственно и поместить в одну из 3-ёх колонок. И больше ни о чём беспокоиться было не нужно.

    Теперь, вроде, понимаю, что надбавок много. Их фиксированное количество, или пользователь ещё может создавать? Как их отличать от других видов расчёта? Я считал, что раз нашли "Надбавка...", то просто выводим её в свою колонку, а получается, что их много и нужно выводить в разные?
  18. TopicStarter Overlay
    E}|{uk
    Offline

    E}|{uk

    Регистрация:
    11 авг 2010
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1
    Есть ПлановыеНачисленияОрганизации.. там есть ОсновныеНачисления в которых есть оклад,Доплата за увеличение работ, Доплата за совмещение профессий, Доплата за выходные дни,Надбавка за профмастерство и т.п...
    Выводить нужно доплаты и надбавки, т.е Доплата% и Надбавка%
    В дальнейшем количество Доплат и надбавок может изменяться..
    Можно использовать одну колонку с группировкой по ВидуРасчета при условии что ВидРасчета.Наименование подобно "Доплата%" или ВидРасчета.Наименование подобно "Надбавка%"...
    Такие примеры я уже выкладывала на сайт.
    Есть идея делить оклад на общее количество надбавок у человека,но не выходит вывести правильно количество..
    Может у вас получится...
  19. HexaD
    Offline

    HexaD Опытный в 1С

    Регистрация:
    19 июн 2010
    Сообщения:
    59
    Симпатии:
    0
    Баллы:
    26
    А оклад выводить не обязательно?

    Доплаты и надбавки нужно выводить каждую в отдельную колонку? Т.е. например, виды расчёта "Доплата за увеличение работ", "Доплата за совмещение профессий" и "Надбавка за профмастерство" должны в отчёте иметь каждый одноименную колонку, или же, всё-таки, все доплаты в одну, а все надбавки в другую?

    Сейчас у нас реализовано по второму варианту: оклад выводится в перовой колонке; всё, что начинается на "Надбавка..." (в т.ч. и новые виды расчёта) будет выводиться в колонку "За совмещение"; всё что имеет название, начинающееся на "Доплата..." - в колонку "За профмастерство". Или нужен каждый вид расчёта выводить в своей колонке со своим названием?
  20. TopicStarter Overlay
    E}|{uk
    Offline

    E}|{uk

    Регистрация:
    11 авг 2010
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1
    Отчет должен быть такого вида
    Посмотреть вложение 5094
    Количество надбавок и доплат может меняться...
    На счет вывода в разных колонках...не принципиально... всё корректно выдается используя и одну колонку.. Надбавки и доплаты разбивать не нужно..смысл у них будет один..

    Вложения:

    • Отчет2.jpg
      Отчет2.jpg
      Размер файла:
      43,7 КБ
      Просмотров:
      23

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