Вход | Регистрация



Внешняя печатная форма

Внешняя печатная форма
Я
   Staler1
 
28.12.17 - 11:05
таблица выходит а данные не заполнены, 
помогите найти решение.

&НаСервере
Функция ПринятыеНаСервере(ВхДата)
        
    ПараметрВыборПол = ДатаПоле;
    
    ЭтаФорма.РеквизитПоле = ПараметрВыборПол;
        ОтчетОбъект = РеквизитФормыВЗначение("отчет");
        Макет = ОтчетОбъект.ПолучитьМакет("Макет");
        Запрос = Новый Запрос;
    Запрос.Текст = 
         "ВЫБРАТЬ
             
        |    Сотрудники.ФизическоеЛицо КАК ФизическоеЛицо,
        |    ПРЕДСТАВЛЕНИЕ(Сотрудники.ФизическоеЛицо) КАК ФизическоеЛицоПредставление,
        |    ТекущиеКадровыеДанныеСотрудников.ДатаПриема КАК ДатаПриема,
        |    ТекущиеКадровыеДанныеСотрудников.ТекущаяДолжность КАК ТекущаяДолжность,
        |    ПРЕДСТАВЛЕНИЕ(ТекущиеКадровыеДанныеСотрудников.ТекущаяДолжность) КАК ТекущаяДолжностьПредставление
        |ИЗ
        |    РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников
        |ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК Сотрудники
        |ПО ТекущиеКадровыеДанныеСотрудников.Сотрудник = Сотрудники.Ссылка
        |где ДатаПриема= ДАТАВРЕМЯ(0001,01,01,0,0,0);
        |ДатаВремя=&Парам;
        |УПОРЯДОЧИТЬ ПО 
        |ДатаПриема Убыв";  
    запрос.УстановитьПараметр("Парам", ВхДата);
    РезультатЗапроса = Запрос.Выполнить();
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");    
    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
        ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
        
        
    КонецЦикла;
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);    
   Адрес = ПоместитьВоВременноеХранилище(ТабДок);

    КонецФункции                      


    
&НаКлиенте
Процедура Принятые()
ВхДата=отчет.ВхДата;
//ВхДата=ВхДата+" 0:00:00";

АдресДокНаСервере = УволенныеНаСервере(ВхДата);
ТабДокКлиент = ПолучитьИзВременногоХранилища(АдресДокНаСервере);
ТабДокКлиент.Показать();
 
 
   Ц_У
 
1 - 28.12.17 - 11:07
таб док можно передать и так без ВХ
   Ц_У
 
2 - 28.12.17 - 11:09
Функция ПринятыеНаСервере(ВхДата) 
Пределай в процедуру с 2 параметрами
Процедура ПринятыеНаСервере(ВхДата,ТабДок) 
передавай в нее дату и таб док

ТабДок = Новый ТабДок;
УволенныеНаСервере(ВхДата,ТабДок);
ТабДок.Показать()
   Staler1
 
3 - 28.12.17 - 11:18
(2) что то я уже не понимаю как это сделать =((
каша в голове..
   Ц_У
 
4 - 28.12.17 - 11:21
(3) слово функция замени на процедура
   Остап Сулейманович
 
5 - 28.12.17 - 11:24
(3) Создать табличный документ на клиенте. Передать параметром в процедуру на сервере. Там заполнить. Показать на клиенте.
Примерно так :

&НаСервере
Процедура ЗаполнитьТабДокНаСервере(Таб)
  ...
  Таб.Вывести();
  ...
КонецПроцедуры

&НаКлиенте
Процедура Печать()
  ТабДок = Новый ТабличныйДокумент;
  ЗаполнитьТабДокНаСервере(ТабДок);
  ТабДок.Показать();
КонецПроцедуры
   Sayan_mi
 
6 - 28.12.17 - 11:30
А результат запроса не пустой? Какая конфа?
   Staler1
 
7 - 28.12.17 - 12:13
(4) если поменять происходит ошибка. (6) таблица пустая выходит.


меня параметр беспокоит он при замене "парам" на число нечего не происходит, так же пустая таблица выходит.

вот переделанный код.



&НаСервере
Функция ПринятыеНаСервере(ВхДата)
        
    ПараметрВыборПол = ДатаПоле;
    
    ЭтаФорма.РеквизитПоле = ПараметрВыборПол;
        ОтчетОбъект = РеквизитФормыВЗначение("отчет");
        Макет = ОтчетОбъект.ПолучитьМакет("Макет");
        Запрос = Новый Запрос;
    Запрос.Текст = 
         "ВЫБРАТЬ
             
        |    Сотрудники.ФизическоеЛицо КАК ФизическоеЛицо,
        |    ПРЕДСТАВЛЕНИЕ(Сотрудники.ФизическоеЛицо) КАК ФизическоеЛицоПредставление,
        |    ТекущиеКадровыеДанныеСотрудников.ДатаПриема КАК ДатаПриема,
        |    ТекущиеКадровыеДанныеСотрудников.ТекущаяДолжность КАК ТекущаяДолжность,
        |    ПРЕДСТАВЛЕНИЕ(ТекущиеКадровыеДанныеСотрудников.ТекущаяДолжность) КАК ТекущаяДолжностьПредставление
        |ИЗ
        |    РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников
        |ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК Сотрудники
        |ПО ТекущиеКадровыеДанныеСотрудников.Сотрудник = Сотрудники.Ссылка
        |где ДатаПриема=&Парам"; 
        //|УПОРЯДОЧИТЬ ПО 

        //|ДатаПриема Убыв 

    запрос.УстановитьПараметр("Парам", ВхДата);
    РезультатЗапроса = Запрос.Выполнить();
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");    
    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
        ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
        
        
    КонецЦикла;
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);    
   Адрес = ПоместитьВоВременноеХранилище(ТабДок);
   Возврат Адрес;

    КонецФункции                  


    
&НаКлиенте
Процедура Принятые()
ВхДата=отчет.ВхДата;
//ВхДата=ВхДата+" 0:00:00";

АдресДокНаСервере =  ПринятыеНаСервере(ВхДата);
АдресДокНаСервере = УволенныеНаСервере(ВхДата);
ТабДокКлиент = ПолучитьИзВременногоХранилища(АдресДокНаСервере);
////ТабДок = Новый ТабДок;

//ПринятыеНаСервере(ВхДата,ТабДок);
ТабДокКлиент.Показать();

    КонецПроцедуры
   Staler1
 
8 - 28.12.17 - 12:24
https://ru.files.fm/u/qhw8wx5k#_  вот сама впф, если не сложно посмотрите =)
   Ц_У
 
9 - 28.12.17 - 12:27
&НаСервере
Процедура ПринятыеНаСервере(ВхДата,ТабДок) 
    ПараметрВыборПол = ДатаПоле;
    
    ЭтаФорма.РеквизитПоле = ПараметрВыборПол;
        ОтчетОбъект = РеквизитФормыВЗначение("отчет");
        Макет = ОтчетОбъект.ПолучитьМакет("Макет");
        Запрос = Новый Запрос;
    Запрос.Текст = 
         "ВЫБРАТЬ
             
        |    Сотрудники.ФизическоеЛицо КАК ФизическоеЛицо,
        |    ПРЕДСТАВЛЕНИЕ(Сотрудники.ФизическоеЛицо) КАК ФизическоеЛицоПредставление,
        |    ТекущиеКадровыеДанныеСотрудников.ДатаПриема КАК ДатаПриема,
        |    ТекущиеКадровыеДанныеСотрудников.ТекущаяДолжность КАК ТекущаяДолжность,
        |    ПРЕДСТАВЛЕНИЕ(ТекущиеКадровыеДанныеСотрудников.ТекущаяДолжность) КАК ТекущаяДолжностьПредставление
        |ИЗ
        |    РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников
        |ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК Сотрудники
        |ПО ТекущиеКадровыеДанныеСотрудников.Сотрудник = Сотрудники.Ссылка
        |где ДатаПриема= ДАТАВРЕМЯ(0001,01,01,0,0,0);
        |ДатаВремя=&Парам;
        |УПОРЯДОЧИТЬ ПО 
        |ДатаПриема Убыв";  
    запрос.УстановитьПараметр("Парам", ВхДата);
    РезультатЗапроса = Запрос.Выполнить();
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");    
    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
        ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
    КонецЦикла;

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

    
&НаКлиенте
Процедура Принятые()
ВхДата=отчет.ВхДата;
ТабДок = Новый ТабличныйДокумент;
УволенныеНаСервере(ВхДата,ТабДок);
ТабДок.Показать();
КонецПроцедуры;
   Ц_У
 
10 - 28.12.17 - 12:28
УволенныеНаСервере(ВхДата,ТабДок);
ПринятыеНаСервере(ВхДата,ТабДок);
 
 Рекламное место пустует
   Staler1
 
11 - 29.12.17 - 07:39
(10) |где ДатаПриема=&Парам";
      
   запрос.УстановитьПараметр("Парам",Дата('0001.01.01'));  как вот здесь сделать эту переменную? ('0001.01.01')) я вводил данные в поле и отображалось мое число?

Подскажешь как сделать вот тут?
   Sayan_mi
 
12 - 29.12.17 - 07:49
Так всё таки какая конфа. Если ЗУП 3 то там в регистре ТекущиеКадровыеДанныеСотрудников есть Физическое лицо, как следствие зачем соединять с со справочником сотрудники? Отладь проверь запрос в консоли.
   Staler1
 
13 - 29.12.17 - 07:59
(12) 3.1
   МимохожийОднако
 
14 - 29.12.17 - 08:03
(13) Запрос в консоли проверил?
   Staler1
 
15 - 29.12.17 - 08:04
(12) если за место Дата('0001.01.01')) я поставлю дату то всё ОК, но у меня данные "парам" меняются, и я не знаю как правильно задать это чтоб работало как будто я тут подставил  Дата('2017.10.13'))
   Staler1
 
16 - 29.12.17 - 08:05
(14) сам запрос отрабатывает, именно с функцией парам беда...
   МимохожийОднако
 
17 - 29.12.17 - 08:08
(16) Отладчиком смотрел? На каком месте данные пропадают?
   Staler1
 
18 - 29.12.17 - 08:12
(17) не ошибок, не остановок нет
   МимохожийОднако
 
19 - 29.12.17 - 08:16
(18) Как отлаживаешь? Через файл или через подключенную форму? Надо через файл поставить точку остановки на результате запроса и идти дальше.
   Sayan_mi
 
20 - 29.12.17 - 08:17
Таки в консоли запрос нормально отрабатывает, причем именно с тем параметром который передаёшь?
   Staler1
 
21 - 29.12.17 - 09:06
(19) и так и так.. (20) если число сам ставишь то работает,
а если в поле то нет
   МимохожийОднако
 
22 - 29.12.17 - 09:09
(21) Проверь, что получаешь из поля. Здесь косяк.
   Staler1
 
23 - 29.12.17 - 09:49
(22) Всё сделал спасибо!!! =))) С наступающим=))
   Staler1
 
24 - 29.12.17 - 09:49
Всем Спасибо С наступающим =)))
   Косяк
 
25 - 29.12.17 - 09:57
(22) Да, я здесь, а что?


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует