![]() |
![]() |
![]() |
|
Экзамен 1С Специалист. Расчет зарплаты. | ☑ | ||
---|---|---|---|---|
0
Jeronimo
18.01.06
✎
12:24
|
Как правильно расчитывать зарплату:
1) через функции ПолучитьДанныеГрафика() и ПолучитьБазу(). Так сделано в курсе 1С по зарплате и в демонстрационной конфигурации на ИТС; 2) извлекать данные с помошью запросов к таблицам ДанныеГрафика и База; P.S. В поиске нашел несколько таких же вопросов, но ответов нет. Прошу всех, у кого есть мнение по этому вопросу, приводить его здесь. |
|||
1
колодина
18.01.06
✎
12:25
|
на экзамене любят, чтобы через запросы.
|
|||
2
Jeronimo
18.01.06
✎
12:26
|
(1) Спасибо. Это все так любят или какие-то отдельные экзаменаторы? И почему тогда в курсе и на ИТС по-другому?
|
|||
3
колодина
18.01.06
✎
12:28
|
(2) не знаю. я когда сдавала на платформу, то в одном месте сделала расчет не через запрос. так экзаменатор меня попросил прямо сразу написать примерный запрос, посмотрел, что я знаю как это делать и успокоился. я сделала вывод - надо было сразу так сделать.
|
|||
4
Jeronimo
18.01.06
✎
12:36
|
(0) А еще мнения есть?
|
|||
5
Vitrus
18.01.06
✎
14:00
|
Через запрос делай. По этому поводу на ИТС даже статья есть. "В производительности разницы нет, а возможностей больше". А курс для начинающих сделан. Через методы проще разобраться что к чему.
|
|||
6
Jeronimo
18.01.06
✎
14:05
|
(5) А Вы не могли бы привести ссылки на подобные запросы? С таблицей ДанныеГрафика я разобрался, а вот запросы к Базе, когда несколько базовых регистров еще не делал.
|
|||
7
Vitrus
18.01.06
✎
14:19
|
Лично я Таблицы Баз связывал по Регистратору (и на всякий случай по номеру строки). И делал суммируемое поля двух таблиц Результат база.
PS. Тексты экз. задачек можешь прислать? |
|||
8
Jeronimo
18.01.06
✎
14:21
|
(8) Задачки на сайте 1С можно посмотреть. Приведите запрос, пожалуйста.
|
|||
9
Vitrus
18.01.06
✎
14:26
|
На сайте знаю. Читал "и 2 моих коллег с экзамена".
|
|||
10
Jeronimo
18.01.06
✎
14:27
|
(9) я пришлю, не проблема. А у Вас есть задачки?
|
|||
11
Незнайка 1С
18.01.06
✎
14:28
|
примерно так
Запрос = Новый Запрос; Запрос.УстановитьПараметр("Регистратор", Регистратор); Запрос.УстановитьПараметр("ВидРасчета", ВидРасчета); Запрос.Текст = "ВЫБРАТЬ | ОсновныеНачисленияДанныеГрафика.НомерСтроки КАК НомерСтроки, | ЕСТЬNULL(ОсновныеНачисленияДанныеГрафика.ЗначениеПериодДействия, 0) КАК Норма, | ЕСТЬNULL(ОсновныеНачисленияДанныеГрафика.ЗначениеФактическийПериодДействия, 0) КАК Факт"; Если НеобходимаБаза Тогда Запрос.Текст = Запрос.Текст +" | ,ОсновныеНачисленияБазаОсновныеНачисления.РезультатБаза КАК База"; КонецЕсли; Запрос.Текст = Запрос.Текст +" |ИЗ | РегистрРасчета.ОсновныеНачисления.ДанныеГрафика( | Регистратор = &Регистратор | И ВидРасчета = &ВидРасчета) КАК ОсновныеНачисленияДанныеГрафика"; Если НеобходимаБаза Тогда Запрос.Текст = Запрос.Текст +" | ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисления.БазаОсновныеНачисления(&Измерения, | &Измерения, | , | ВидРасчета = &ВидРасчета | И Регистратор = &Регистратор) КАК ОсновныеНачисленияБазаОсновныеНачисления | ПО ОсновныеНачисленияДанныеГрафика.НомерСтроки = ОсновныеНачисленияБазаОсновныеНачисления.НомерСтроки"; КонецЕсли; Запрос.Текст = Запрос.Текст +" |УПОРЯДОЧИТЬ ПО | НомерСтроки"; |
|||
12
Vitrus
18.01.06
✎
14:29
|
Да. По этому делу в почту. Здесь Волшебник Запрещает.
|
|||
13
Jeronimo
18.01.06
✎
14:39
|
(11) Спасибо. Но как выглядит переменная &Измерения?
|
|||
14
Vitrus
18.01.06
✎
14:43
|
МассивИзмерений = Новый Массив;
МассивИзмерений.Добавить("Сотрудник"); МассивИзмерений.Добавить("Подразделение"); МассивИзмерений.Добавить("Должность"); |
|||
15
Jeronimo
18.01.06
✎
14:43
|
(14) И это будет работать, если несколько базовых регистров?
|
|||
16
Незнайка 1С
18.01.06
✎
14:49
|
(15) насколько я понимаю у регистра без периода действия нет виртуальной таблицы графиков, так что запрос должен вылететь в ошибку.
кинь письмо в мыло. |
|||
17
Vitrus
18.01.06
✎
14:52
|
Нет! Сколько тут базовых таблиц? Такой и результат.
|
|||
18
Jeronimo
18.01.06
✎
14:55
|
(17) Меня интересует, когда несколько базовых таблиц
P.S. Я выслал задачи, жду ответа |
|||
19
Незнайка 1С
18.01.06
✎
15:01
|
(18) надо писать текст запроса отдельно для каждого регистра.
Одним для всех регистров может и можно извратиться, но проще сделать по отдельности, так как виртуальные таблицы баз могут разные оказаться. |
|||
20
Jeronimo
18.01.06
✎
16:05
|
(19) Несколько запросов - совсем некрасиво получается, может быть использовать ОБЪЕДИНИТЬ...
|
|||
21
Незнайка 1С
18.01.06
✎
16:34
|
(20) Это тебе не УТ.
сначала надо рассчитать основные начисления, записать. если в них база как ты будешь по ним запрос то делать? Вернее чего толку то делать. База будет пустая в запросе, так как она не рассчитана и не записана. и сами начисления надо тоже по порядку рассчитывать и записывать. как ты будешь базу по премии считать если у тебя оклад не рассчитан например, а база в этом месяце считается с оклада? в каркасной есть реквизит порядок. я по нему группировал виды расчетов в наборе и запрос делал на виды расчета с одним порядком. |
|||
22
Jeronimo
18.01.06
✎
16:47
|
(21) В каркасной есть реквизит Порядок?
О необходимости записи я знаю. Пример: нужно расчитать отпуск по данным предыдущих трех месяцев, базовые виды для отпуска - оклад(регистр ОсновныеНачисления) и премия (регистр ДопНачисления). Как строить запрос? |
|||
23
Незнайка 1С
18.01.06
✎
17:12
|
а в чем проблема то?
допиши к фунции формирующей запрос еще одну переменную типа НужнаБазаПоДопНачислениям и устанавливай ей когда надо истину и добавь в текст запроса запрос к регистру по базе доп начислений. по уму вообще то для средней зарплаты делают отдельный регистр и ПВР. Но там надо и отдельный документ делать. А какой смысл выносить премию в отдельный регистр? |
|||
24
Jeronimo
18.01.06
✎
17:21
|
(23) "А какой смысл выносить премию в отдельный регистр?"
Так сделано в каркасной |
|||
25
Незнайка 1С
18.01.06
✎
17:27
|
(24) вбей свою чтоб не маятся.
или разбивай на виды расчета и для премии делай отдельный запрос. тоже не сложно думаю. |
|||
26
Jeronimo
18.01.06
✎
19:30
|
(24) у премии нет периода действия и базового периода. поэтому она в отдельноме регистре
|
|||
27
Незнайка 1С
19.01.06
✎
09:48
|
(26) деление на регистры довольно условное. Как правило, сходные ВР забивают в один ПВР и регистр, но ничего не мешает забить все начисления в один.
У премии есть базовый период, иначе за какой период ты базу получишь? если на регистре основных начислений нет галки базвый период, то поставь и не мучайся. Все будет работать как надо. А кстати, где у тебя премия? |
|||
28
Jeronimo
19.01.06
✎
13:57
|
(27) Премия в дополнительных начислениях, у нее нет базового периода, потому что она зависит от выработки а не от базы
|
|||
29
Незнайка 1С
19.01.06
✎
14:02
|
ну если в таком контексте то я вообще не вижу проблем забить её в основные начисления.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |