Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

1с: Бухгалтерия. Заполнение колонки в табличном документе в зависимости от типа ведомости

Михаил Колупаев Профи (606), на голосовании 1 неделю назад
Добрый вечер, столкнулся с проблемой, нужно заполнить колонку "Счет" в табличном документе зависимости от типа ведомости. Их всего 2: "На счета сотрудников" и "По зарплатному проекту". На первый тип нужен Основной Банковский Счет, а на вторую Лицевой Счет. У меня же всегда выгружает банковский. Предполагаю, что ошибка где-то в запросе, но не уверен. Буду очень признателен за помощь. Заранее спасибо за ответы. Код:

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ДанныеФайла = ПолучитьДанныеФайла(ПараметрКоманды);
Если ЗначениеЗаполнено(ДанныеФайла.ТекстОшибки) Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(ДанныеФайла.ТекстОшибки);
Возврат;
КонецЕсли;

Режим = РежимДиалогаВыбораФайла.ВыборКаталога;
ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытия.Каталог = "";
ДиалогОткрытия.МножественныйВыбор = Ложь;
ДиалогОткрытия.Заголовок = "Выберите каталог для сохранения файла";

Если ДиалогОткрытия.Выбрать() Тогда
ПутьККаталогу = ДиалогОткрытия.Каталог;
ДанныеФайла.ТабличныйДокумент.Записать(ПутьККаталогу + "\" + ДанныеФайла.НомерРеестра + ".xlsx", ТипФайлаТабличногоДокумента.XLSX);
Состояние("Файл успешно сохранен");
КонецЕсли;
КонецПроцедуры


&НаСервере
Функция ПолучитьДанныеФайла(Ведомость)
ТабличныйДокумент = Новый ТабличныйДокумент;

Макет=Документы.ВедомостьНаВыплатуЗарплатыВБанк.ПолучитьМакет("ВыгрузкаВПСБ");
Область=Макет.ПолучитьОбласть("Заголовок");
ТабличныйДокумент.Вывести(Область);


Запрос = Новый Запрос;
Запрос.Текст=
"ВЫБРАТЬ
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.ФизическоеЛицо КАК ФизическоеЛицо,
| СУММА(ВедомостьНаВыплатуЗарплатыВБанкЗарплата.КВыплате) КАК КВыплате
|ИЗ
| Документ.ВедомостьНаВыплатуЗарплатыВБанк.Зарплата КАК ВедомостьНаВыплатуЗарплатыВБанкЗарплата
|ГДЕ
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.ФизическоеЛицо
|УПОРЯДОЧИТЬ ПО
| ФизическоеЛицо
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.УстановитьПараметр("Ссылка", Ведомость);

ТаблицаДанных = Запрос.Выполнить().Выгрузить();
КадровыеДанныеФизическихЛиц = КадровыйУчет.КадровыеДанныеФизическихЛиц(Истина, ТаблицаДанных.ВыгрузитьКолонку("ФизическоеЛицо"), "ФизическоеЛицо, ОсновнойБанковскийСчет, Фамилия, Имя, Отчество, ДокументСерия, ДокументНомер");


Для Каждого ТекСтрока Из ТаблицаДанных Цикл
Область = Макет.ПолучитьОбласть("Строка");
Область.Параметры.Заполнить(ТекСтрока);
ДанныеФизлица = КадровыеДанныеФизическихЛиц.НайтиСтроки(Новый Структура("ФизическоеЛицо", ТекСтрока.ФизическоеЛицо));

Если ДанныеФизлица.Количество() > 0 Тогда
Область.Параметры.Заполнить(ДанныеФизлица[0]);
КонецЕсли;

Область.Параметры.ТабельныйНомер = ТекСтрока.ФизическоеЛицо.Код;
Область.Параметры.КВыплате = Формат(ТекСтрока.КВыплате, "ЧДЦ=2; ЧРД=.; ЧГ=");
ТабличныйДокумент.Вывести(Область);
КонецЦикла;

Результат = Новый Структура;
Результат.Вставить("ТекстОшибки", ?(ТаблицаДанных.Количество() = 0, "Нет данных для формирования отчета", ""));
Результат.Вставить("ТабличныйДокумент", ТабличныйДокумент);
Результат.Вставить("НомерРеестра", Ведомость.НомерРеестра);

Возврат Результат;


КонецФункции
Голосование за лучший ответ
Sergey V. Voronin Искусственный Интеллект (289671) 1 месяц назад
Если...
заполняем так
иначе
заполняем сяк
конецЕсли;
Михаил КолупаевПрофи (606) 1 месяц назад
Я не совсем понимаю как обратится к типу ведомости
Sergey V. Voronin Искусственный Интеллект (289671) Михаил Колупаев, ну он же где-то хранится? Реквизит ведомости?
Похожие вопросы