Имя: Пароль:
1C
1С v8
выгрузить остатки по счету в табличную часть
,
0 novichok20
 
04.12.14
01:59
всем привет!нужна помощь кто подскажет как правильно выгрузить остатки на дату по 62.1 счету.

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|    ХозрасчетныйОстатки.Субконто1.Ссылка КАК Контрагент,
|    ХозрасчетныйОстатки.Субконто2.Ссылка КАК Договор,
|    ХозрасчетныйОстатки.СуммаОстатокДт КАК Дебет,
|    ХозрасчетныйОстатки.СуммаОстатокКт КАК Кредет
|ИЗ
|    РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет, , Организация = &Организация) КАК ХозрасчетныйОстатки
|ИТОГИ
|    СУММА(Дебет),
|    СУММА(Кредет)
|ПО
|    Контрагент,
|    Договор"    ;
    Запрос.УстановитьПараметр("Дата",КонецДня(Дата));
    Запрос.УстановитьПараметр("Счет", ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.1"));
    Запрос.УстановитьПараметр("Организация", УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнаяОрганизация"));
    //Организация = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнаяОрганизация");

    Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
        ТабличнаяЧасть1.Загрузить(Результат.Выгрузить());
    КонецЕсли;
1 GreatOne
 
04.12.14
03:03
у тебя запрос с итогами. Выгружай обход по группировкам
2 Wobland
 
04.12.14
03:12
(1) он хотел сгруппировать вместо этогоов
3 novichok20
 
04.12.14
09:34
а не подскажите как потом выгрузить табличную часть в тхт
4 Wobland
 
04.12.14
09:34
(3) с помощью записи текста
5 novichok20
 
04.12.14
09:58
Процедура ЗаполнитьНажатие(Элемент)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ХозрасчетныйОстатки.Субконто1.Ссылка КАК Контрагент,
    |    ХозрасчетныйОстатки.Субконто2.Ссылка КАК Договор,
    |    ХозрасчетныйОстатки.СуммаОстатокДт КАК Дебет,
    |    ХозрасчетныйОстатки.СуммаОстатокКт КАК Кредет
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет, , Организация = &Организация) КАК ХозрасчетныйОстатки"    ;
    Запрос.УстановитьПараметр("Дата",КонецДня(Дата));
    Запрос.УстановитьПараметр("Счет", ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.1"));
    Запрос.УстановитьПараметр("Организация", УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнаяОрганизация"));
    Результат = Запрос.Выполнить();
    Контр = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока Контр.Следующий() Цикл
        НоваяСтрока = ЭтотОбъект.ТабличнаяЧасть1.Добавить();
        НоваяСтрока.Контрагент = Контр.контрагент;
        НоваяСтрока.Договор = Контр.договор;
        НоваяСтрока.Дебет = контр.дебет;
        НоваяСтрока.Кредет = Контр.кредет;
        
    КонецЦикла;
    
КонецПроцедуры

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


Процедура Кнопка2Нажатие(Элемент)
    Текст = Новый ТекстовыйДокумент();
    Для Каждого стр из ТабличнаяЧасть1 Цикл
        СтрДобавки = СокрЛП(стр.Контрагент) + ";" +СокрЛП(стр.Договор) + ";" +СокрЛП(стр.Дебет) + ";"+СокрЛП(стр.Кредет);
        Текст.ДобавитьСтроку("СтрДобавки");
    КонецЦикла;
    Текст.Записать("G:\24Поликлиника");
КонецПроцедуры
ругается на {Форма.Форма.Форма(53)}: Ошибка при вызове метода контекста (Записать)
Текст.Записать("G:\24Поликлиника");
по причине:
Ошибка доступа к файлу 'G:\24Поликлиника'
6 Wobland
 
04.12.14
09:58
бывает
7 novichok20
 
04.12.14
10:03
что бывает?
8 Wobland
 
04.12.14
10:03
(7) ошибки бывают. и не только доступа
9 hhhh
 
04.12.14
10:10
(7) вот так напишите

    Запрос.УстановитьПараметр("Дата",КонецДня(Дата) + 1);

а как у вас последняя секунда не попадет. ОСтаток на 23:59:59. А вам надо на 24:00
10 novichok20
 
04.12.14
10:19
спасибо сейчас исправлю.
сохранение в тхт то же исправил)
всем спасибо тема закрыта