Как программно создать сотрудников (внештатников) в ЗУП 3.0

14.03.16

Разработка - Механизмы типовых конфигураций

В какие регистры нужно записать Сотрудника, чтобы создать его программно.
Тестировал на ЗУП 3.0.24.114.

Добрый день!

Была у меня задача загрузить сотрудников (внештатников) из Excel файла и создать их в ЗУП 3.0 (в части загрузки мне, кстати, очень помогла вот эта статья)

Я эту задачу решил, и хочу поделиться с вами своим опытом.

Лирическое отступление

Я потратил на попытки понять, в какие регистры надо записать Сотрудника, практически целый день. Смотрел код нескольких форм справочника Сотрудники, нажимал F12, погружаясь в дебри общих модулей, некоторые из которых не делали ничего, кроме вызова функции из другого общего модуля. Зачем так было сделано, почему функции модуля содержат только возврат функций другого модуля? Достаточно сложно было разобраться в хитросплетениях этого кода.

Программное создание Сотрудника

Итак, что же нужно сделать, чтобы создать Сотрудника?

  1. Создать элемент справочника ФизическиеЛица. При этом желательно заполнить ИНН и СНИЛС.
  2. Создать элемент справочника Сотрудники. Установить ему реквизиты ФизическоеЛицо и ГоловнаяОрганизация.
  3. Сделать запись в регистр ДокументыФизическихЛиц
  4. Сделать запись в регистр МестаВыплатыЗарплатыСотрудников и создать для этого элемент справочника БанковскиеСчетаКонтрагентов
  5. Самое неочевидное - запись в регистр РолиСотрудников с ролью Договорник либо Работник. Я потратил на это больше всего времени и долго недоумевал, почему у меня не открывается в режиме Предприятия созданный Сотрудник.
  6. Сделать запись в регистр ДанныеДляПодбораСотрудников.

Также у меня в комментариях упоминается регистр ТекущиеКадровыеДанныеСотрудников, но он, судя по всему, необязателен - у меня заработало и без него.

После всех этих магических записей, наконец, можно создать договор ГПХ с Сотрудником.

Программное создание Договора ГПХ или Авторского договора

С созданием договоров было проще. В ЗУП есть два вида договоров для внештатных сотрудников: ДоговорРаботыУслуги для ГПХ и ДоговорАвторскогоЗаказа для авторов или, например, журналистов. Также я устанавливал признак УдалитьОплатаПоАктамВыполненныхРабот. Остальное можно посмотреть в коде

Код

В коде предполагается, что есть ТаблицаЗначений, загруженная из файла Excel. Пара нюансов: в колонке ВидРаботАвторский предполагается, что находится либо строка "АвторскийДоговор", либо "ДоговорГПХ", руководителя брал из регистра СведенияОбОтветственныхЛицах, организацию заполнял на форме обработки. Для получения сведений о руководителе есть функция в общем модуле СведенияОбОтветственныхЛицах, но я использовал свою - на случай, если данные не заполнены, нужно было подставить значения по умолчанию.

Создание сотрудников:

структура = ПолучитьСтруктуруПараметровОрганизации(орг);
Руководитель = структура.рукссылка;
ДолжностьРук = структура.Должность;
для каждого строкаТЧ из ТаблицаИзФайла цикл	
	//ФизЛицо
	ФизЛицо = справочники.ФизическиеЛица.СоздатьЭлемент();
	ФизЛицо.Наименование = сокрлп(СтрокаТч.ФИО);
	ФизЛицо.ДатаРождения = строкаТЧ.датаРождения;
	ФизЛицо.ГруппаДоступа = ГруппаДоступа;
	ФизЛицо.ИНН = СтрокаТЧ.ИНН;
	ФизЛицо.СтраховойНомерПФР = СтрокаТЧ.Снилс;
	ФизЛицо.ФИО = сокрлп(СтрокаТч.ФИО);
	//признак записи
	физЛицоЗаписано=ложь;
	попытка
		физлицо.Записать();
		физЛицоЗаписано=истина;
	исключение
		ош = ОписаниеОшибки();
		мСтрОшибок = мСтрОшибок + ош;
		сооб = новый СообщениеПользователю;
		сооб.Текст = ош;
		сооб.Сообщить();	
	конецпопытки;
	//сотрудник
	если физЛицоЗаписано тогда
		Сотрудник = Справочники.Сотрудники.СоздатьЭлемент();
		Сотрудник.Наименование = сокрлп(СтрокаТч.ФИО);
		Сотрудник.ФизическоеЛицо = ФизЛицо.Ссылка;
		Сотрудник.ГоловнаяОрганизация = Организация;
		//Сотрудник.УдалитьВидЗанятости = Перечисления.ВидыЗанятости.Подработка;
		сотрудникЗаписан=ложь;
		попытка
			Сотрудник.Записать();
			сотрудникЗаписан = истина;
		исключение
			ош = ОписаниеОшибки();
			мСтрОшибок = мСтрОшибок + ош;
			сооб = новый СообщениеПользователю;
			сооб.Текст = ош;
			сооб.Сообщить();			
		конецпопытки;
	конецесли;
	//регистры:
	//ДокументыФизическихЛиц СрезПоследних
	если физЛицоЗаписано тогда
		ДокументФизЛицзапись = РегистрыСведений.ДокументыФизическихЛиц.СоздатьМенеджерЗаписи();
		//измерения
		ДокументФизЛицзапись.ВидДокумента = Справочники.ВидыДокументовФизическихЛиц.ПаспортРФ;
		ДокументФизЛицзапись.Физлицо = ФизЛицо.Ссылка;
		//ресурсы
		ДокументФизЛицзапись.ДатаВыдачи = СтрокаТЧ.ДатаВыдачи;
		ДокументФизЛицзапись.КемВыдан = СтрокаТч.КемВыдан;
		ДокументФизЛицзапись.Серия = строкатч.серияПаспорта;
		ДокументФизЛицзапись.Номер = строкатч.НомерПаспорта;
		ДокументФизЛицзапись.ЯвляетсяДокументомУдостоверяющимЛичность = истина;
		////действует с - текущая дата
		ДокументФизЛицзапись.Период = текущаяДата();
		попытка
			ДокументФизЛицзапись.Записать(истина);
		исключение
			ош = ОписаниеОшибки();
			мСтрОшибок = мСтрОшибок + ош;
			сооб = новый СообщениеПользователю;
			сооб.Текст = ош;
			сооб.Сообщить();			
		конецпопытки;
	конецесли;
	//регистры
	если сотрудникЗаписан и физЛицоЗаписано тогда
		//МестаВыплатыЗарплатыСотрудников - личный счет, по физлицу!
		СчетВыплаты = РегистрыСведений.МестаВыплатыЗарплатыСотрудников.СоздатьМенеджерЗаписи();
		//измерения
		СчетВыплаты.Сотрудник = Сотрудник.Ссылка;
		//действует с - ПРЕДЫДУЩИЙ МЕСЯЦ
		СчетВыплаты.Период = ДобавитьМесяц(НачалоМесяца(ТекущаяДата()),-1);
		СчетВыплаты.ФизическоеЛицо = Физлицо.Ссылка;
		//ресурсы
		СчетВыплаты.Вид = Перечисления.ВидыМестВыплатыЗарплаты.БанковскийСчет;
		//место выплаты - БанковскиеСчетаКонтрагентов
		место = справочники.БанковскиеСчетаКонтрагентов.СоздатьЭлемент();
		место.Владелец = физлицо.Ссылка;
		место.НомерСчета = Строкатч.РасчетныйСчет;
		Бик = сокрлп(строкаТЧ.Бик);//КлассификаторБанковРФ
		банкНайти= справочники.КлассификаторБанковРФ.НайтиПоКоду(Бик);
		место.Банк = банкНайти;
		место.Наименование = строка(физлицо.Ссылка)+" ; "+Строка(банкНайти)+" ; "+Строка(Строкатч.РасчетныйСчет);
		попытка
			место.Записать();
		исключение
			ош = ОписаниеОшибки();
			мСтрОшибок = мСтрОшибок + ош;
			сооб = новый СообщениеПользователю;
			сооб.Текст = ош;
			сооб.Сообщить();			
		конецпопытки;
СчетВыплаты.МестоВыплаты=место.Ссылка; попытка СчетВыплаты.Записать(истина); исключение ош = ОписаниеОшибки(); мСтрОшибок = мСтрОшибок + ош; сооб = новый СообщениеПользователю; сооб.Текст = ош; сооб.Сообщить(); конецпопытки; //регистры - ТекущиеКадровыеДанныеСотрудников если ГруппаДоступа = Справочники.ГруппыДоступаФизическихЛиц.НайтиПоНаименованию("Штатные сотрудники") тогда //штатник мРоль = Перечисления.РолиСотрудников.Работник; ВидЗанятости = Перечисления.ВидыЗанятости.ОсновноеМестоРаботы; иначе //договорник мРоль = Перечисления.РолиСотрудников.Договорник; ВидЗанятости = Перечисления.ВидыЗанятости.Подработка; конецесли; //регистр РолиСотрудников //роли - обязательно! РегистрРолей = РегистрыСведений.РолиСотрудников.СоздатьМенеджерЗаписи(); РегистрРолей.Период = НачалоДня(ТекущаяДата()); РегистрРолей.Сотрудник = Сотрудник.Ссылка; РегистрРолей.РольСотрудника = мРоль; РегистрРолей.Записать(истина); //вид занятости!!! обязательно (чтоб были оформлены трудовые отношения. //смотри запрос в списке формы выбора справочника сотрудников регистрЗанятости = РегистрыСведений.ДанныеДляПодбораСотрудников.СоздатьМенеджерЗаписи(); регистрЗанятости.Период = НачалоДня(ТекущаяДата()); регистрЗанятости.Сотрудник = Сотрудник.Ссылка; регистрЗанятости.ФизическоеЛицо = ФизЛицо.Ссылка; регистрЗанятости.Организация = орг.Ссылка; регистрЗанятости.Филиал = орг.Ссылка; регистрЗанятости.Подразделение = справочники.ПодразделенияОрганизаций.ПустаяСсылка(); регистрЗанятости.Должность = справочники.Должности.ПустаяСсылка(); регистрЗанятости.ДолжностьПоШтатномуРасписанию = справочники.ШтатноеРасписание.ПустаяСсылка(); видДог = СтрокаТЧ.ВидДоговора; если не видДог = "АвторскийДоговор" тогда //договоры гпх регистрЗанятости.УдалитьПоДоговоруГПХ=Истина; конецесли; //ресурсы регистра //регистрЗанятости.ВидСобытия = Перечисления.ВидыКадровыхСобытий.Прием; //реги регистрЗанятости.ВидЗанятости = ВидЗанятости; регистрЗанятости.Окончание = Дата(2099,1,1); регистрЗанятости.Записать(истина); конецесли; //Создание Договора если сотрудникЗаписан и физЛицоЗаписано тогда //создаем договор попытка видДог = СтрокаТЧ.ВидДоговора; суммаДог = строкаТЧ.СуммаДоговора; ВидРаботАвтДог = СтрокаТЧ.ВидРаботАвторский; ДатаНачалаДоговора = СтрокаТЧ.ДатаНачала; ДатаКонцаДоговора = Строкатч.ДатаОкончания; ДатаДоговора = СтрокаТЧ.ДатаДоговора; текЮзер = ПараметрыСеанса.ТекущийПользователь; если видДог = "АвторскийДоговор" тогда Договор = Документы.ДоговорАвторскогоЗаказа.СоздатьДокумент(); //должно быть заполнено для авторских. договор.ВидАвторскогоДоговора = ВидРаботАвтДог; //ндфд для авторских 2207 или 2201 // //Сумма в пределах нормативов затрат, связанных с получением авторских вознаграждений //договор.КодВычета = Справочники.ВидыВычетовНДФЛ.Код405; иначе Договор = Документы.ДоговорРаботыУслуги.СоздатьДокумент(); конецесли; Договор.Организация = Организация; Договор.Подразделение = СтрокаТЧ.Подразделение.Ссылка; Договор.Сотрудник = сотрудник.Ссылка; договор.ФизическоеЛицо = физлицо.Ссылка; договор.ДатаНачала = ДатаНачалаДоговора; договор.дата = ДатаДоговора; договор.Руководитель = Руководитель.ссылка; договор.ДолжностьРуководителя=ДолжностьРук.ссылка; договор.ДатаОкончания = ДатаКонцаДоговора; //новое при обновлении зуп Договор.УдалитьОплатаПоАктамВыполненныхРабот = истина; договор.Сумма = СуммаДог; договор.Ответственный = текЮзер; //проведем договор договор.Записать(РежимЗаписиДокумента.Проведение); ссылкаДог = Договор.Ссылка; массивДоговоров.Добавить(ссылкаДог); счетчикУспешно = счетчикУспешно+1; //добавим в ТЧ Успешных строкаУспех = Объект.УспешноЗагруженные.Добавить(); строкаУспех.Сотрудник = сотрудник.Ссылка; строкаУспех.Договор = Договор.Ссылка; исключение договор.Записать(РежимЗаписиДокумента.Запись); ош = ОписаниеОшибки(); мСтрОшибок = мСтрОшибок + "при проведении договора "+ош; сооб = новый СообщениеПользователю; сооб.Текст = ош; сооб.Сообщить(); конецпопытки; ИНАЧЕ счетчикОшибка= счетчикОшибка+1; строшибок = стрОшибок+" При создании сотрудника "+строкатч.ФИО+" Ошибки:"+мСтрОшибок+Символы.ПС; конецесли; Конеццикла;

Сведения о руководителе:

&НаСервере
функция ПолучитьСтруктуруПараметровОрганизации(Организация)	
	СтруктураВозврата = новый структура;	
	орг = Организация;
	если орг = справочники.Организации.ПустаяСсылка() тогда
		орг = РегламентированнаяОтчетность.ПолучитьОрганизациюПоУмолчанию();
		если орг = справочники.Организации.ПустаяСсылка() тогда
			//получим первую из справочника
			выб = справочники.Организации.Выбрать();
			выб.Следующий();
			орг = выб.Ссылка;
		конецесли;		
	конецесли;
	запросПоОрганизации= новый запрос;
	запросПоОрганизации.Текст="ВЫБРАТЬ
	                          |	СведенияОбОтветственныхЛицахСрезПоследних.Период,
	                          |	СведенияОбОтветственныхЛицахСрезПоследних.Организация,
	                          |	СведенияОбОтветственныхЛицахСрезПоследних.Руководитель,
	                          |	СведенияОбОтветственныхЛицахСрезПоследних.ДолжностьРуководителя,
	                          |	СведенияОбОтветственныхЛицахСрезПоследних.ГлавныйБухгалтер,
	                          |	СведенияОбОтветственныхЛицахСрезПоследних.Кассир,
	                          |	СведенияОбОтветственныхЛицахСрезПоследних.ДолжностьКассира,
	                          |	СведенияОбОтветственныхЛицахСрезПоследних.РуководительКадровойСлужбы,
	                          |	СведенияОбОтветственныхЛицахСрезПоследних.ДолжностьРуководителяКадровойСлужбы,
	                          |	СведенияОбОтветственныхЛицахСрезПоследних.ОтветственныйЗаВУР,
	                          |	СведенияОбОтветственныхЛицахСрезПоследних.ДолжностьОтветственногоЗаВУР,
	                          |	СведенияОбОтветственныхЛицахСрезПоследних.ОтветственныйЗаОхрануТруда,
	                          |	СведенияОбОтветственныхЛицахСрезПоследних.ДолжностьОтветственногоЗаОхрануТруда
	                          |ИЗ
	                          |	РегистрСведений.СведенияОбОтветственныхЛицах.СрезПоследних(&Дата, ) КАК СведенияОбОтветственныхЛицахСрезПоследних
	                          |ГДЕ
	                          |	СведенияОбОтветственныхЛицахСрезПоследних.Организация = &Организация";
	запросПоОрганизации.УстановитьПараметр("Дата",текущаядата());
	запросПоОрганизации.УстановитьПараметр("Организация",орг);
	выборка = запросПоОрганизации.Выполнить().Выбрать();
	если выборка.Количество()=0 тогда
		//в регистре ничего нет - ПО УМОЛЧАНИЮ
		РукСтрока = "Иванов Иван Иванович";
		РукСтрокаРП = "Иванова Ивана Ивановича";
		РукИнициалы = "Иванов И.И.";
		РукДолжность = справочники.Должности.НайтиПоНаименованию("Генеральный директор");
		РукСсылка = Справочники.ФизическиеЛица.НайтиПоНаименованию(рукстрока);
	иначе
		выборка.Следующий();
		РукСтрока = Строка(Выборка.Руководитель);
		РукСсылка = Выборка.Руководитель;
		попытка
			пол = ?(Выборка.Руководитель.пол=Перечисления.ПолФизическогоЛица.Мужской,1,2);
		исключение
			пол=1;
		конецпопытки;

		РукСтрокаРП = "Иванова Ивана Ивановича";
		РукИнициалы = ФизическиеЛицаКлиентСервер.ФамилияИнициалыФизЛица(РукСтрока);
		РукДолжность = выборка.ДолжностьРуководителя;
	конецесли;
	
	ДанныеРегистрацииВНалоговомОргане = ЗарплатаКадрыВызовСервера.ДанныеРегистрацииВНалоговомОргане(орг.Ссылка, орг.РегистрацияВНалоговомОргане);
	Кпп = строка(ДанныеРегистрацииВНалоговомОргане.КПП);
	если пустаяСтрока(Кпп) тогда
		кпп = "770123456";
	конецесли;
	
	ИннКппОрг = "ИНН "+строка(орг.инн)+"/КПП "+кпп;
	ОгрнОрг = "ОГРН  "+строка(орг.ОГРН);
	НазваниеОрг = " "+сокрлп(орг.НаименованиеСокращенное)+" ";
	запросАдрес= новый запрос;
	запросАдрес.Текст="ВЫБРАТЬ
	|	ОрганизацииКонтактнаяИнформация.Тип,
	|	ОрганизацииКонтактнаяИнформация.Вид,
	|	ОрганизацииКонтактнаяИнформация.Представление
	|ИЗ
	|	Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация
	|ГДЕ
	|	ОрганизацииКонтактнаяИнформация.Ссылка = &Ссылка
	|	И ОрганизацииКонтактнаяИнформация.Тип = &Тип
	|	И ОрганизацииКонтактнаяИнформация.Вид = &Вид";
	запросАдрес.УстановитьПараметр("Ссылка",орг.Ссылка);
	запросАдрес.УстановитьПараметр("Тип",Перечисления.ТипыКонтактнойИнформации.Адрес);
	запросАдрес.УстановитьПараметр("Вид",Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);
	выбАдрес=запросАдрес.Выполнить().Выбрать();
	если выбАдрес.Количество()=0 тогда
		АдресОрг = "127000, МОСКВА, улица Одинэсная, д. 83";
	иначе		
		выбАдрес.Следующий();
		АдресОрг = строка(выбАдрес.Представление);
	конецесли;
	
	
	СтруктураВозврата.Вставить("Руководитель",РукСтрока);
	СтруктураВозврата.Вставить("РуководительРодПадеж",РукСтрокаРП);
	СтруктураВозврата.Вставить("РуководительИнициалы",РукИнициалы);
	СтруктураВозврата.Вставить("ИннКппОрг",ИннКппОрг);
	СтруктураВозврата.Вставить("ОгрнОрг",ОгрнОрг);
	СтруктураВозврата.Вставить("НазваниеОрг",НазваниеОрг);
	СтруктураВозврата.Вставить("АдресОрг",АдресОрг);
	СтруктураВозврата.Вставить("Должность",РукДолжность);
	СтруктураВозврата.Вставить("РукСсылка",РукСсылка);
	 
	возврат СтруктураВозврата;
конецфункции

Программное создание сотрудников ЗУП 3.0 внештатные работники договор гпх

См. также

Ценовая власть. Выносим из цикла схему СКД

Механизмы типовых конфигураций Ценообразование, анализ цен Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Россия Абонемент ($m)

Продолжение темы вынесения кусков повторно-используемого кода в запрос. В прошлый раз мы сделали это с вычислением пользовательских формул. Здесь замахнулись на формулы, задаваемые пользователем запросами.

1 стартмани

11.04.2024    499    tango    0    

3

Формула в реквизите. Приквелл к сериалу "Ценовая власть"

Механизмы типовых конфигураций Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

Какому-либо элементу списка сопоставляется числовое значение, зависящее от других значений, причем эта зависимость изменяется от элемента к элементу. Так, в справочнике "Валюты" курс какой-либо валюты может быть задан формулой (или даже запросом) от значения другой валюты. А в справочнике "Виды цен" формула определяет расчет цены для товарной позиции, т.е. элементов справочника "Номенклатура", у которых в карточке указан этот вид цены. А в 1С:ERP, например, этот механизм используется в ресурсной спецификации.

10 стартмани

11.04.2024    384    tango    5    

3

Ценовая власть. Второй сезон

Механизмы типовых конфигураций Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Россия Бесплатно (free)

В первом сезоне мы рассмотрели (с точки зрения программиста) внутренний механизм, помещающий цены в регистр "Цены". Из этого регистра цена попадает в исходящие УПД (в продажи). Но эта цена (в прайс-листе) дифференцирована (ценообразована) в разрезах свойств самой номенклатуры. Но стратегия ценообразования, ценовая власть - это в первую очередь о работе с ценами для клиента. И тут вступает в дело второй акт марлезонского, Скидки (наценки) и кешбек.

08.04.2024    618    tango    0    

2

Ценовая власть (УТ 11.5) - 2

Механизмы типовых конфигураций Платформа 1С v8.3 1С:Управление торговлей 11 Бесплатно (free)

В прошлый раз специальной обработкой мы выбрали объекты УТ 1.5, группируя по подсистемам. Оказалось, что состав подсистем не вполне корректно отображает функциональную структуру, но зато мы нашли процедуру, которая, вроде бы, должна содержать в себе всё, что нас интересует. Обновление цен должно ведь следовать выбранной стратегии ценообразования, верно? Иначе что она обновляет...

06.04.2024    444    tango    1    

1

Ценовая власть или Управление ценообразованием (УТ 11.5)

Ценообразование, анализ цен Механизмы типовых конфигураций Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Абонемент ($m)

Ценовая власть - это способность (возможность) компании изменять в некоторых пределах отпускную цену своего товара (услуг, продукции). Чем в более широких пределах вы можете играть в цену продажи, тем больше этой власти у вас. Если вы не можете управлять отпускной ценой, то это или не ваш бизнес, или не бизнес вовсе. Здесь в рубрике "База знаний аналитика и руководителя проекта" слово проект не ограничено "проектом в 1С". Посмотрим, что для этого есть в УТ 11.5.

1 стартмани

05.04.2024    530    tango    12    

2

Расширяем возможности дополнительных обработок и настраиваем их отладку

БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

07.02.2024    2601    YA_418728146    11    

42

Регистры накопления в 1С:КА2 и 1С:ERP для расчета НДФЛ, страховых взносов и взаиморасчетов с сотрудниками на январь 2024 года. Краткое описание

Зарплата Механизмы типовых конфигураций Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет НДФЛ Абонемент ($m)

Для расчета зарплаты и соответствующих налогов в конфигурациях 1С:КА2 и 1С:ERP используется 22 регистра накопления, 7 регистров сведений, 1 регистр расчета и бухгалтерские проводки. В таблице приведены названия этих регистров, указаны основные регистраторы и виды движений приход/расход. В описании приводится краткое функциональное назначение регистров в основных зарплатных процессах. Описание регистров родилось из черновиков при написании различных отчетов и обработок при эксплуатации 1С-овских конфигураций и исправлении ошибок по НДФЛ, взаиморасчетов с сотрудниками и прочих. Информация не претендует на полноценное описание работы регистров, скорее это дискуссионный материал. Но, возможно, кому-то пригодится и сократит время при подготовке отчетности за непростой (в плане учета зарплаты) 2023 год. А возможно, кто-то поделится своим опытом.

1 стартмани

10.01.2024    1144    8    2ncom    6    

8

Шаблоны новых объектов 1С для 1С:Бухгалтерии предприятия

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 1С:Бухгалтерия 3.0 Бесплатно (free)

Используются для создания новых объектов в конфигурации, чтобы не забыть, что нужно сделать. Сделано на примере 1С:Бухгалтерия предприятия, в других конфигурациях могут быть другие, а могут быть и похожие объекты.

28.12.2023    4969    mrXoxot    11    

100
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. kiv1c 809 18.03.16 17:45 Сейчас в теме
Кстати, стоит заметить что вшивание строк в код , например с именем руководителя, как я сделал в ПолучитьСтруктуруПараметровОрганизации - неправильный подход.
Можно завести для хранения этих данных константу типа ИмяРуководителяВРодительномПадежеПоУмолчанию.
Или справочник типа СтрокиДляПодстановкиВПечатныеФормы с предопределенными данными типа ФиоРуководителяРодительныйПадеж и ИнициалыРуководителя.
+
2. natarezn 01.10.16 15:41 Сейчас в теме
руклей может быть двадцать штук !
+
3. ss.mikhailov 14.03.18 01:32 Сейчас в теме
В Зарплата и кадры государственного учреждения, редакция 3.1 (3.1.5.129)
уже удалили ВидЗанятости в РегистрыСведений.ДанныеДляПодбораСотрудников
регистрЗанятости.ВидЗанятости = ВидЗанятости; не будет работать
+
4. ybatiaev 58 31.07.18 18:55 Сейчас в теме
ЗУП 3.1.4.161. Вот мой код, не могу правильно заполнить реквизит "ИдентификаторЗаписи". Не могу понять откуда(!) он берётся как правильно его записать.
мз = БУХ.РегистрыСведений.ДанныеДляПодбораСотрудников.СоздатьМенеджерЗаписи();
мз.Наименование			= нс.Наименование; // Наименование сотрудника
мз.Сотрудник				= нс.Ссылка; // V8-ссылка на сотрудника
мз.Организация			= Орг; // v8-ссылка на организацию
мз.ФизическоеЛицо		= нс.ФизическоеЛицо; // V8-ссылка на физическое лицо
КлючЗаписи = БУХ.РегистрыСведений.ДанныеДляПодбораСотрудников.СоздатьКлючЗаписи(???????);
мз.ИдентификаторЗаписи	= КлючЗаписи;
мз.ЭтоГоловнойСотрудник	= Истина;
мз.Записать(Истина);

Показать


БУХ - это V8 по СОМ.
Тут под вопросами должна быть структура с ключевыми параметрами, но измерение "мз.ИдентификаторЗаписи"(Стоит Основной отбор) тоже в ключе же.

Может кто подскажет ?
+
5. kotich 19.10.18 11:23 Сейчас в теме
(4) Вызывайте КадровыйУчетРасширенный.ЗаполнитьДанныеДляПодбораСотрудников() - 1С сама за вас всё заполнит
+
6. Sofia9876 29.03.21 22:42 Сейчас в теме
Дай Вам Бог здоровья!!! Спасибо, оч выручили!
+
Оставьте свое сообщение