Помогите по конфе ЗиК, очень нужно, горю.....
Показывать по
10
20
40
сообщений
- 1
- 2
13.11.2008
14:21
#1
В конфе ЗиК в справочнике сотрудники есть такая карточка - справка по форме 0504417 там есть графы которые не заполняются они находятся в разделе "Отметки о приеме на работу и переводах" там есть пустые столбцы под цифрами с 5 по 13, я бы хотела что бы у меня там заполнялись суммы начисление, надбавок и полной начисленной суммы зарплаты за год. Подскажите пожалуйста от чего отталкиваться как написать процедуру или функцию, фомулы для выводы этих сумм если можно поподробней. заранее благодарна за помощь. мне очень нужно помогите!!!!!!!!!
13.11.2008
15:03
#2
Ну... разбираемся.
В этой табличке при формировании будет столько строк, сколько событий вида "Прием на работу" и "Кадровое перемещение" возникло в текущем году. Например:
1. 13 февраля 2008 года = Прием на работу, Оклад = 5000 рублей.
2. 17 мая 2008 года = Кадровое перемещение, Оклад = 5000 рублей.
3. 01 июля 2008 года = Кадровое перемещение, Оклад = 7000 рублей.
правее каждой имеется набор этих вот пустых колонок. Как их заполнять? Все просто, если строчка такая одна, а если их много и особенно, если разрывы происходят внутри расчетного периода, то непонятно что в них писать.
Момент второй: сделать какую то выборку начислений за произвольный период не сложно, но что делать, если их окажется больше, чем колонок в этой форме?
В этой табличке при формировании будет столько строк, сколько событий вида "Прием на работу" и "Кадровое перемещение" возникло в текущем году. Например:
1. 13 февраля 2008 года = Прием на работу, Оклад = 5000 рублей.
2. 17 мая 2008 года = Кадровое перемещение, Оклад = 5000 рублей.
3. 01 июля 2008 года = Кадровое перемещение, Оклад = 7000 рублей.
правее каждой имеется набор этих вот пустых колонок. Как их заполнять? Все просто, если строчка такая одна, а если их много и особенно, если разрывы происходят внутри расчетного периода, то непонятно что в них писать.
Момент второй: сделать какую то выборку начислений за произвольный период не сложно, но что делать, если их окажется больше, чем колонок в этой форме?
13.11.2008
15:17
#3
колонок хватит, и таких перемещений нет, помогите как это следать. пожалуйста...
13.11.2008
15:33
#4
"Я просто пока еще не очень понял все тонкости задачи, вот и задаю доп. вопросы. А какие перемещения бывают? Хорошо, пусть не бывает таких, которые произошли в середине месяца. Рассмотрим прием 2:
1. 13 февраля 2008 года = Прием на работу, Оклад = 5000 рублей.
2. 01 мая 2008 года = Кадровое перемещение, Оклад = 5000 рублей.
3. 01 июля 2008 года = Кадровое перемещение, Оклад = 7000 рублей.
что пишется правее строк 1, 2 и 3?
Ожидаю ответ вида: В строке 1 пишутся суммы начислений с ... по ..., В строке 2 пишутся суммы начислений с ... по ..., В строке 3 пишутся суммы начислений с ... по ...
Ну а вообще, так:
ТекстЗапроса = "Период с НачДата по КонДата;
|Сотрудник = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент;
|Расчет = ЖурналРасчетов.Зарплата.ВидРасч;
|Результат = ЖурналРасчетов.Зарплата.Результат;
|Функция Сумма = Сумма(Результат);
|Группировка Расчет упорядочить по Расчет.Очередность;
|Условие(Результат<>0);
|Условие(Сотрудник=НужныйСотрудник);
|Условие(Расчет.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1);";"
1. 13 февраля 2008 года = Прием на работу, Оклад = 5000 рублей.
2. 01 мая 2008 года = Кадровое перемещение, Оклад = 5000 рублей.
3. 01 июля 2008 года = Кадровое перемещение, Оклад = 7000 рублей.
что пишется правее строк 1, 2 и 3?
Ожидаю ответ вида: В строке 1 пишутся суммы начислений с ... по ..., В строке 2 пишутся суммы начислений с ... по ..., В строке 3 пишутся суммы начислений с ... по ...
Ну а вообще, так:
ТекстЗапроса = "Период с НачДата по КонДата;
|Сотрудник = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент;
|Расчет = ЖурналРасчетов.Зарплата.ВидРасч;
|Результат = ЖурналРасчетов.Зарплата.Результат;
|Функция Сумма = Сумма(Результат);
|Группировка Расчет упорядочить по Расчет.Очередность;
|Условие(Результат<>0);
|Условие(Сотрудник=НужныйСотрудник);
|Условие(Расчет.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1);";"
13.11.2008
19:10
#5
спасибо вам, я попробую.
А вообще по моим сотрудникам в 1 строке он выводит дату приказа о приеме на работу, и все и то только если в этом году принят человек на работу.
Может вы не поняли про какой я отчет, он находится Спр.Сотрудники - отчетность - последняя из выподающего списка карточка-справка 0504417 - за текущий год и вотам уже в разделе отметки о приеме на работу в графах с 5 - 13 я хочу что бы он выводил мне все надбавки имеющиеся у сотрудника причем сумму за год, т.к. по месячно он выводит ниже все данные только общую не считает.
А вообще по моим сотрудникам в 1 строке он выводит дату приказа о приеме на работу, и все и то только если в этом году принят человек на работу.
Может вы не поняли про какой я отчет, он находится Спр.Сотрудники - отчетность - последняя из выподающего списка карточка-справка 0504417 - за текущий год и вотам уже в разделе отметки о приеме на работу в графах с 5 - 13 я хочу что бы он выводил мне все надбавки имеющиеся у сотрудника причем сумму за год, т.к. по месячно он выводит ниже все данные только общую не считает.
13.11.2008
19:40
#6
Почему же не понял? Понял. Я ж не зря писал, что там в таблице ограниченное количество колонок, я посмотрел в нее. А 1 строчку выводит потому что кадровых перемещений не было у человека
15.11.2008
13:29
#7
у меня ничего не получилось, может я что то не так делаю?? Скажите пожалуйста а у вас это работает?? Уже всю голову сломала....
15.11.2008
16:45
#8
"1. Старт базы в режиме конфигуратора.
2. меню: Администрирование-Сохранить данные. Если у нас ничего не получится, то будет архив, с которого вернем назад живую базу.
3. меню: Конфигурация-Открыть конфигурацию
4. В дереве ищем ветку Справочники-Сотрудники. Делаем двойной клик на этой ветке дерева, попадаем в форму, в которой жмем кнопку "Форма элемента"
5. В тексте ищем место, где есть строка: ТаблицаПечати.ВывестиСекцию("СтрокаКадровыхДокументов");. Для релиза 7.70.285 это строка 1437
6. Ниже по тексту будут строки:
Для индСтроки = СтрокВывели по 6 Цикл
ТаблицаПечати.ВывестиСекцию("СтрокаКадровыхДокументовПустая");
КонецЦикла;
вот после них сразу вставляем свой кусок:
//====================================
Если ИсходнаяТаблица="0504417" Тогда
НужныйСотрудник=ТекущийЭлемент();
ТекстЗапроса = "Период с ДатаНачГода по ДатаКонГода;
|Сотрудник = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент;
|Расчет = ЖурналРасчетов.Зарплата.ВидРасч;
|Результат = ЖурналРасчетов.Зарплата.Результат;
|Функция Сумма = Сумма(Результат);
|Группировка Расчет упорядочить по Расчет.Очередность;
|Условие(Результат<>0);
|Условие(Сотрудник=НужныйСотрудник);
|Условие(Расчет.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1);";
Запрос=СоздатьОбъект("Запрос");
Если Запрос.Выполнить(ТекстЗапроса)=1 Тогда
СчетчикВР=0;
Пока Запрос.Группировка(1)=1 Цикл
СчетчикВР=СчетчикВР+1;
Если СчетчикВР>8 Тогда
Прервать;
КонецЕсли;
НомерКолонки=22+(СчетчикВР-1)*3;
ТаблицаПечати.Область(15,НомерКолонки,15,НомерКолонки).Контроль(4);
ТаблицаПечати.Область(15,НомерКолонки,15,НомерКолонки).ГоризонтальноеПоложение(3);
ТаблицаПечати.Область(15,НомерКолонки,15,НомерКолонки).Текст=глПредставлениеВидаРасчета(Запрос.Расчет);
ТаблицаПечати.Область(17,НомерКолонки,17,НомерКолонки).ГоризонтальноеПоложение(2);
ТаблицаПечати.Область(17,НомерКолонки,17,НомерКолонки).Текст=глЧислоВФорматеПользователя(Запрос.Сумма);
КонецЦикла;
КонецЕсли;
КонецЕсли;
//====================================
7. Сохраняемся, пробуем
P.S. Эта штука сгруппирует начисления сотрудника, которые были в году в одну строку, если вы хотите разбивку по пориодам, придется еще подработать алгоритм"
2. меню: Администрирование-Сохранить данные. Если у нас ничего не получится, то будет архив, с которого вернем назад живую базу.
3. меню: Конфигурация-Открыть конфигурацию
4. В дереве ищем ветку Справочники-Сотрудники. Делаем двойной клик на этой ветке дерева, попадаем в форму, в которой жмем кнопку "Форма элемента"
5. В тексте ищем место, где есть строка: ТаблицаПечати.ВывестиСекцию("СтрокаКадровыхДокументов");. Для релиза 7.70.285 это строка 1437
6. Ниже по тексту будут строки:
Для индСтроки = СтрокВывели по 6 Цикл
ТаблицаПечати.ВывестиСекцию("СтрокаКадровыхДокументовПустая");
КонецЦикла;
вот после них сразу вставляем свой кусок:
//====================================
Если ИсходнаяТаблица="0504417" Тогда
НужныйСотрудник=ТекущийЭлемент();
ТекстЗапроса = "Период с ДатаНачГода по ДатаКонГода;
|Сотрудник = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент;
|Расчет = ЖурналРасчетов.Зарплата.ВидРасч;
|Результат = ЖурналРасчетов.Зарплата.Результат;
|Функция Сумма = Сумма(Результат);
|Группировка Расчет упорядочить по Расчет.Очередность;
|Условие(Результат<>0);
|Условие(Сотрудник=НужныйСотрудник);
|Условие(Расчет.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1);";
Запрос=СоздатьОбъект("Запрос");
Если Запрос.Выполнить(ТекстЗапроса)=1 Тогда
СчетчикВР=0;
Пока Запрос.Группировка(1)=1 Цикл
СчетчикВР=СчетчикВР+1;
Если СчетчикВР>8 Тогда
Прервать;
КонецЕсли;
НомерКолонки=22+(СчетчикВР-1)*3;
ТаблицаПечати.Область(15,НомерКолонки,15,НомерКолонки).Контроль(4);
ТаблицаПечати.Область(15,НомерКолонки,15,НомерКолонки).ГоризонтальноеПоложение(3);
ТаблицаПечати.Область(15,НомерКолонки,15,НомерКолонки).Текст=глПредставлениеВидаРасчета(Запрос.Расчет);
ТаблицаПечати.Область(17,НомерКолонки,17,НомерКолонки).ГоризонтальноеПоложение(2);
ТаблицаПечати.Область(17,НомерКолонки,17,НомерКолонки).Текст=глЧислоВФорматеПользователя(Запрос.Сумма);
КонецЦикла;
КонецЕсли;
КонецЕсли;
//====================================
7. Сохраняемся, пробуем
P.S. Эта штука сгруппирует начисления сотрудника, которые были в году в одну строку, если вы хотите разбивку по пориодам, придется еще подработать алгоритм"
17.11.2008
16:15
#9
Спасибо огромное все получилось, остальное я уже доработала. Благодарю за помощь!
17.02.2010
11:06
#10
Я тоже столкнулась с проблемой заполнения ф.0504417. Но только в данных графах должны стоять не итоговые суммы начислений за период, а оклад и установленные постоянные надбавки и доплаты. Подскажите, что нужно поправить в вышеуказанной инструкции по изменению конфигурации?
И еще, нужно, чтобы эти данные заполнялись, независимо от того в текущем году были изменения или в более ранние года, т.е. в карточке всегда должна быть полная информация по окладу и надбавкам.
И еще, нужно, чтобы эти данные заполнялись, независимо от того в текущем году были изменения или в более ранние года, т.е. в карточке всегда должна быть полная информация по окладу и надбавкам.
- 1
- 2
Читают тему
(гостей: 1)