Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
16 Дек 2017, 23:20
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Начисление ЗП из экселя  (Прочитано 3389 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн korvindeson

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-04-16
  • Сайт: 
  • Профессия: Ученик 1С
Добрый день! Имею 1с 8.2, ЗУП 2.5. Пытаюсь сворганить внешнюю обработку, которая бы мне создавала документы начисления зарплаты работникам организации.

Получается следующее.
Процедура КнопкаВыполнитьНажатие(Кнопка)

ОбъектExcel = Новый COMОбъект("Excel.Application");
Книга = ОбъектExcel.Workbooks.Open("C:\Начисления.xls");
Лист = Книга.WorkSheets(1);

i = 1;
   Док = Документы.НачислениеЗарплатыРаботникамОрганизаций.СоздатьДокумент();
   Док.Организация = Справочники.Организации.НайтиПоНаименованию("Организация", Истина);
   Док.ПодразделениеОрганизации = Справочники.ПодразделенияОрганизаций.НайтиПоНаименованию(Лист.Cells(i , 1).Value, Истина);
   Док.Ответственный=Справочники.Пользователи.НайтиПоНаименованию("2");
   Док.ПериодРегистрации = ТекущаяДата();
   Док.Дата=ТекущаяДата();

i=i+1;

НоваяСтрокаТабличнойЧасти = Док.Начисления.Добавить();
НоваяСтрокаТабличнойЧасти.Сотрудник = Справочники.СотрудникиОрганизаций.НайтиПоНаименованию(Лист.Cells(i , 1).Value, Истина);
НоваяСтрокаТабличнойЧасти.ПодразделениеОрганизации = Док.ПодразделениеОрганизации;
НоваяСтрокаТабличнойЧасти.Результат = Лист.Cells(i , 2).Value;

НоваяСтрокаТабличнойЧасти.ВидРасчета = НоваяСтрокаТабличнойЧасти.ВидРасчета.БазовыеВидыРасчета.Найти(Лист.Cells(i , 3).Value);



НоваяСтрокаТабличнойЧасти.ДатаНачала = НачалоМесяца(ТекущаяДата());
НоваяСтрокаТабличнойЧасти.ДатаОкончания = КонецМесяца(ТекущаяДата());

НоваяСтрокаТЧНДФЛ = Док.НДФЛ.Добавить();
НоваяСтрокаТЧНДФЛ.МесяцНалоговогоПериода = ТекущаяДата();
НоваяСтрокаТЧНДФЛ.ПодразделениеОрганизации = НоваяСтрокаТабличнойЧасти.ПодразделениеОрганизации;
НоваяСтрокаТЧНДФЛ.ФизЛицо = Справочники.ФизическиеЛица.НайтиПоНаименованию(Лист.Cells(i , 1).Value, Истина);

Док.Записать();
Док.РассчитатьНДФЛ();
Док.Записать(РежимЗаписиДокумента.Проведение);
КонецПроцедуры

Беды следующие (на картинке графически):
1) Не могу разобраться как поставить режим начисления на "Текущий месяц"
2) Не могу понять как поставить отметку на "Признак автоматического расчета"
3) Что-то делаю не так, вид начисления не заполняется
4) Дата начала визуально стоит, но при попытке провести документ, выдаёт ошибку "Не указана дата начала события". Причём если ручками клацнуть, то всё проводится.
5) Документ открывается какой-то глючный. К примеру не хочет рассчитываться, просто моргает. Но, если к примеру зайти вверху слева: Операция -> Расчёт начислений -> Потом назад на "Полный расчёт". Тогда всё оживает.

По первым трём пунктам просто команд не знаю, и нарыть за целый день не получилось. 4 и 5 без понятия как лечить. Помогите пожалуйста :btbzdb:


Оффлайн Yura063

  • *****
  • Сообщений: 1045
  • РЕПУТАЦИЯ: 136
  • КПД: 13%
  • Регистрация: 2010-11-15
  • Сайт: yuis.ru
  • Профессия: Программист 1С
Везде посмотрите, каким реквизитам присвоены какие значения, те значения и подставляйте (на что ссылаются реквизиты).
Помогли, отблагодари!

Оффлайн korvindeson

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-04-16
  • Сайт: 
  • Профессия: Ученик 1С
Везде посмотрите, каким реквизитам присвоены какие значения, те значения и подставляйте (на что ссылаются реквизиты).
Не понял. Можно как дураку? Или ссылочку на почитать по теме
Добавлено: 23 Апр 2013, 00:39

Везде посмотрите, каким реквизитам присвоены какие значения, те значения и подставляйте (на что ссылаются реквизиты).
Ковырял в носу, включил мозг, осознал. Спасибо большое, все вопросы снял!

Последний раз редактировалось: korvindeson; 23 Апр 2013, 00:39. Причина: Объединение сообщений

Оффлайн pavl_vs

  • *****
  • Сообщений: 1070
  • РЕПУТАЦИЯ: 168
  • КПД: 16%
  • Регистрация: 2011-05-09
  • Сайт: 
  • Профессия: Программист 7.7
Беды следующие (на картинке графически):
1) Не могу разобраться как поставить режим начисления на "Текущий месяц"
2) Не могу понять как поставить отметку на "Признак автоматического расчета"
3) Что-то делаю не так, вид начисления не заполняется
4) Дата начала визуально стоит, но при попытке провести документ, выдаёт ошибку "Не указана дата начала события". Причём если ручками клацнуть, то всё проводится.
5) Документ открывается какой-то глючный. К примеру не хочет рассчитываться, просто моргает. Но, если к примеру зайти вверху слева: Операция -> Расчёт начислений -> Потом назад на "Полный расчёт". Тогда всё оживает.

По первым трём пунктам просто команд не знаю, и нарыть за целый день не получилось. 4 и 5 без понятия как лечить. Помогите пожалуйста :btbzdb:

Мне кажется Вам следует изучить заполнение документа "естественным" путем. Открыв конфигуратор Вы получите ответы по крайней мере на вопросы 1 и 3; Что же касается дат, то насколько мне известно в Excel'е состав даты есть "Дата", а 1С - "Дата и время", правда, не везде, нужно выяснять.

Оффлайн korvindeson

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-04-16
  • Сайт: 
  • Профессия: Ученик 1С
Мне кажется Вам следует изучить заполнение документа "естественным" путем. Открыв конфигуратор Вы получите ответы по крайней мере на вопросы 1 и 3; Что же касается дат, то насколько мне известно в Excel'е состав даты есть "Дата", а 1С - "Дата и время", правда, не везде, нужно выяснять.
Да уже разобрался, второй или третий раз конфигуратор вскрыл, где что искать не понятно поначалу. Тяжёлая 1с-ка, во всяком случае если пытаться нахрапом взять, толком не почитав) Однако получилось. Медленно, но пашет ниже выкладываю код, может кому сгодится. Есть у меня подозрение, что работает так медленно, как это вообще возможно, но как по мне работает и ладно. Ну, займут у меня 1000 человек не 5, а 15 минут или 20, мне не жалко, руками дня 2 втроём занимало.

Загружает начисления из файла .xls вида

|Подразделение 1|
|__Сотрудник 1__|_Сумма_|_Вид начисления_|
|__Сотрудник 2__|_Сумма_|_Вид начисления_|
|__Сотрудник ..._|_Сумма_|_Вид начисления_|
|Подразделение 2|
|__Сотрудник 1__|_Сумма_|_Вид начисления_|
|__Сотрудник 2__|_Сумма_|_Вид начисления_|
|__Сотрудник ..._|_Сумма_|_Вид начисления_|
|Подразделение...|
...

Работает с основными и дополнительными начислениями, ставит НДФЛ, рассчитывает и проводит. Создаёт отдельные документы начисления зар. платы по каждому подразделению.

	
ОбъектExcel = Новый COMОбъект("Excel.Application");
Книга = ОбъектExcel.Workbooks.Open(Путь + "\Начисления.xls");
Лист = Книга.WorkSheets(1);
    i = 1;


Пока Не Справочники.ПодразделенияОрганизаций.НайтиПоНаименованию(Лист.Cells(i , 1).Value, Истина).Пустая() Цикл

   Док = Документы.НачислениеЗарплатыРаботникамОрганизаций.СоздатьДокумент();
       Док.ПодразделениеОрганизации = Справочники.ПодразделенияОрганизаций.НайтиПоНаименованию(Лист.Cells(i , 1).Value, Истина);
//Заполнение шапки реквизитов документа
   Док.Организация = Справочники.Организации.НайтиПоНаименованию("Организация", Истина);
   Док.Ответственный=Справочники.Пользователи.НайтиПоНаименованию("2");
   Док.ПериодНачисления = Перечисления.ПериодНачисленияЗарплаты.ТекущийМесяц;
   Док.ПериодНачисленияДатаНачала = НачалоМесяца(ТекущаяДата());
   Док.ПериодНачисленияДатаОкончания = КонецМесяца(ТекущаяДата());
   Док.ПериодРегистрации = ТекущаяДата();
   Док.Дата=ТекущаяДата();
   Док.ВидОперации = Перечисления.ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет;
   i=i+1;
   
Пока Не Справочники.СотрудникиОрганизаций.НайтиПоНаименованию(Лист.Cells(i , 1).Value, Истина).Пустая() Цикл   


Если Не ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоНаименованию(Лист.Cells(i , 3).Value, Истина).Пустая() Тогда
НоваяСтрокаТабличнойЧасти = Док.Начисления.Добавить();
НоваяСтрокаТабличнойЧасти.Сотрудник = Справочники.СотрудникиОрганизаций.НайтиПоНаименованию(Лист.Cells(i , 1).Value, Истина);
НоваяСтрокаТабличнойЧасти.ПодразделениеОрганизации = Док.ПодразделениеОрганизации;
НоваяСтрокаТабличнойЧасти.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоНаименованию(Лист.Cells(i , 3).Value, Истина);
НоваяСтрокаТабличнойЧасти.Показатель1 = Лист.Cells(i , 2).Value;
НоваяСтрокаТабличнойЧасти.Авторасчет = Истина;

НоваяСтрокаТабличнойЧасти.ДатаНачала = НачалоМесяца(ТекущаяДата());
НоваяСтрокаТабличнойЧасти.ДатаОкончания = КонецМесяца(ТекущаяДата());
НоваяСтрокаТабличнойЧасти.ДатаНачалаСобытия = НачалоМесяца(ТекущаяДата());

НоваяСтрокаТЧНДФЛ = Док.НДФЛ.Добавить();
НоваяСтрокаТЧНДФЛ.МесяцНалоговогоПериода = ТекущаяДата();
НоваяСтрокаТЧНДФЛ.ПодразделениеОрганизации = НоваяСтрокаТабличнойЧасти.ПодразделениеОрганизации;
НоваяСтрокаТЧНДФЛ.ФизЛицо = Справочники.ФизическиеЛица.НайтиПоНаименованию(Лист.Cells(i , 1).Value, Истина);
Иначе
НоваяСтрокаДОП = Док.ДополнительныеНачисления.Добавить();
НоваяСтрокаДОП.Сотрудник = Справочники.СотрудникиОрганизаций.НайтиПоНаименованию(Лист.Cells(i , 1).Value, Истина);
НоваяСтрокаДОП.ПодразделениеОрганизации = Док.ПодразделениеОрганизации;
НоваяСтрокаДОП.ВидРасчета = ПланыВидовРасчета.ДополнительныеНачисленияОрганизаций.НайтиПоНаименованию(Лист.Cells(i , 3).Value, Истина);
НоваяСтрокаДОП.Показатель1 = Лист.Cells(i , 2).Value;
НоваяСтрокаДОП.Авторасчет = Истина;

КонецЕсли;



i=i+1;
КонецЦикла;

  Док.Записать();
Док.РассчитатьВсе();
Док.Записать(РежимЗаписиДокумента.Проведение);

КонецЦикла;

КонецПроцедуры


Теги:
 

Не подтягивается Ставка налогообложения "Основная" в табличной части расчета НДФЛ в документе Начисление зарплаты работникам организаций

Автор bombatРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 2993
Последний ответ 11 Июн 2014, 07:05
от Alex56
Перерасчет НДФЛ в документе "начисление з.п"

Автор lonselotРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 1513
Последний ответ 22 Авг 2016, 16:14
от lonselot
При обновлении на последние релизы в документе "Начисление зарплаты" не работают элементы формы

Автор Ольга166Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 8
Просмотров: 1182
Последний ответ 12 Июн 2017, 00:43
от дфтын
Рассчет НДФЛ в документе "Начисление зарплаты" при вводе строк вручную

Автор AzgerdРаздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 3447
Последний ответ 28 Янв 2013, 08:33
от Azgerd
вылетает документ "Начисление отпуска сотрудникам организации"

Автор primusРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 2908
Последний ответ 30 Янв 2012, 14:47
от primus

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
157 Сообщений
ilyay ilyay
66 Сообщений
alex0402
53 Сообщений
AIFrame
51 Сообщений
andron81_81
44 Сообщений
oleg-x
44 Сообщений
BuhRust
33 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
Golickoff Golickoff
31 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

  • Точка Гостей: 215
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal