Имя: Пароль:
1C
1С v8
1С БП3.0 Нужна помошь
,
0 Evgen54
 
05.12.13
09:28
Недавно начал разбираться с БП 3.0. Пишу выгрузку поступлений в ДБФ файл. Запрос составил все ок в КЗ выбирает работает, а переношу в процедуру - не могу получить результат запроса в виде таблицы значений
запроса. Я так понимаю тут проблема где что выполнять "Насервере" или "НаКлиенте". Кто может помогите разобраться пожалуйста.
1 maksim358
 
05.12.13
09:30
(0) Так ты вопрос четче напишт.
2 Ranger_83
 
05.12.13
09:31
(0) ТЗ не передается между сервером и клиентом к сожалению
3 vde69
 
модератор
05.12.13
09:31
надо так
1. запрос выполняешь на сервере
2. файл пишишь на сервере
3. через хранилище передаешь на клиент
4 Aleksey
 
05.12.13
09:32
(2) А если ТЗ на форме?
5 Ярус
 
05.12.13
09:33
(4) через хранилище
6 Evgen54
 
05.12.13
09:40
Вот как у меня это выглядит:
&НаСервере
Процедура ВыгрузкаОплаты();    
Запрос = Новый Запрос("ВЫБРАТЬ
|    ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.Ссылка.ДатаВходящегоДокумента КАК ДатаОплаты,
|    ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.Ссылка.Контрагент.Код КАК КодПлательщика,
|    ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.ДоговорКонтрагента.Код КАК ДоговорКонтрагента,
|    1 КАК ВидОплаты,
|    ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.Ссылка.НомерВходящегоДокумента КАК ПП,
|    ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.СуммаПлатежа КАК Сумма,
|    ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.Ссылка.Контрагент.Наименование,
|    ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.ДоговорКонтрагента.Номер,
|    NULL КАК Номер
|ИЗ
|    Документ.ПоступлениеНаРасчетныйСчет.РасшифровкаПлатежа КАК ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа
|ГДЕ
|    ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.Ссылка.ДатаВходящегоДокумента МЕЖДУ &ДатаНач И &ДатаКон
|    И ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.Ссылка.Проведен = &Проведен
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
|    ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Дата,
|    ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Контрагент.Код,
|    ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.ДоговорКонтрагента.Код,
|    2,
|    NULL,
|    ПриходныйКассовыйОрдерРасшифровкаПлатежа.СуммаПлатежа,
|    ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Контрагент.Наименование,
|    ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.ДоговорКонтрагента.Номер,
|    ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Номер
|ИЗ
|    Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа
|ГДЕ
|    ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
|    И ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Проведен = &Проведен
|
|УПОРЯДОЧИТЬ ПО
|    ДатаОплаты");
Запрос.УстановитьПараметр("ДатаНач", ЭтаФорма.Объект.ДатаНач);
Запрос.УстановитьПараметр("ДатаКон", ЭтаФорма.Объект.ДатаКон);
Запрос.УстановитьПараметр("Проведен", Проводка);
Проводка = Истина;

ТаблицаПоступлений = Запрос.Выполнить().Выгрузить();

Файл = Новый XBase;    
Файл.Кодировка = КодировкаXBase.OEM;
Файл.поля.Добавить("DATA","D");
файл.поля.Добавить("KODKL","S",7);
файл.поля.Добавить("REGDOG_1C","S",10);
файл.поля.Добавить("OPLATA","N",1);
файл.поля.Добавить("NPLPOR","S",15);
файл.поля.Добавить("SUMMA","N",15,2);
Файл.СоздатьФайл("C:\Oplata.dbf");
Файл.Записать();

//ТаблицаПоступлений.ВыбратьСтроку();
Пока ТаблицаПоступлений.Следующий() цикл        // обходим табличную документа "Зарплата к выплате"
        Файл.Добавить();                        // добавляем новую запись в файл
        Файл.DATA = ТаблицаПоступлений.ДатаОплаты;
        Файл.KODKL = ТаблицаПоступлений.КодПлательщика;
        Файл.REGDOG_1C = ТаблицаПоступлений.ДоговорКонтрагента;
        Файл.OPLATA = ТаблицаПоступлений.ВидОплаты;
        Файл.NPLPOR = ТаблицаПоступлений.ПП;
        Файл.SUMMA = ТаблицаПоступлений.Сумма;
        Файл.Записать();                        // записываем внесенные данные в файл
КонецЦикла;
Файл.ЗакрытьФайл();                             // закрываем файл
Сообщить("Файл успешно сформирован!");



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

&НаКлиенте
Процедура Выгрузить(Команда);
    ВыгрузкаОплаты();
КонецПроцедуры;
    
Подскажите как переделать.
7 Evgen54
 
05.12.13
09:58
И тишина. Спасибо что помогли
8 Chai Nic
 
05.12.13
10:00
(7) Всегда рады.. помолчать в ответ на неконкретный вопрос.. )
9 Evgen54
 
05.12.13
10:02
Я заметил
10 zippygrill
 
05.12.13
10:03
На клиенте помещаешь что-нибудь во временнойХранилище, дальше передаешь этот адрес на сервере в процедуре ВыгрузкаОплат.
После того как создал свой файл, вставь его в этот адрес и передай обратно клиенту. Ну и на клиенте уже получаешь что у тебя по этому адресу.
11 fmrlex
 
05.12.13
10:06