Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Запрос для заполнения макета печатной формы

Запрос для заполнения макета печатной формы
Я
   npkerz
 
21.09.19 - 17:07
Здр
Возникла проблема с формированием печатной формы документа,а именно я не знаю как связать информацию которая мне нужна
Информация:
Есть документ в ТЧ которого есть информация о Сотруднике и ОтработанныхДней от 1 до 31 числа
Мне в макет нужно вывести информацию о должности и категории каждого сотрудника
Должности и Категории нет в ТЧ этого документа(в реквизитах его нет),но они есть в регистре сведений по работникам
когда я в конструкторе запроса пыталась связать реквизит ТЧ дока Сотрудник и ИзмерениеРегистра Сотрудник
то он мне ТЧ в печатном Макете делил по сотрудникам,мне так не нужно)
мне надо как то соотнести ТЧ.Струдник с регистром сотрудника,и чтоб он в эту же ТЧ записал данные по Должности и Категории(которые являются ресурсами в регистре)
 
 
   npkerz
 
1 - 21.09.19 - 17:08
запрос сейчас такой
ВЫБРАТЬ
    ТабельУчетаРабочегоВремени.Начисления.(
        НомерСтроки КАК НомерСтроки,
        Сотрудник КАК Сотрудник,
        Ставка КАК Ставка,
        День1 КАК День1,
        День2 КАК День2,
        День3 КАК День3,
        День4 КАК День4,
        День5 КАК День5,
        День6 КАК День6,
        День7 КАК День7,
        День8 КАК День8,
        День9 КАК День9,
        День10 КАК День10,
        День11 КАК День11,
        День12 КАК День12,
        День13 КАК День13,
        День14 КАК День14,
        День15 КАК День15,
        День16 КАК День16,
        День17 КАК День17,
        День18 КАК День18,
        День19 КАК День19,
        День20 КАК День20,
        День21 КАК День21,
        День22 КАК День22,
        День23 КАК День23,
        День24 КАК День24,
        День25 КАК День25,
        День26 КАК День26,
        День27 КАК День27,
        День28 КАК День28,
        День29 КАК День29,
        День30 КАК День30,
        День31 КАК День31
    ) КАК Начисления
ИЗ
    Документ.ТабельУчетаРабочегоВремени КАК ТабельУчетаРабочегоВремени
ГДЕ
    ТабельУчетаРабочегоВремени.Ссылка В(&Ссылка)
   npkerz
 
2 - 21.09.19 - 17:09
И еще вопрос..
Вот в макете печатной формы,я указала параметр <Должность>..но как мне с запроса записать результат в этот параметр?
   npkerz
 
3 - 21.09.19 - 17:17
Вот так вот с регистрами,но он мне печатную форму тогда дробит по кадому сотруднику
ВЫБРАТЬ
    ТабельУчетаРабочегоВремени.Начисления.(
        НомерСтроки КАК НомерСтроки,
        Сотрудник КАК Сотрудник,
        Ставка КАК Ставка,
        День1 КАК День1,
        День2 КАК День2,
        День3 КАК День3,
        День4 КАК День4,
        День5 КАК День5,
        День6 КАК День6,
        День7 КАК День7,
        День8 КАК День8,
        День9 КАК День9,
        День10 КАК День10,
        День11 КАК День11,
        День12 КАК День12,
        День13 КАК День13,
        День14 КАК День14,
        День15 КАК День15,
        День16 КАК День16,
        День17 КАК День17,
        День18 КАК День18,
        День19 КАК День19,
        День20 КАК День20,
        День21 КАК День21,
        День22 КАК День22,
        День23 КАК День23,
        День24 КАК День24,
        День25 КАК День25,
        День26 КАК День26,
        День27 КАК День27,
        День28 КАК День28,
        День29 КАК День29,
        День30 КАК День30,
        День31 КАК День31
    ) КАК Начисления,
    РаботникиОрганизаций.Сотрудник КАК Сотрудник,
    РаботникиОрганизаций.Должность КАК Должность,
    РаботникиОрганизаций.Категория КАК Категория
ИЗ
    Документ.ТабельУчетаРабочегоВремени КАК ТабельУчетаРабочегоВремени,
    РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
ГДЕ
    ТабельУчетаРабочегоВремени.Ссылка В(&Ссылка)
    И ТабельУчетаРабочегоВремени.Начисления.Сотрудник = РаботникиОрганизаций.Сотрудник
   ДенисЧ
 
4 - 21.09.19 - 17:17
За такое
ТабельУчетаРабочегоВремени.Начисления.(
Надо долго и у-порно бить линейкой по рукам
   npkerz
 
5 - 21.09.19 - 17:18
(4) почему?))
   npkerz
 
6 - 21.09.19 - 17:19
Там в разрезе видов начислений он заполняется
   3achem
 
7 - 21.09.19 - 17:22
(1) Не надо так делать
Не надо так делать с табелем
Смотрите регистры сведений
   3achem
 
8 - 21.09.19 - 17:24
(6) И табель не только в разрезе начислений заполняется, посмотрите процедуру Автозаполнения
   ДенисЧ
 
9 - 21.09.19 - 17:24
(6) Не почему, а за что.
   npkerz
 
10 - 21.09.19 - 17:27
(8) это не типовой табель,дописанный
Поэтому там Автозаполнение "своё"
суть вопроса моего была в другом конечно
но ладно.спс
   ПесДобряк
 
11 - 21.09.19 - 17:42
(0) > то он мне ТЧ в печатном Макете делил по сотрудникам,мне так не нужно)

Вывод в макет никак не зависит от запроса. Надо смотреть как ты обходишь результаты.

> РегистрСведений.РаботникиОрганизаций

Предположу, что в течении времени сотрудник может менять подразделение, должности и на разные даты могут быть разные подразделения. Возможно надо брать СрезПоследних на дату.
   Sapiens_bru
 
12 - 21.09.19 - 17:45
(11) там CROSS JOIN в запросе
   Sapiens_bru
 
13 - 21.09.19 - 17:48
(0) На сайте ИТС есть в свободном доступе книга Хрусталевой по запросам в 1С
   npkerz
 
14 - 21.09.19 - 17:52
Модератор удалите тему.
Не было смысла тут что-то спрашивать.
   ПесДобряк
 
15 - 21.09.19 - 18:04
(12) > там CROSS JOIN в запросе

И? Если сотрудник в графике то скорее всего о нем есть запись регистресведений о сотрудниках.
   Sapiens_bru
 
16 - 21.09.19 - 18:08
(15) Если в графике 100 сотрудников и в регистре 100 сотрудников - запрос выдаст 10 тыс записей
   ПесДобряк
 
17 - 21.09.19 - 18:08
(14) Скажем так ты принес поделку из говна и палок и просишь её исправить. В говне и палках копаться никто не хочет.

Пойди по простому пути: сделай запрос в цикле обхода строк твоего первоначального запроса, РегистрСведений.РаботникиОрганизаций через ПолучитьПоследнее(. Это конечно неправильно, но лучше тебе тут вряд ли предложат.
   ПесДобряк
 
18 - 21.09.19 - 18:09
(16)  Только в первоначальных данных. Затем немного прорядится.  ТабельУчетаРабочегоВремени.Начисления.Сотрудник = РаботникиОрганизаций.Сотрудник

Уродство  - не спорю.
   ПесДобряк
 
19 - 21.09.19 - 18:10
(14) Проходишь 21 день, Потом Радченко, потом приходи и сформулируй вопрос заново.


https://its.1c.ru/db/pubdevguide83 книги ИТС

5.    Радченко М.Г., Хрусталева Е.Ю. "1С:Предприятие 8.3. Практическое пособие разработчика. Примеры и типовые приемы;
6.    Е.Ю. Хрусталева "Язык запросов "1С:Предприятия 8"
7.    В.А. Ажеронок, А.В. Островерх, М.Г. Радченко, Е.Ю. Хрусталева "Разработка управляемого интерфейса";
8.    Е.Ю. Хрусталева "Разработка сложных отчетов в "1С:Предприятии 8.2". Система компоновки данных";
9.    Е.Ю. Хрусталева "101 совет начинающим разработчикам в системе "1С:Предприятие 8";


https://its.1c.ru/download/book_demo/?book= доп. материалы к книгам
http://online.1c.ru/catalog/free/learning.php учебная версия платформы

https://www.youtube.com/watch?v=y16Y3nKC3QI&list=PLN1BSVwPIqvUBuhRj3PYHqdCn6upxIXzD – Программирование в 1С за 21 день (есть несколько версий)
https://www.youtube.com/playlist?list=PLkdnTy1CsgR1phYcN8Ts1HD2AugrAVgRd Спец курс Чистова
   Sapiens_bru
 
20 - 21.09.19 - 18:12
(14) Есть добрый форум - это инфостарт. Есть злой форум - это миста. На инфостарте любят помогать новичкам, например посоветуют сделать запрос в цикле. На мисте новичкам помогают максимум ссылкой на книгу или курс, зато можно получить совет от "гуру". Меня тут не один раз "били по рукам" за некорректные вопросы или ответы, что помогает находить верные решения позже и критически относится к своим знаниям.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.