воскресенье, 12 февраля 2012 г.

1C поделки c нуля.

Порылся в 1С писании, наклепал за вечер обработку -
почти  доделанная выгрузка пластика держателей, из 1с 7.7 в формат DBF для СБРФ.

//*******************************************
Процедура Сформировать()
НомерПП=1;
// Выгрузка ТЗ, Таблицы значений в DBF файл
НачВремя = _GetPerformanceCounter(); // Запоминаем время запуска алгоритма

ДБФ = СоздатьОбъект("XBASE");

Док=СоздатьОбъект("Справочник.Сотрудники");
// ДБФ.КодоваяСтраница(0);

ДБФ.ДобавитьПоле("A","S",30,0);
ДБФ.ДобавитьПоле("B","S",29,0);
ДБФ.ДобавитьПоле("C","S",10,0);
ДБФ.ДобавитьПоле("D","S",10,0);
ДБФ.ДобавитьПоле("E","S",19,0);
ДБФ.ДобавитьПоле("F","S",14,0);
ДБФ.ДобавитьПоле("G","S",30,0);


ДБФ.КодоваяСтраница(1); // Windows

ДБФ.СоздатьФайл("c:\up\test.dbf");
// Справочник.Сотрудники.ВыбратьСтроки();

ДБФ.Добавить();
ДБФ.A="Автозаводское отделение 8213";
ДБФ.Записать();

ДБФ.Добавить();
ДБФ.A="К платежному поручению";
ДБФ.Записать();
ДБФ.Добавить();
ДБФ.A="Зачисление";
ДБФ.Записать();
ДБФ.Добавить();
ДБФ.A="Наименование(ОГРН) предприятия";
ДБФ.Записать();
ДБФ.Добавить();
ДБФ.A="По договору";
ДБФ.Записать();
ДБФ.Добавить();
ДБФ.A="№ п/п";
ДБФ.B="Номер счета";
ДБФ.C="Фамилия";
ДБФ.D="Имя";
ДБФ.E="Отчество";
ДБФ.F="Сумма";
ДБФ.G="Примечание";

ДБФ.Записать();
ДБФ.Добавить();

Док.ВыбратьЭлементы();


Пока Док.ПолучитьЭлемент()=1 Цикл

Если ПустаяСтрока(Док.НомерЗарплатногоСчета)=0 Тогда

ДБФ.Добавить();
ДБФ.A = НомерПП;
НомерПП=НомерПП+1;
ДБФ.B = Док.НомерЗарплатногоСчета;
ФИО = глРазделить(Док.Наименование," ");
Фамилия = СтрПолучитьСтроку(ФИО,1);
Имя = СтрПолучитьСтроку(ФИО,2);
Отчество= СтрПолучитьСтроку(ФИО,3);
ДБФ.C = Фамилия;
ДБФ.D = Имя;
ДБФ.E = Отчество;
 
ДБФ.Записать();
КонецЕсли;
КонецЦикла;

ДБФ.Добавить();
ДБФ.B = "ИТОГО:";
ДБФ.Записать();

ДБФ.ЗакрытьФайл();

КонВремя = _GetPerformanceCounter(); // Запоминаем время окончания алгоритма
// Рассчитываем продолжительность выполнения алгоритма в секундах
Длительность = Окр((КонВремя-НачВремя)/1000,3);
Сообщить("Время выгрузки в DBF файл: "+Длительность+" с");

КонецПроцедуры
//*******************************************


Спасибо товарищу сделавшему обработку со всеми причиндалами
тынц- http://dl.dropbox.com/u/1682769/vygruzkasberbank.zip


Добавляем как кнопку в интерфейс -

1С Конфигуратор >  Конфигурация > Открыть Конфигурацию > Интерфейсы> тык тык > Панель интсрументов > Добавить кнопку > Задача  Задача.выполнить > Формула

"ОткрытьФорму("Отчет",,"D:\sbrfdrop.ert"); "