helpf.pro
Регистрация

v8: помогите очень надо

novichok20
03.12.2014 14:57Прочитано: 3487

помогите пожалуйста как выгрузить остатки по контрагенту и по счету в txt

Yandex
Возможно, вас также заинтересует
Реклама на портале
escritor
03.12.2014 15:43Ответ № 1

Какая конфигурация и какой счет?

novichok20
03.12.2014 15:50Ответ № 2

8.2 Бухгалтерия 1.6.мне надо получить остаток по 62 счету(такого вида контрагент/договор/дебет/кредет и все это на дату)выгрузить его в табличное поле а оттуда в txt.пытаюсь через запрос но что-то не выходит

VygruzkaVRegistraturu.epf

escritor
03.12.2014 16:10Ответ № 3

Недавно делали аналогичную обработку, вот посмотри: VygruzkaOSV.rar 

Код выгружает в XLS:

Код 1C v 8.х
 Процедура ВыгрузкаВФайл(НомСчета, Склад)
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет");
Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
| ХозрасчетныйОстаткиИОбороты.Организация КАК Организация,
| ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
| ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Номенклатура,
| ХозрасчетныйОстаткиИОбороты.Субконто3 КАК Склад,
| ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт КАК СуммаНачальныйОстатокДт,
| ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт КАК СуммаНачальныйОстатокКт,
| ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК СуммаОборотДт,
| ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК СуммаОборотКт,
| ХозрасчетныйОстаткиИОбороты.СуммаКонечныйРазвернутыйОстатокДт КАК СуммаКонечныйРазвернутыйОстатокДт,
| ХозрасчетныйОстаткиИОбороты.СуммаКонечныйРазвернутыйОстатокКт КАК СуммаКонечныйРазвернутыйОстатокКт,
| ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокДт КАК КоличествоНачальныйОстатокДт,
| ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокКт КАК КоличествоНачальныйОстатокКт,
| ХозрасчетныйОстаткиИОбороты.КоличествоОборотДт КАК КоличествоОборотДт,
| ХозрасчетныйОстаткиИОбороты.КоличествоОборотКт КАК КоличествоОборотКт,
| ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокДт КАК КоличествоКонечныйОстатокДт,
| ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокКт КАК КоличествоКонечныйОстатокКт
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДН, &ДК, Период, ДвиженияИГраницыПериода, Счет = &Счет, , ) КАК ХозрасчетныйОстаткиИОбороты
|ГДЕ
| ВЫБОР
| КОГДА &Субконто3 = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
| ТОГДА ИСТИНА
| ИНАЧЕ ХозрасчетныйОстаткиИОбороты.Субконто3 = &Субконто3
| КОНЕЦ
| И ХозрасчетныйОстаткиИОбороты.Организация = &Организация
|ИТОГИ
| СУММА(СуммаНачальныйОстатокДт),
| СУММА(СуммаНачальныйОстатокКт),
| СУММА(СуммаОборотДт),
| СУММА(СуммаОборотКт),
| СУММА(СуммаКонечныйРазвернутыйОстатокДт),
| СУММА(СуммаКонечныйРазвернутыйОстатокКт),
| СУММА(КоличествоНачальныйОстатокДт),
| СУММА(КоличествоНачальныйОстатокКт),
| СУММА(КоличествоОборотДт),
| СУММА(КоличествоОборотКт),
| СУММА(КоличествоКонечныйОстатокДт),
| СУММА(КоличествоКонечныйОстатокКт)
|ПО
| Организация,
| Счет,
| Склад";


Запрос.УстановитьПараметр("ДК", КонецДня(ДатаК));
Запрос.УстановитьПараметр("ДН", НачалоДня(ДатаН));
Запрос.УстановитьПараметр("Субконто3", Склад);   Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Счет", ПланыСчетов.Хозрасчетный.НайтиПоКоду(НомСчета));


Результат = Запрос.Выполнить(); ВыборкаОрганизация = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);


Если ВыборкаОрганизация.Количество()>0 Тогда
Состояние(НомСчета+"_"+Склад.Наименование+"_"+Формат(ТекущаяДата(),"ДФ=yyyy-MM-dd"));
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьОрганизация = Макет.ПолучитьОбласть("Организация");
ОбластьСчет = Макет.ПолучитьОбласть("Счет");
ОбластьСклад = Макет.ПолучитьОбласть("Склад");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");


ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок(); 

Пока ВыборкаОрганизация.Следующий() Цикл
ОбластьОрганизация.Параметры.Заполнить(ВыборкаОрганизация);
ТабДок.Вывести(ОбластьОрганизация, ВыборкаОрганизация.Уровень());


ВыборкаСчет = ВыборкаОрганизация.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);


Пока ВыборкаСчет.Следующий() Цикл
ОбластьСчет.Параметры.Заполнить(ВыборкаСчет);
ТабДок.Вывести(ОбластьСчет, ВыборкаСчет.Уровень());


ВыборкаСклад = ВыборкаСчет.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);


Пока ВыборкаСклад.Следующий() Цикл
ОбластьСклад.Параметры.Заполнить(ВыборкаСклад);
ТабДок.Вывести(ОбластьСклад, ВыборкаСклад.Уровень());


ВыборкаДетальныеЗаписи = ВыборкаСклад.Выбрать();


Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
КонецЦикла;
КонецЦикла;
КонецЦикла;
КонецЦикла;


ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);
    ТабДок.Записать(ПутьККаталогу+"\"+НомСчета+"_"+Склад.Наименование+"_"+Формат(ТекущаяДата(),"ДФ=yyyy-MM-dd")+".xls", ТипФайлаТабличногоДокумента.XLS);
//ТабДок.Показать();
КонецЕсли;
КонецПроцедуры

Процедура КнопкаВыполнитьНажатие(Кнопка)
Если ЗначениеЗаполнено(Склад) Тогда
ВыгрузкаВФайл("10.01", Склад);
ВыгрузкаВФайл("10.02", Склад);
ВыгрузкаВФайл("10.03", Склад);
ВыгрузкаВФайл("10.04", Склад);
ВыгрузкаВФайл("10.05", Склад);
ВыгрузкаВФайл("10.06", Склад);
ВыгрузкаВФайл("10.08", Склад);
ВыгрузкаВФайл("10.09", Склад);
ВыгрузкаВФайл("10.10", Склад);
ВыгрузкаВФайл("10.11", Склад);
ВыгрузкаВФайл("41.01", Склад);
ВыгрузкаВФайл("41.02", Склад);
ВыгрузкаВФайл("41.03", Склад);
ВыгрузкаВФайл("41.04", Склад);
ВыгрузкаВФайл("43", Склад); 
Иначе
// Источник: https://helpf.pro/faq/view/303.html
Выборка = Справочники.Склады.Выбрать();
Пока выборка.Следующий() Цикл
Если Выборка.ЭтоГруппа или Выборка.ПометкаУдаления Тогда Продолжить; КонецЕсли;
Склад = Выборка.Ссылка; 
ВыгрузкаВФайл("10.01", Склад); 
ВыгрузкаВФайл("10.02", Склад);
ВыгрузкаВФайл("10.03", Склад);
ВыгрузкаВФайл("10.04", Склад);
ВыгрузкаВФайл("10.05", Склад);
ВыгрузкаВФайл("10.06", Склад);
ВыгрузкаВФайл("10.08", Склад);
ВыгрузкаВФайл("10.09", Склад);
ВыгрузкаВФайл("10.10", Склад);
ВыгрузкаВФайл("10.11", Склад);
ВыгрузкаВФайл("41.01", Склад);
ВыгрузкаВФайл("41.02", Склад);
ВыгрузкаВФайл("41.03", Склад);
ВыгрузкаВФайл("41.04", Склад);
ВыгрузкаВФайл("43", Склад); 
КонецЦикла;
Склад = Справочники.Склады.ПустаяСсылка();
КонецЕсли;
Предупреждение("Выполнено!");
КонецПроцедуры


Процедура ПутьККаталогуНачалоВыбора(Элемент, СтандартнаяОбработка)

ДиалогВыбора = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);

//ДиалогВыбора.Фильтр                      = "MS Excel (*.xls)|*.xls";
ДиалогВыбора.Заголовок                   = "Выберите каталог для выгрузки данных";
ДиалогВыбора.ПредварительныйПросмотр     = Ложь;
//ДиалогВыбора.Расширение                  = "xls";
ДиалогВыбора.ИндексФильтра               = 0;
ДиалогВыбора.ПолноеИмяФайла              = Элемент.Значение;
ДиалогВыбора.ПроверятьСуществованиеФайла = Ложь;

Если ДиалогВыбора.Выбрать() Тогда
Элемент.Значение = ДиалогВыбора.Каталог;
КонецЕсли;

КонецПроцедуры
novichok20
04.12.2014 07:33Ответ № 4

спасибо большое)

novichok20
04.12.2014 09:09Ответ № 5
Вопрос закрыт!
Подсказка: Для быстрого перемещения к последнему ответу или к вопросу используйте или .
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.