Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 12:42

помогите добавить фунции для выгрузки из ЗУП 2,5 в dbf файл

Автор Володя, 22 янв 2018, 08:55

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

Володя

помогите кто знает как прописать функцию

данная обработка создает двф файл

но не могу задать функцию

Файл = Новый XBase;
Файл.Кодировка = КодировкаXBase.OEM;
Файл.поля.Добавить("SUMMA","N",12,2); //Сумма
Файл.поля.Добавить("CLNT_FNAME","S",35);
Файл.поля.Добавить("CLNT_INAME","S",20);
Файл.поля.Добавить("CLNT_ONAME","S",30);
Файл.поля.Добавить("CLNT_SPAS","S",10);
Файл.поля.Добавить("CLNT_NPAS","S",35);
Файл.поля.Добавить("CLNT_DPAS","D",10);
Файл.поля.Добавить("CLNT_PPAS","S",50);
Файл.поля.Добавить("CLNT_ADR","S",100);
Файл.поля.Добавить("BIRTHDAY","D",10);
Файл.поля.Добавить("TAB_N","S",20);
Файл.поля.Добавить("ACC","S",25);
Файл.поля.Добавить("WORD","S",32);
Файл.поля.Добавить("PHONE","S",32);
Файл.поля.Добавить("INN","S",20);
Файл.поля.Добавить("FIL","S",10);
Файл.поля.Добавить("TRANSLIT","S",19);
Файл.поля.Добавить("ADD_INFO","S",32);
Файл.поля.Добавить("BIRTHPLACE","S",100);
Файл.поля.Добавить("PHONE_M","S",32);
Файл.поля.Добавить("PHONE_H","S",32);
Файл.поля.Добавить("PHONE_F","S",32);
Файл.поля.Добавить("CLNT_CPPAS","S",10);
Файл.поля.Добавить("CLNT_PADR","S",100);
Файл.поля.Добавить("DOC_TYPE","S",10);
Файл.поля.Добавить("CLNT_EMAIL","S",100);
Это добавляет столбцы в документ
-------------------------------------------------------------------------------------------------------------
это заполняет форму

Для Каждого СтрокаДок из Док.Зарплата Цикл
Если СтрокаДок.Сумма > 0 тогда
Если (ПолучитьДанныеФизЛица(СтрокаДок.Физлицо, ДанныеФизЛица) = 0) Тогда Возврат; КонецЕсли;
//Ищем нет ли уже записи по данному человеку в файле
ФлагАББ=0;
КолЗ=Файл.КоличествоЗаписей();
Если КолЗ>0 тогда
Пока Файл.ВКонце()= Ложь Цикл
//Если нашли
Если (СокрЛП(Файл.CLNT_SPAS)=СокрЛП(ДанныеФизЛица.СерияПаспорта)) И (СокрЛП(Файл.CLNT_NPAS)=СокрЛП(ДанныеФизЛица.НомерПаспорта)) тогда
ФлагАББ=1;
Ответ = Вопрос("В файле уже найдена запись по сотруднику "+ДанныеФизЛица.Фамилия+" "+ДанныеФизЛица.Имя+" "+ДанныеФизЛица.Отчество+". Прибавить к этой сумме текущую сумму "+СтрокаДок.Сумма+" руб.?", РежимДиалогаВопрос.ДаНет);
Если Ответ = КодВозвратаДиалога.Да Тогда //Выполним сведение
Файл.SUMMA = Файл.SUMMA + СтрокаДок.Сумма;
Сообщить("Обнаружена существующая запись в файле, сумма будет измененеа по "+СтрокаДок.Физлицо.Наименование);
Файл.Записать();
Сообщить ("Сотруднику "+СокрЛП(СтрокаДок.Физлицо.Наименование)+" будет пречислено "+СтрокаДок.Сумма+" рублей");
КонецЕсли;
КонецЕсли;
Файл.Следующая();
КонецЦикла;
КонецЕсли;
//Если человека не нашли, то добавляем новую запись
Если ФлагАББ = 0 Тогда
Файл.Добавить();
Файл.SUMMA=СтрокаДок.Сумма;
Файл.CLNT_FNAME = ДанныеФизЛица.Фамилия;
Файл.CLNT_INAME = ДанныеФизЛица.Имя;
Файл.CLNT_ONAME = ДанныеФизЛица.Отчество;
Файл.CLNT_SPAS = ДанныеФизЛица.СерияПаспорта;
Файл.CLNT_NPAS = ДанныеФизЛица.НомерПаспорта;
Файл.CLNT_DPAS = ДанныеФизЛица.ДатаПаспорта;
Файл.CLNT_PPAS = ДанныеФизЛица.КемВыданПаспорт;
Файл.CLNT_ADR = ДанныеФизЛица.АдресПрописки;
Файл.BIRTHPLACE = СтрокаДок.Физлицо.МестоРождения;
Файл.BIRTHDAY = СтрокаДок.Физлицо.ДатаРождения;
Файл.TAB_N = Справочники.СотрудникиОрганизаций.НайтиПоРеквизиту("Физлицо",СтрокаДок.Физлицо).Код;
Файл.ACC = ДанныеФизЛица.НомерЛицевогоСчета;

//Отбор=Новый Структура;
//Отбор.Вставить("ФизЛицо",СтрокаДок.ФизЛицо);
//Файл.ACC = РегистрыСведений.ЛицевыеСчетаРаботниковОрганизации.Выбрать(Отбор).НомерЛицевогоСчета;

Файл.INN = СтрокаДок.Физлицо.ИНН;
Файл.Записать();
Сообщить ("Сотруднику "+СокрЛП(СтрокаДок.Физлицо.Наименование)+" будет пречислено "+СтрокаДок.Сумма+" рублей");
КонецЕсли;
Файл.Первая();
КонецЕсли;
КонецЦикла;
КонецЕсли;

Но не могу добавить фунцию заполнения для этих столбцов

PHONE_M Сотовый телефон для СМС сервиса
CLNT_CPPAS Кодподразделениявыдавшегопаспорт
CLNT_PADR Адреспроживанияклиента
DOC_TYPE Типдокументаудостоверяющеголичность

dzhukov

Берите информацию из регистра сведений КонтактнаяИнформация. Выборка по владельцу. В Вашем случае это ФизическоеЛицо

Володя

Цитата: dzhukov от 22 янв 2018, 11:26
Берите информацию из регистра сведений КонтактнаяИнформация. Выборка по владельцу. В Вашем случае это ФизическоеЛицо
пробовал не получаеться пишет поле объекта не обнаружено

dzhukov

Цитата: Володя от 22 янв 2018, 12:18
Цитата: dzhukov от 22 янв 2018, 11:26
Берите информацию из регистра сведений КонтактнаяИнформация. Выборка по владельцу. В Вашем случае это ФизическоеЛицо
пробовал не получаеться пишет поле объекта не обнаружено
Подробный текст ошибки нужен

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск