Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 1C: Предприятие, SAP, ERP и учётные системы > Документ к начислению


Автор: dmd1980 24.6.2009, 09:49
Здравствуйте.
Помогите советом. 
Создал документ оплата по часам, и создал вид расчета оплата по часам. в модуле документа прописал, что данные из этого документа будут передаваться в журнал начислений:

Процедура ОбработкаПроведения()
  Жур=СоздатьОбъект("ЖурналРасчетов.Зарплата");
  Нач=Жур.НачалоТекущегоПериода();
  Кон=Жур.КонецТекущегоПериода();
  Жур.ВвестиРасчет(Сотрудник,ВидРасчета.ОплатаПоОкладу,Нач,Кон);
КонецПроцедуры.

Вопрос в следующем,  в созданный мною документ предусмотрен только для ввода начисления по одному сотруднику, а мне нужно чтобы можно было по группе сотрудников, выше написанный листинг к новому документу не подходит, подскажите что нужно дописать в листинге, что можно было вводит начисления списком сотрудников.

Автор: SaschaL 24.6.2009, 12:30
Цитата

Процедура ОбработкаПроведения()
  Жур=СоздатьОбъект("ЖурналРасчетов.Зарплата");
  Нач=Жур.НачалоТекущегоПериода();
  Кон=Жур.КонецТекущегоПериода();
  Жур.ВвестиРасчет(Сотрудник,ВидРасчета.ОплатаПоОкладу,Нач,Кон);
КонецПроцедуры.

надо видоизменить под то чтобы проводились сотрудники по несколько человек, во-первых это в документе должна иметься табличная часть в которую методом подбора добавляются сотрудники. Если все это имеется в документе то код должен выглядеть примерно так

Цитата

Процедура ОбработкаПроведения()
ВыбратьСтроки();
  Пока ПолучитьСтроку() = 1 цикл
     Жур=СоздатьОбъект("ЖурналРасчетов.Зарплата");
     Нач=Жур.НачалоТекущегоПериода();
     Кон=Жур.КонецТекущегоПериода();
     Жур.ВвестиРасчет(Сотрудник,ВидРасчета.ОплатаПоОкладу,Нач,Кон);
КонецЦикла;
КонецПроцедуры.


вот примерно так это должно выглядеть

Замечу к слову это касается 1С 7.7

Добавлено через 2 минуты и 2 секунды
 Хотя строки по созданию объекта "Журнал расчетов", можно было объявить и до начала перебора строчек

Автор: dmd1980 25.6.2009, 04:24
SaschaL спасибо большое за совет. Сейчас попробывал написать как ты написал, но в журнал расчетов никаких действий не происходит. Может быть из затого, что табличную часть я заполняю ручками, а не подбором? Сейчас напишу подбор и еще раз попробую.

Автор: SaschaL 25.6.2009, 05:56
Конечно, сотрудники в табличной части должны быть выбраны из справочника сотрудников. У вас же запись в журнал расчетов происходит именно по выбранному сотруднику.
Иными словами Реквизит табличной части "Сотрудник" должен иметь тип "Справочник.Сотрудники". Теперь немного надеюсь понятно! 

Автор: dmd1980 26.6.2009, 04:31
SaschaL. То что в табличной части Сотрудник" должен иметь тип "Справочник.Сотрудники", это я знаю, вчера посидел и доделал, все оказалось проще нужно было в модуле вида расчета указать ссылку на вводимые часы не просто Часы=Документ.Часы, а сделать это как из табличной части выбрать строку по номеру и все. 
Все равно большое спасибо за совет

Автор: SaschaL 26.6.2009, 17:23
Молодец раз разобрался!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)