Выполняю сборку отчета. Хочу чтобы отображался счет Кт. Со связью получилось , отображается. А вот с удержаниеям по исполнительному листу. Задаю счет на дополнительных данных физ.лица, через свойства. Но в конечном итоге он все ровно пустой. Ниже код функции и скриншоты для наглядности.
Функция СоздатьСтрокуПромежуточнойТаблицыФункция СоздатьСтрокуПромежуточнойТаблицы(ДанныеУчета, ПромежуточнаяТаблица, ПустойСчет, ПодразделениеФизлица = Неопределено)
СтрокаДанных = ПромежуточнаяТаблица.Добавить();
//Добавлено СС
СтрокаДанных.ВидРасчета = ДанныеУчета.ВидРасчета;
//КонецДобавлено
//Добавлено Ва.
Если СтрокаДанных.ВидРасчета.Наименование = "Удержания за сотовую связь сверхлимита" или СтрокаДанных.ВидРасчета.Наименование = "Удержания за междугородние разговоры" Тогда
ЛицСчета = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
ЛицСчета.Отбор.Объект.Установить(ДанныеУчета.ФизЛицо);
//ЛицСчета.Отбор.Свойство.Установить(ПланыВидовХарактеристик.СвойстваОбъектов.УдержИспЛисты);
ЛицСчета.Отбор.Свойство.Установить(ПланыВидовХарактеристик.СвойстваОбъектов.УдержЗаСотовСвязьСверхЛимита);
ЛицСчета.Прочитать();
Если ЛицСчета.Количество()=0 Тогда
Сообщить("У сотрудника: "+ДанныеУчета.ФизЛицо+" не указан лицевой счет удержания за сотовую связь!");
// Сообщить("У сотрудника: "+ДанныеУчета.ФизЛицо+" не указан лицевой счет удержания по исп. листу!");
Иначе
СчетКредитаСотр = ЛицСчета[0].Значение;
КонецЕсли;
ИначеЕсли СтрокаДанных.ВидРасчета.Наименование = "Удержания по исполнительным листам сотрудников" тогда //или СтрокаДанных.ВидРасчета.Наименование = "Удержания по исполнительным листам сотрудников" Тогда
ЛицСчета = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
ЛицСчета.Отбор.Объект.Установить(ДанныеУчета.ФизЛицо);
ЛицСчета.Отбор.Свойство.Установить(ПланыВидовХарактеристик.СвойстваОбъектов.УдержИспЛисты);
//ЛицСчета.Отбор.Свойство.Установить(ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("0011"));
ЛицСчета.Прочитать();
Если ЛицСчета.Количество()=0 Тогда
Сообщить("У сотрудника: "+ДанныеУчета.ФизЛицо+" не указан лицевой счет удержания по исп. листу!");
Иначе
СчетКредитаСотр = ЛицСчета[0].Значение;
КонецЕсли;
КонецЕсли;
//КонецДобавлено
СтрокаДанных.СчетДт = ДанныеУчета.СчетДт;
//Добавлено Ва.
Если СтрокаДанных.ВидРасчета.Наименование = "Удержания за сотовую связь сверхлимита" или СтрокаДанных.ВидРасчета.Наименование = "Удержания за междугородние разговоры" или СтрокаДанных.ВидРасчета.Наименование = "Удержания по исполнительным листам сотрудников" Тогда
СтрокаДанных.СчетКт = СчетКредитаСотр;
Иначе
СтрокаДанных.СчетКт = ДанныеУчета.СчетКт;
КонецЕсли;
//Добавлено Ва.
СтрокаДанных.СубконтоДт1 = ДанныеУчета.СубконтоДт1;
СтрокаДанных.СубконтоДт2 = ДанныеУчета.СубконтоДт2;
СтрокаДанных.СубконтоДт3 = ДанныеУчета.СубконтоДт3;
СтрокаДанных.СубконтоКт1 = ДанныеУчета.СубконтоКт1;
СтрокаДанных.СубконтоКт2 = ДанныеУчета.СубконтоКт2;
СтрокаДанных.СубконтоКт3 = ДанныеУчета.СубконтоКт3;
СтрокаДанных.Сумма = ДанныеУчета.Результат;
Если мЗаполнятьДанныеНУ Тогда
Если мЗаполнятьСчетаНУ Тогда
СтрокаДанных.СчетДтНУ = ДанныеУчета.СчетДтНУ;
СтрокаДанных.СчетКтНУ = ДанныеУчета.СчетКтНУ;
СтрокаДанных.СубконтоДтНУ1 = ДанныеУчета.СубконтоДтНУ1;
СтрокаДанных.СубконтоДтНУ2 = ДанныеУчета.СубконтоДтНУ2;
СтрокаДанных.СубконтоДтНУ3 = ДанныеУчета.СубконтоДтНУ3;
СтрокаДанных.СубконтоКтНУ1 = ДанныеУчета.СубконтоКтНУ1;
СтрокаДанных.СубконтоКтНУ2 = ДанныеУчета.СубконтоКтНУ2;
СтрокаДанных.СубконтоКтНУ3 = ДанныеУчета.СубконтоКтНУ3;
Иначе
СтрокаДанных.СуммаНУ = СтрокаДанных.Сумма;
КонецЕсли;
КонецЕсли;
СтрокаДанных.ОтражениеВУСН = ДанныеУчета.ОтражениеВУСН;
Если мИП_ОСН Тогда
СтрокаДанных.ВидНачисленияУдержания = ДанныеУчета.ИПВидНачисленияУдержания;
КонецЕсли;
// выполним автозаполнение субконто если это предусмотрено способом отражения в бухучете
Если ДанныеУчета.СчетДт <> ПустойСчет Тогда
Если ДанныеУчета.НомерСубконтоРаботникиДт <> 0
И НЕ ЗначениеЗаполнено(ДанныеУчета["СубконтоДт" + ДанныеУчета.НомерСубконтоРаботникиДт]) Тогда
СтрокаДанных["СубконтоДт" + ДанныеУчета.НомерСубконтоРаботникиДт] = ДанныеУчета.Физлицо;
КонецЕсли;
КонецЕсли;
Если ДанныеУчета.СчетКт <> ПустойСчет Тогда
Если ДанныеУчета.НомерСубконтоРаботникиКт <> 0
И НЕ ЗначениеЗаполнено(ДанныеУчета["СубконтоКт" + ДанныеУчета.НомерСубконтоРаботникиКт]) Тогда
СтрокаДанных["СубконтоКт" + ДанныеУчета.НомерСубконтоРаботникиКт] = ДанныеУчета.Физлицо;
КонецЕсли;
Если ДанныеУчета.НомерСубконтоКонтрагентыКт <> 0
И НЕ ЗначениеЗаполнено(ДанныеУчета["СубконтоКт" + ДанныеУчета.НомерСубконтоКонтрагентыКт]) Тогда
СтрокаДанных["СубконтоКт" + ДанныеУчета.НомерСубконтоКонтрагентыКт] = ДанныеУчета.Контрагент;
КонецЕсли;
Если ДанныеУчета.НомерСубконтоПодразделениеКт <> 0
И НЕ ЗначениеЗаполнено(ДанныеУчета["СубконтоКт" + ДанныеУчета.НомерСубконтоПодразделениеКт]) и ПодразделениеФизлица <> Неопределено Тогда
СтрокаДанных["СубконтоКт" + ДанныеУчета.НомерСубконтоПодразделениеКт] = ПодразделениеФизлица;
КонецЕсли;
КонецЕсли;
Возврат СтрокаДанных;
КонецФункции // СоздатьСтрокуПромежуточнойТаблицы
1С:Предприятие 8.2 (8.2.19.130)
Зарплата и Управление Персоналом, редакция 2.5 (2.5.108.1)
Сообщение отредактировал Vofka - 08.12.16, 9:25