Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> В ЗУП из документа передать реквизит в другой документ          
Altem Подменю пользователя
сообщение 10.03.17, 11:09
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 33
Спасибо сказали: 1 раз
Рейтинг: 0

Делаю документ "Справка с места работы" в которую надо вывести в печатной форме номер приказа из документа "Прием на работу в организацию".


Пробывал так, но выводит словами"ПолеВвода"
ФормаОбъекта = Документы.ПриемНаРаботуВОрганизацию.ПолучитьФорму("ФормаДокумента");
НомерПриказа = ФормаОбъекта.ЭлементыФормы.Получить("НомерПриказа");
ОбластьМакетаШапка.Параметры.Номер = НомерПриказа;

Bernet Подменю пользователя
сообщение 10.03.17, 11:37
Сообщение #2

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 319 раз
Рейтинг: 0

Неправильно. Вы сейчас обратились к элементам формы документа а не к реквизиту. У меня под рукой ЗУПа нет - если эта печатная форма печатается из документа "Прием на работу в организацию", то Вам надо в модуле объекта найти процедуру печати и там где идет запрос добавить в выборку нужный вам реквизит "НомерПриказа" и при заполнении табличного документа заполнить нужный параметр типа такого:
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
|    Док.Ссылка КАК ДокументСсылка,
|    Док.Дата КАК ДатаДок,
|    Док.НомерПриказа КАК НомерПриказа
|    .....
|ИЗ
|    Документ.ПриемНаРаботуВОрганизацию КАК Док
|ГДЕ
|    Док.Ссылка = &ТекущийДокумент
|";

//....
// заполнение параметров и выполнение запроса

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

Шапка = Запрос.Выполнить.Выбрать();
Шапка.Следующий();

ОбластьМакетаШапка.Параметры.Номер = Шапка.НомерПриказа;


Если же печатная форма печатается не из документа "Прием на работу в организацию" - тогда надо в том документе откуда печатается Ваша форма, в модуле объекта в процедуре печати в запросе найти нужный Вам документ "Прием на работу в организацию" (Левым соединением с документом или с регистром сведений по сотруднику), опять таки добавить в выборку и потом заполнять параметр табличного документа из выборки.


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Altem Подменю пользователя
сообщение 10.03.17, 15:12
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 33
Спасибо сказали: 1 раз
Рейтинг: 0

Bernet @ Сегодня, 13:37 * ,

Примерно так?
Запрос.Текст =                         

    "ВЫБРАТЬ
    |ПриемНаРаботуВОрганизациюРаботникиОрганизации.Ссылка.Номер,
    |ПриемНаРаботуВОрганизациюРаботникиОрганизации.Ссылка.Дата
    |ИЗ
    |Документ.ПриемНаРаботуВОрганизацию.РаботникиОрганизации КАК ПриемНаРаботуВОрганизациюРаботникиОрганизации
    |ГДЕ
    |ПриемНаРаботуВОрганизациюРаботникиОрганизации.Сотрудник = &Сотрудник
    |И ПриемНаРаботуВОрганизациюРаботникиОрганизации.Ссылка.Проведен = ИСТИНА";
    Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);


Altem @ Сегодня, 16:12 * ,

Через консоль сделал запрос и получил НомерЗаказа
А вот с этим проблема "добавить в выборку и потом заполнять параметр табличного документа из выборки."
    ТекстЗапроса =

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

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

Altem Подменю пользователя
сообщение 13.03.17, 10:35
Сообщение #4

Общительный
**
Группа: Пользователи
Сообщений: 33
Спасибо сказали: 1 раз
Рейтинг: 0

Помогите вывести на печать НомерПриказа

sava1 Подменю пользователя
сообщение 13.03.17, 10:44
Сообщение #5

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Что не получается?

Bernet Подменю пользователя
сообщение 13.03.17, 10:51
Сообщение #6

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 319 раз
Рейтинг: 0

Ну запрос проверьте в консоли - если получаете то что Вам надо - значит правильно. Получили выборку "РезультатНомерПриказа" и дальше заполняйте параметр Табличного документа, т.е. в Вашем случае получится:
ОбластьМакетаШапка.Параметры.Номер = РезультатНомерПриказа.НомерПриказа;


я бы для получения номера приказа использовал такой запрос:

Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
|    ВАШДОКУМЕНТ.Сотрудник,
|    ЕСТЬNULL(Работники.Регистратор.НомерПриказа, """") КАК НомерПриказа
|ИЗ
|    Документ.[ВАШДОКУМЕНТ] КАК ВАШДОКУМЕНТ
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Работники КАК Работники
|        ПО ВАШДОКУМЕНТ.Сотрудник.Физлицо = Работники.ФизЛицо
|        И Работники.Регистратор ССЫЛКА Документ.ПриемНаРаботуВОрганизацию
|ГДЕ
|      ВАШДОКУМЕНТ.Ссылка = &ТекущийДокумент
|";


как-то так. Но тут смотреть надо что Вам надо получить в результате запроса, я ж полностью вашей задачи не знаю


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

sava1 Подменю пользователя
сообщение 13.03.17, 10:53
Сообщение #7

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Токо - регистр РаботникиОрганизаций

Altem Подменю пользователя
сообщение 13.03.17, 10:53
Сообщение #8

Общительный
**
Группа: Пользователи
Сообщений: 33
Спасибо сказали: 1 раз
Рейтинг: 0

sava1 @ Сегодня, 12:44 * ,

После того, как сделал запрос
ТекстЗапроса =


"ВЫБРАТЬ
    |ПриемНаРаботуВОрганизациюРаботникиОрганизации.Ссылка.НомерПриказа,
    |ПриемНаРаботуВОрганизациюРаботникиОрганизации.Ссылка.Дата
    |ИЗ
    |Документ.ПриемНаРаботуВОрганизацию.РаботникиОрганизации КАК ПриемНаРаботуВОрганизациюРаботникиОрганизации
    |ГДЕ
    |ПриемНаРаботуВОрганизациюРаботникиОрганизации.Сотрудник = &Сотрудник
    |И ПриемНаРаботуВОрганизациюРаботникиОрганизации.Ссылка.Проведен = ИСТИНА";
    ЗапросНомерПриказа = Новый Запрос(ТекстЗапроса);

    ЗапросНомерПриказа.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
    ЗапросНомерПриказа.УстановитьПараметр("Сотрудник", Сотрудник);
     РезультатНомерПриказа = ЗапросНомерПриказа.Выполнить().Выбрать();
    РезультатНомерПриказа.Следующий();


Нужно вывести в печатную форму НомерПриказа

Макет = ПолучитьМакет("Макет");
    
    
    КодЯзыкаПечать = Локализация.ПолучитьЯзыкФормированияПечатныхФорм(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "РежимФормированияПечатныхФорм"));
    Макет.КодЯзыкаМакета = КодЯзыкаПечать;
    
    //Выводим шапку
    
    
    Если Организация = Справочники.Организации.НайтиПоНаименованию("Организация1") Тогда
    ОбластьМакетаЮТЛ = Макет.ПолучитьОбласть("Организация1");
    ТабДокумент.Вывести(ОбластьМакетаЮТЛ);

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

    ИначеЕсли Организация = Справочники.Организации.НайтиПоНаименованию("Организация3") Тогда
    ОбластьМакетаБуше = Макет.ПолучитьОбласть("Организация3");
    ТабДокумент.Вывести(ОбластьМакетаБуше);

    КонецЕсли;
    
                                
    
    ОбластьМакетаШапка = Макет.ПолучитьОбласть("Шапка");
    
ОбластьМакетаШапка.Параметры.Физлицо =  Сотрудник.ФизЛицо;
ОбластьМакетаШапка.Параметры.НомерПриказа = СсылкаНаОбъект.НомерПриказа;  

.............................


не выводит

sava1 Подменю пользователя
сообщение 13.03.17, 11:51
Сообщение #9

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Цитата(Altem @ 13.03.17, 10:53) *
ОбластьМакетаШапка.Параметры.НомерПриказа = СсылкаНаОбъект.НомерПриказа;

поставьте

ОбластьМакетаШапка.Параметры.НомерПриказа = "123456";


попробуйте

Есть результат ?

Спасибо сказали: Altem,

Altem Подменю пользователя
сообщение 13.03.17, 12:29
Сообщение #10

Общительный
**
Группа: Пользователи
Сообщений: 33
Спасибо сказали: 1 раз
Рейтинг: 0

sava1 @ Сегодня, 13:51 * ,
Спавибо большое, вам! Получилось вывести и номер приказа и дату.

Altem Подменю пользователя
сообщение 14.03.17, 12:39
Сообщение #11

Общительный
**
Группа: Пользователи
Сообщений: 33
Спасибо сказали: 1 раз
Рейтинг: 0

Сможете еще помочь?
Нужно вывести ФИО РуководительКадровойСлужбы
Делаю такой запрос.

sava1 @ Вчера, 13:51 * ,
ТекстЗапроса =
    
      "  ВЫБРАТЬ
        |    ОтветственныеЛицаОрганизацийСрезПоследних.Должность КАК ДолжностьРуководителя,
|                            ЕСТЬNULL(ФИОФизЛицСрезПоследних.Фамилия + ВЫБОР
|                    КОГДА ПОДСТРОКА(ФИОФизЛицСрезПоследних.Имя, 1, 1) <> """"
|                        ТОГДА "" "" + ПОДСТРОКА(ФИОФизЛицСрезПоследних.Имя, 1, 1) + "".""
|                    ИНАЧЕ """"
|                КОНЕЦ + ВЫБОР
|                    КОГДА ПОДСТРОКА(ФИОФизЛицСрезПоследних.Отчество, 1, 1) <> """"
|                        ТОГДА "" "" + ПОДСТРОКА(ФИОФизЛицСрезПоследних.Отчество, 1, 1) + "".""
|                    ИНАЧЕ """"
|                КОНЕЦ, ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо.Наименование) КАК ФИОРуководителя
|        ИЗ
|            Документ.ПриемНаРаботуВОрганизацию КАК ПриемНаРаботуВОрганизацию
|                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних(&ДатаДокумента, ) КАК ОтветственныеЛицаОрганизацийСрезПоследних
|                    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(&ДатаДокумента, ) КАК ФИОФизЛицСрезПоследних
|                    ПО ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо = ФИОФизЛицСрезПоследних.ФизЛицо
|                ПО (ОтветственныеЛицаОрганизацийСрезПоследних.ОтветственноеЛицо = &Руководитель)
|                    И ПриемНаРаботуВОрганизацию.Организация = ОтветственныеЛицаОрганизацийСрезПоследних.СтруктурнаяЕдиница
|        ГДЕ
|            ПриемНаРаботуВОрганизацию.Ссылка = &ДокументСсылка  ";

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



ОбластьМакета.Параметры.ФИОНачальникОК = РезультатРуководительОК.ФИОРуководителя;



Ппишет ошибку
Цитата
Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
ПриемНаРаботуВОрганизацию.Ссылка <<?>>= &ДокументСсылка

sava1 Подменю пользователя
сообщение 14.03.17, 13:04
Сообщение #12

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Цитата(Altem @ 14.03.17, 12:39) *
ЗапросРуководительОК.УстановитьПараметр("ДокументСсылка", Документы.ПриемНаРаботуВОрганизацию);


Здесь надо реальный документ подставить. Типа
ДокументПриема.Ссылка


Вот здесь есть получение отв. лиц
ФормированиеПечатныхФормСервер.ОтветственныеЛица(Организация, ДатаСреза, ПолучатьДанныеПоЧП);


Скопируйте себе и измените.
Тут не нужен документ приема, только дата.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.04.24, 21:12
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!