Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 07:22

Условие

Автор gliokker, 30 сен 2013, 15:28

0 Пользователей и 1 гость просматривают эту тему.

gliokker

Всем привет
Вот мой запрос
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СотрудникиОрганизаций.НомерДоговора КАК НомерДок,
| СотрудникиОрганизаций.ДатаДоговора КАК ДатаДок,
| СотрудникиОрганизаций.Организация.НаименованиеПолное КАК ПолноеНазваниеОрганизации,
| ОтветственныеЛицаОрганизацийСрезПоследних.Должность КАК ДолжностьРуководителя,
| ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо КАК ФИОРуководителя,
| СотрудникиОрганизаций.Должность,
| СотрудникиОрганизаций.ПодразделениеОрганизации КАК Подразделение,
| СотрудникиОрганизаций.Наименование,
| СотрудникиОрганизаций.ВидЗанятости,
| СотрудникиОрганизаций.ИспытательныйСрок,
| СотрудникиОрганизаций.ТарифнаяСтавка,
| СотрудникиОрганизацийЕжегодныеОтпуска.КоличествоДнейОтпускаВГод КАК Отпуск,
| ПаспортныеДанныеФизЛиц.ДокументСерия КАК Серия,
| ПаспортныеДанныеФизЛиц.ДокументНомер КАК Номер,
| ПаспортныеДанныеФизЛиц.ДокументДатаВыдачи КАК ДатаВыдачи,
| ПаспортныеДанныеФизЛиц.ДокументКемВыдан КАК КемВыдан,
| КонтактнаяИнформация.Представление КАК АдресРегистрации,
| КонтактнаяИнформация.Объект,
| КонтактнаяИнформация.Тип,
| КонтактнаяИнформация.Вид,
| КонтактнаяИнформация.Представление,
| КонтактнаяИнформация.Поле1,
| КонтактнаяИнформация.Поле2,
| КонтактнаяИнформация.Поле3,
| КонтактнаяИнформация.Поле4,
| КонтактнаяИнформация.Поле5,
| КонтактнаяИнформация.Поле6,
| КонтактнаяИнформация.Поле7,
| КонтактнаяИнформация.Поле8,
| КонтактнаяИнформация.Поле9,
| КонтактнаяИнформация.Поле10,
| КонтактнаяИнформация.Комментарий,
| КонтактнаяИнформация.ЗначениеПоУмолчанию,
| КонтактнаяИнформация.ТипДома,
| КонтактнаяИнформация.ТипКорпуса,
| КонтактнаяИнформация.ТипКвартиры,
| СотрудникиОрганизаций.Физлицо.ДатаРождения КАК ДатаРождения,
| ПриемНаРаботуВОрганизациюРаботникиОрганизации.ДатаПриема,
| ПриемНаРаботуВОрганизациюРаботникиОрганизации.ДатаУвольнения
|ИЗ
| РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних(, ОтветственноеЛицо = ЗНАЧЕНИЕ(Перечисление.ОтветственныеЛицаОрганизаций.РуководительКадровойСлужбы)) КАК ОтветственныеЛицаОрганизацийСрезПоследних,
| Справочник.СотрудникиОрганизаций.ЕжегодныеОтпуска КАК СотрудникиОрганизацийЕжегодныеОтпуска,
| Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПаспортныеДанныеФизЛиц КАК ПаспортныеДанныеФизЛиц
| ПО СотрудникиОрганизаций.Физлицо = ПаспортныеДанныеФизЛиц.ФизЛицо
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
| ПО (КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресФизЛица))
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриемНаРаботуВОрганизацию.РаботникиОрганизации КАК ПриемНаРаботуВОрганизациюРаботникиОрганизации
| ПО СотрудникиОрганизаций.Физлицо = ПриемНаРаботуВОрганизациюРаботникиОрганизации.ФизЛицо
|ГДЕ
| СотрудникиОрганизаций.Ссылка = &ФизЛицо";

Запрос.УстановитьПараметр("Физлицо", СсылкаНаОбъект.Ссылка);


Я не могу установить условие выглядит оно так. Если ДатаУвольнения пустая тогда выводить сообщение ,а если не пустое тогда Параметр Увольнение должен быть равен Дата Увольнение минус даты приёма. Да результат должен быть в месяцах. Подтолкните на путь истенный.

gliokker

   Если Выборка.ДатаУвольнения= Дата(1,1,1)ТОгда
Результат = "на неопределённый срок" ;
ИначеЕсли  Выборка.датаУвольнение = ЗначениеЗаполнено (Выборка.ДатаУвольнение) Тогда
Результат =  Выборка.ДатаУвольнения -  Выборка.ДатаПриема;
КонецЕсли;

написал вот так,Результат это параметр в макете. Но почему то он не выводится.

MuI_I_Ika

Выборка.ДатаУвольнения -  Выборка.ДатаПриема;

Если я не ошибаюсь, то это будет число в секундах.

Вы говорите, что что-то не выводится в макет. Тогда такой вопрос. Ячейка макета задана как параметр? И не указано ли там, что там тип значения, например  только число.

Плюс было бы интересно посмотреть код, в котором вы переменную результат отправляете в макет.

gliokker

Цитата: MuI_I_Ika от 30 сен 2013, 15:44
Выборка.ДатаУвольнения -  Выборка.ДатаПриема;

Если я не ошибаюсь, то это будет число в секундах.

Вы говорите, что что-то не выводится в макет. Тогда такой вопрос. Ячейка макета задана как параметр? И не указано ли там, что там тип значения, например  только число.

Плюс было бы интересно посмотреть код, в котором вы переменную результат отправляете в макет.
Да параметр типов не указанно
вот код
Запрос.УстановитьПараметр("Физлицо", СсылкаНаОбъект.Ссылка);


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


Областьмакета = Макет.ПолучитьОбласть("Сотрудник");

ФормСтрока = "Л = ru_RU; ДП = Истина";
    ПарПредмета="рубль ,рубля ,рублей ,м,копейка,копейки,копеек,ж,2";//ПрописьЧисла
    ТарифнаяСтавка = ЧислоПрописью(Выборка.ТарифнаяСтавка,ФормСтрока, ПарПредмета); 

Если Выборка.ДатаУвольнения= Дата(1,1,1)ТОгда
Результат = "на неопределённый срок" ;
ИначеЕсли  Выборка.датаУвольнение = ЗначениеЗаполнено (Выборка.ДатаУвольнение) Тогда
Результат =  Выборка.ДатаУвольнения -  Выборка.ДатаПриема;
КонецЕсли;


ОбластьМакета.Параметры.Заполнить(Выборка);
//ОбластьМакета.Параметры.Заполнить();

ОбластьМакета.Параметры.ТарифнаяСтавка = ТарифнаяСтавка;



ТабДокумент.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Итог");
ОбластьМакета.Параметры.Заполнить(Выборка);
ТабДокумент.Вывести(ОбластьМакета);

Возврат ТабДокумент;


MuI_I_Ika

У вас результат никуда не вставляется. Должен быть код что-то вроде:

ОбластьМакета.Параметры.Результат = Результат;

gliokker

Цитата: MuI_I_Ika от 30 сен 2013, 16:10
У вас результат никуда не вставляется. Должен быть код что-то вроде:

ОбластьМакета.Параметры.Результат = Результат;
Ага я уже понял)))

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск