![]() |
|
Процедура не может возвращать значение Возврат ТабДокумент<<?>>; | ☑ | ||
---|---|---|---|---|
0
NexForZ
17.11.15
✎
09:40
|
Подскажите пожалуйста, в чём проблема и как её исправить, сам плоховато разбираюсь в программировании 1С.
Выводит ошибку: Процедура не может возвращать значение Возврат ТабДокумент<<?>>; Срочно нужно, помогите пожалуйста, заранее спасибо) Функция Печать(ИмяМакета, КоличествоЭкземпляров = 1, НаПринтер = Ложь) Экспорт // Получить экземпляр документа на печать ТабДокумент = ПечатьТ10(ИмяМакета); Возврат УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначенияЗК.СформироватьЗаголовокДокумента(ЭтотОбъект,Метаданные().Синоним + ИмяФормы),,ТабДокумент); КонецФункции // Печать() Процедура КнопкаВыполнитьНажатие(Кнопка) ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_КомандировкиОрганизации_Т10"; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет; // получаем данные для печати ВыборкаДляШапки = СформироватьЗапросДляПечати("ПоРеквизитамДокумента").Выбрать(); ВыборкаРаботники = СформироватьЗапросДляПечати("ПоТабличнойЧастиДокумента").Выбрать(); // запоминаем области макета Макет = ПолучитьМакет(ИмяМакета); ОбластьМакетаШапка = Макет.ПолучитьОбласть("Шапка"); // Шапка документа ОбластьМакетаПодвал = Макет.ПолучитьОбласть("Подвал"); // Подвал документа ОбластьМакета = Макет.ПолучитьОбласть("Работник"); // строка работника ОборотШапка = Макет.ПолучитьОбласть("ШапкаОтметок"); // оборот удостоверения - отметки от прибытии-выбытии ОборотОтметки = Макет.ПолучитьОбласть("Отметки"); // выводим данные о руководителях организации Если ВыборкаДляШапки.Следующий() Тогда ОбластьМакетаШапка.Параметры.Заполнить(ВыборкаДляШапки); // Шапка документа. ОбластьМакетаШапка.Параметры.НазваниеОрганизации = СокрЛП(ОбластьМакетаШапка.Параметры.НазваниеОрганизации); ОбластьМакетаПодвал.Параметры.Заполнить(ВыборкаДляШапки); // Для подвала. ОбластьМакета.Параметры.Заполнить(ВыборкаДляШапки); // область работника НомерДокДляПечати = ВыборкаДляШапки.НомерДок; КонецЕсли; НомерФормы = 0; ПечататьПостфикс = ВыборкаРаботники.Количество() > 1; // Начинаем формировать выходной документ Пока ВыборкаРаботники.Следующий() Цикл // Каждый приказ на отдельной странице. Если ТабДокумент.ВысотаТаблицы > 0 Тогда ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; // Шапка документа. Если ПечататьПостфикс Тогда НомерФормы = НомерФормы + 1; ОбластьМакетаШапка.Параметры.НомерДок = НомерДокДляПечати + "/" + НомерФормы КонецЕсли; ТабДокумент.Вывести(ОбластьМакетаШапка); // Данные по работнику. ОбластьМакета.Параметры.Заполнить(ВыборкаРаботники); //уберем из табельного номера префикс ОбластьМакета.Параметры.ТабельныйНомер = ВыборкаРаботники.ТабельныйНомер; // в этой форме продолжительность командировки указывается без времени в пути ОбластьМакета.Параметры.Продолжительность = ?(ЗначениеЗаполнено(ВыборкаРаботники.ДатаОкончания),Цел((ВыборкаРаботники.ДатаОкончания - ВыборкаРаботники.ДатаНачала + 1) / мДлинаСуток) + 1 - ВыборкаРаботники.ВремяНахожденияВПути,""); ТабДокумент.Вывести(ОбластьМакета); // Подвал документа. ТабДокумент.Вывести(ОбластьМакетаПодвал); // выводим оборот удостоверения ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); ТабДокумент.Вывести(ОборотШапка); ТабДокумент.Вывести(ОборотОтметки); ТабДокумент.Вывести(ОборотОтметки); ТабДокумент.Вывести(ОборотОтметки); ТабДокумент.Вывести(ОборотОтметки); КонецЦикла; // если не было ни одного работника - выводим пустой бланк Если ТабДокумент.ВысотаТаблицы = 0 Тогда ТабДокумент.Вывести(ОбластьМакетаШапка); ТабДокумент.Вывести(ОбластьМакета); ТабДокумент.Вывести(ОбластьМакетаПодвал); // выводим оборот удостоверения ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); ТабДокумент.Вывести(ОборотШапка); ТабДокумент.Вывести(ОборотОтметки); ТабДокумент.Вывести(ОборотОтметки); ТабДокумент.Вывести(ОборотОтметки); ТабДокумент.Вывести(ОборотОтметки); КонецЕсли; Возврат ТабДокумент; КонецПроцедуры Функция СформироватьЗапросДляПечати(Режим) Запрос = Новый Запрос; // Установим параметры запроса Запрос.УстановитьПараметр("ДокументСсылка", Ссылка); Запрос.УстановитьПараметр("ДатаДокумента", Дата); Если Режим = "ПоРеквизитамДокумента" Тогда Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.УстановитьПараметр("СтруктурнаяЕдиница",Организация); Запрос.Текст = ФормированиеПечатныхФормЗК.ПолучитьТекстЗапросаПоОтветственнымЛицам( "ДатаДокумента", "ОтветственноеЛицо = ЗНАЧЕНИЕ(Перечисление.ОтветственныеЛицаОрганизаций.Руководитель) |И СтруктурнаяЕдиница = &СтруктурнаяЕдиница"); Запрос.Выполнить(); Запрос.Текст = "ВЫБРАТЬ | КомандировкиОрганизаций.Дата КАК ДатаДок, | КомандировкиОрганизаций.Номер КАК НомерДок, | КомандировкиОрганизаций.Организация.НаименованиеПолное КАК НазваниеОрганизации, | КомандировкиОрганизаций.Организация.КодПоОКПО КАК КодПоОКПО, | КомандировкиОрганизаций.СтранаНазначения, | КомандировкиОрганизаций.ОрганизацияНазначения, | КомандировкиОрганизаций.ОснованиеКомандировки, | ОтветственныеЛицаОрганизаций.Должность КАК ДолжностьРуководителя, | ОтветственныеЛицаОрганизаций.НаименованиеОтветственногоЛица КАК ФИОРуководителя, | КомандировкиОрганизаций.Ссылка |ИЗ | Документ.КомандировкиОрганизаций КАК КомандировкиОрганизаций | ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеОбОтветственномЛице КАК ОтветственныеЛицаОрганизаций | ПО (ИСТИНА) |ГДЕ | КомандировкиОрганизаций.Ссылка = &ДокументСсылка"; ИначеЕсли Режим = "ПоТабличнойЧастиДокумента" Тогда Запрос.УстановитьПараметр("Организация", Организация); Запрос.УстановитьПараметр("ГоловнаяОрганизация", ОбщегоНазначенияЗК.ГоловнаяОрганизация(Организация)); Запрос.УстановитьПараметр("Ссылка", Ссылка); Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ | КомандировкиОрганизацииРаботники.НомерСтроки, | КомандировкиОрганизацииРаботники.Сотрудник.Физлицо КАК Физлицо, | КомандировкиОрганизацииРаботники.Сотрудник КАК Сотрудник, | КомандировкиОрганизацииРаботники.ФизЛицо.Пол КАК ФизЛицоПол, | КомандировкиОрганизацииРаботники.ДатаНачала, | КомандировкиОрганизацииРаботники.ДатаОкончания, | КомандировкиОрганизацииРаботники.ОсвобождатьСтавку, | КомандировкиОрганизацииРаботники.Цель, | КомандировкиОрганизацииРаботники.ИсточникФинансирования, | КомандировкиОрганизацииРаботники.НапомнитьПоЗавершении, | КомандировкиОрганизацииРаботники.ВремяНахожденияВПути, | КомандировкиОрганизацииРаботники.Сотрудник.Код КАК ТабельныйНомер |ПОМЕСТИТЬ ВТСотрудники |ИЗ | Документ.КомандировкиОрганизаций.РаботникиОрганизации КАК КомандировкиОрганизацииРаботники |ГДЕ | КомандировкиОрганизацииРаботники.Ссылка = &ДокументСсылка | И (НЕ КомандировкиОрганизацииРаботники.Сторно) | |ИНДЕКСИРОВАТЬ ПО | Сотрудник"; Запрос.Выполнить(); Запрос.Текст = "ВЫБРАТЬ | ЕСТЬNULL(ФИОФизЛиц.Фамилия + "" "" + ФИОФизЛиц.Имя + "" "" + ФИОФизЛиц.Отчество, КомандировкиОрганизацииРаботники.Сотрудник.Наименование) КАК Работник, | ЕСТЬNULL(ПаспортныеДанныеФизЛицСрезПоследних.ДокументВид.Наименование + "", серия "" + ПаспортныеДанныеФизЛицСрезПоследних.ДокументСерия + "", №"" + ПаспортныеДанныеФизЛицСрезПоследних.ДокументНомер, """") КАК РеквизитыПаспорта, | КомандировкиОрганизацииРаботники.НомерСтроки КАК НомерСтроки, | КомандировкиОрганизацииРаботники.ФизЛицоПол, | КомандировкиОрганизацииРаботники.ДатаНачала, | КомандировкиОрганизацииРаботники.ДатаОкончания, | КомандировкиОрганизацииРаботники.ВремяНахожденияВПути, | КомандировкиОрганизацииРаботники.Цель, | ВЫБОР | КОГДА Работники.ПериодЗавершения <= КомандировкиОрганизацииРаботники.ДатаНачала | И Работники.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА Работники.ПодразделениеОрганизацииЗавершения | ИНАЧЕ Работники.ПодразделениеОрганизации | КОНЕЦ КАК ПодразделениеРаботника, | ВЫБОР | КОГДА Работники.ПериодЗавершения <= КомандировкиОрганизацииРаботники.ДатаНачала | И Работники.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА Работники.ДолжностьЗавершения | ИНАЧЕ Работники.Должность | КОНЕЦ КАК Должность, | КомандировкиОрганизацииРаботники.ИсточникФинансирования, | КомандировкиОрганизацииРаботники.ТабельныйНомер |ИЗ | ВТСотрудники КАК КомандировкиОрганизацииРаботники | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | СписокДат.Сотрудник КАК Сотрудник, | Работники.ПодразделениеОрганизации.Наименование КАК ПодразделениеОрганизации, | Работники.Должность.Наименование КАК Должность, | Работники.ПодразделениеОрганизацииЗавершения.Наименование КАК ПодразделениеОрганизацииЗавершения, | Работники.ДолжностьЗавершения.Наименование КАК ДолжностьЗавершения, | Работники.ПериодЗавершения КАК ПериодЗавершения | ИЗ | (ВЫБРАТЬ | РаботникиВнутри.Сотрудник КАК Сотрудник, | МАКСИМУМ(РаботникиВнутри.Период) КАК ДатаПоследнегоИзменения | ИЗ | РегистрСведений.РаботникиОрганизаций КАК РаботникиВнутри | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСотрудники КАК КомандировкиОрганизаций | ПО РаботникиВнутри.Период <= КомандировкиОрганизаций.ДатаНачала | И РаботникиВнутри.Сотрудник = КомандировкиОрганизаций.Сотрудник | | СГРУППИРОВАТЬ ПО | РаботникиВнутри.Сотрудник) КАК СписокДат | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК Работники | ПО СписокДат.ДатаПоследнегоИзменения = Работники.Период | И СписокДат.Сотрудник = Работники.Сотрудник) КАК Работники | ПО КомандировкиОрганизацииРаботники.Сотрудник = Работники.Сотрудник | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних( | &ДатаДокумента, | ФизЛицо В | (ВЫБРАТЬ | Сотрудники.Физлицо | ИЗ | ВТСотрудники КАК Сотрудники)) КАК ФИОФизЛиц | ПО КомандировкиОрганизацииРаботники.Сотрудник.Физлицо = ФИОФизЛиц.ФизЛицо | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПаспортныеДанныеФизЛиц.СрезПоследних( | &ДатаДокумента, | ФизЛицо В | (ВЫБРАТЬ | Сотрудники.Физлицо | ИЗ | ВТСотрудники КАК Сотрудники)) КАК ПаспортныеДанныеФизЛицСрезПоследних | ПО КомандировкиОрганизацииРаботники.Сотрудник.Физлицо = ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо | |УПОРЯДОЧИТЬ ПО | НомерСтроки"; Иначе Возврат Неопределено; КонецЕсли; Возврат Запрос.Выполнить(); КонецФункции // СформироватьЗапросДляПечати() |
|||
1
Горогуля
17.11.15
✎
09:41
|
проблема в том, что процедура не может возвращать значение. в принципе
|
|||
2
Горогуля
17.11.15
✎
09:41
|
а функция может
|
|||
3
butterbean
17.11.15
✎
09:41
|
(0) переделай процедуру в функцию
|
|||
4
ДенисЧ
17.11.15
✎
09:41
|
Значение может возвращать только функция. А не процедура.
Поэтому тебе придётся немного разобраться в программировании |
|||
5
sapphire
17.11.15
✎
09:46
|
Функция Печать(ИмяМакета, КоличествоЭкземпляров = 1, НаПринтер = Ложь) Экспорт
// Получить экземпляр документа на печать ТабДокумент = ПечатьТ10(ИмяМакета); Возврат УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначенияЗК.СформироватьЗаголовокДокумента(ЭтотОбъект,Метаданные().Синоним + ИмяФормы),,ТабДокумент); КонецФункции// Печать() Процедура КнопкаВыполнитьНажатие(Кнопка) ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_КомандировкиОрганизации_Т10"; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет; // получаем данные для печати ВыборкаДляШапки = СформироватьЗапросДляПечати("ПоРеквизитамДокумента").Выбрать(); ВыборкаРаботники = СформироватьЗапросДляПечати("ПоТабличнойЧастиДокумента").Выбрать(); // запоминаем области макета Макет = ПолучитьМакет(ИмяМакета); ОбластьМакетаШапка = Макет.ПолучитьОбласть("Шапка"); // Шапка документа ОбластьМакетаПодвал = Макет.ПолучитьОбласть("Подвал"); // Подвал документа ОбластьМакета = Макет.ПолучитьОбласть("Работник"); // строка работника ОборотШапка = Макет.ПолучитьОбласть("ШапкаОтметок"); // оборот удостоверения - отметки от прибытии-выбытии ОборотОтметки = Макет.ПолучитьОбласть("Отметки"); // выводим данные о руководителях организации Если ВыборкаДляШапки.Следующий() Тогда ОбластьМакетаШапка.Параметры.Заполнить(ВыборкаДляШапки);// Шапка документа. ОбластьМакетаШапка.Параметры.НазваниеОрганизации = СокрЛП(ОбластьМакетаШапка.Параметры.НазваниеОрганизации); ОбластьМакетаПодвал.Параметры.Заполнить(ВыборкаДляШапки);// Для подвала. ОбластьМакета.Параметры.Заполнить(ВыборкаДляШапки);// область работника НомерДокДляПечати = ВыборкаДляШапки.НомерДок; КонецЕсли; НомерФормы = 0; ПечататьПостфикс = ВыборкаРаботники.Количество() > 1; // Начинаем формировать выходной документ Пока ВыборкаРаботники.Следующий() Цикл // Каждый приказ на отдельной странице. Если ТабДокумент.ВысотаТаблицы > 0 Тогда ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; // Шапка документа. Если ПечататьПостфикс Тогда НомерФормы = НомерФормы + 1; ОбластьМакетаШапка.Параметры.НомерДок = НомерДокДляПечати + "/" + НомерФормы КонецЕсли; ТабДокумент.Вывести(ОбластьМакетаШапка); // Данные по работнику. ОбластьМакета.Параметры.Заполнить(ВыборкаРаботники); //уберем из табельного номера префикс ОбластьМакета.Параметры.ТабельныйНомер = ВыборкаРаботники.ТабельныйНомер; // в этой форме продолжительность командировки указывается без времени в пути ОбластьМакета.Параметры.Продолжительность = ?(ЗначениеЗаполнено(ВыборкаРаботники.ДатаОкончания),Цел((ВыборкаРаботники.ДатаОкончания - ВыборкаРаботники.ДатаНачала + 1) / мДлинаСуток) + 1 - ВыборкаРаботники.ВремяНахожденияВПути,""); ТабДокумент.Вывести(ОбластьМакета); // Подвал документа. ТабДокумент.Вывести(ОбластьМакетаПодвал); // выводим оборот удостоверения ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); ТабДокумент.Вывести(ОборотШапка); ТабДокумент.Вывести(ОборотОтметки); ТабДокумент.Вывести(ОборотОтметки); ТабДокумент.Вывести(ОборотОтметки); ТабДокумент.Вывести(ОборотОтметки); КонецЦикла; // если не было ни одного работника - выводим пустой бланк Если ТабДокумент.ВысотаТаблицы = 0 Тогда ТабДокумент.Вывести(ОбластьМакетаШапка); ТабДокумент.Вывести(ОбластьМакета); ТабДокумент.Вывести(ОбластьМакетаПодвал); // выводим оборот удостоверения ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); ТабДокумент.Вывести(ОборотШапка); ТабДокумент.Вывести(ОборотОтметки); ТабДокумент.Вывести(ОборотОтметки); ТабДокумент.Вывести(ОборотОтметки); ТабДокумент.Вывести(ОборотОтметки); КонецЕсли; //Возврат ТабДокумент; ТабДокумент.Показать();// :))))))))))))))) КонецПроцедуры Функция СформироватьЗапросДляПечати(Режим) Запрос = Новый Запрос; // Установим параметры запроса Запрос.УстановитьПараметр("ДокументСсылка", Ссылка); Запрос.УстановитьПараметр("ДатаДокумента", Дата); Если Режим = "ПоРеквизитамДокумента" Тогда Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.УстановитьПараметр("СтруктурнаяЕдиница",Организация); Запрос.Текст = ФормированиеПечатныхФормЗК.ПолучитьТекстЗапросаПоОтветственнымЛицам( "ДатаДокумента", "ОтветственноеЛицо = ЗНАЧЕНИЕ(Перечисление.ОтветственныеЛицаОрганизаций.Руководитель) |И СтруктурнаяЕдиница = &СтруктурнаяЕдиница"); Запрос.Выполнить(); Запрос.Текст = "ВЫБРАТЬ | КомандировкиОрганизаций.Дата КАК ДатаДок, | КомандировкиОрганизаций.Номер КАК НомерДок, | КомандировкиОрганизаций.Организация.НаименованиеПолное КАК НазваниеОрганизации, | КомандировкиОрганизаций.Организация.КодПоОКПО КАК КодПоОКПО, | КомандировкиОрганизаций.СтранаНазначения, | КомандировкиОрганизаций.ОрганизацияНазначения, | КомандировкиОрганизаций.ОснованиеКомандировки, | ОтветственныеЛицаОрганизаций.Должность КАК ДолжностьРуководителя, | ОтветственныеЛицаОрганизаций.НаименованиеОтветственногоЛица КАК ФИОРуководителя, | КомандировкиОрганизаций.Ссылка |ИЗ | Документ.КомандировкиОрганизаций КАК КомандировкиОрганизаций | ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеОбОтветственномЛице КАК ОтветственныеЛицаОрганизаций | ПО (ИСТИНА) |ГДЕ | КомандировкиОрганизаций.Ссылка = &ДокументСсылка"; ИначеЕсли Режим = "ПоТабличнойЧастиДокумента" Тогда Запрос.УстановитьПараметр("Организация", Организация); Запрос.УстановитьПараметр("ГоловнаяОрганизация", ОбщегоНазначенияЗК.ГоловнаяОрганизация(Организация)); Запрос.УстановитьПараметр("Ссылка", Ссылка); Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ | КомандировкиОрганизацииРаботники.НомерСтроки, | КомандировкиОрганизацииРаботники.Сотрудник.Физлицо КАК Физлицо, | КомандировкиОрганизацииРаботники.Сотрудник КАК Сотрудник, | КомандировкиОрганизацииРаботники.ФизЛицо.Пол КАК ФизЛицоПол, | КомандировкиОрганизацииРаботники.ДатаНачала, | КомандировкиОрганизацииРаботники.ДатаОкончания, | КомандировкиОрганизацииРаботники.ОсвобождатьСтавку, | КомандировкиОрганизацииРаботники.Цель, | КомандировкиОрганизацииРаботники.ИсточникФинансирования, | КомандировкиОрганизацииРаботники.НапомнитьПоЗавершении, | КомандировкиОрганизацииРаботники.ВремяНахожденияВПути, | КомандировкиОрганизацииРаботники.Сотрудник.Код КАК ТабельныйНомер |ПОМЕСТИТЬ ВТСотрудники |ИЗ | Документ.КомандировкиОрганизаций.РаботникиОрганизации КАК КомандировкиОрганизацииРаботники |ГДЕ | КомандировкиОрганизацииРаботники.Ссылка = &ДокументСсылка | И (НЕ КомандировкиОрганизацииРаботники.Сторно) | |ИНДЕКСИРОВАТЬ ПО | Сотрудник"; Запрос.Выполнить(); Запрос.Текст = "ВЫБРАТЬ | ЕСТЬNULL(ФИОФизЛиц.Фамилия + "" "" + ФИОФизЛиц.Имя + "" "" + ФИОФизЛиц.Отчество, КомандировкиОрганизацииРаботники.Сотрудник.Наименование) КАК Работник, | ЕСТЬNULL(ПаспортныеДанныеФизЛицСрезПоследних.ДокументВид.Наименование + "", серия "" + ПаспортныеДанныеФизЛицСрезПоследних.ДокументСерия + "", №"" + ПаспортныеДанныеФизЛицСрезПоследних.ДокументНомер, """") КАК РеквизитыПаспорта, | КомандировкиОрганизацииРаботники.НомерСтроки КАК НомерСтроки, | КомандировкиОрганизацииРаботники.ФизЛицоПол, | КомандировкиОрганизацииРаботники.ДатаНачала, | КомандировкиОрганизацииРаботники.ДатаОкончания, | КомандировкиОрганизацииРаботники.ВремяНахожденияВПути, | КомандировкиОрганизацииРаботники.Цель, | ВЫБОР | КОГДА Работники.ПериодЗавершения <= КомандировкиОрганизацииРаботники.ДатаНачала | И Работники.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА Работники.ПодразделениеОрганизацииЗавершения | ИНАЧЕ Работники.ПодразделениеОрганизации | КОНЕЦ КАК ПодразделениеРаботника, | ВЫБОР | КОГДА Работники.ПериодЗавершения <= КомандировкиОрганизацииРаботники.ДатаНачала | И Работники.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ТОГДА Работники.ДолжностьЗавершения | ИНАЧЕ Работники.Должность | КОНЕЦ КАК Должность, | КомандировкиОрганизацииРаботники.ИсточникФинансирования, | КомандировкиОрганизацииРаботники.ТабельныйНомер |ИЗ | ВТСотрудники КАК КомандировкиОрганизацииРаботники | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | СписокДат.Сотрудник КАК Сотрудник, | Работники.ПодразделениеОрганизации.Наименование КАК ПодразделениеОрганизации, | Работники.Должность.Наименование КАК Должность, | Работники.ПодразделениеОрганизацииЗавершения.Наименование КАК ПодразделениеОрганизацииЗавершения, | Работники.ДолжностьЗавершения.Наименование КАК ДолжностьЗавершения, | Работники.ПериодЗавершения КАК ПериодЗавершения | ИЗ | (ВЫБРАТЬ | РаботникиВнутри.Сотрудник КАК Сотрудник, | МАКСИМУМ(РаботникиВнутри.Период) КАК ДатаПоследнегоИзменения | ИЗ | РегистрСведений.РаботникиОрганизаций КАК РаботникиВнутри | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСотрудники КАК КомандировкиОрганизаций | ПО РаботникиВнутри.Период <= КомандировкиОрганизаций.ДатаНачала | И РаботникиВнутри.Сотрудник = КомандировкиОрганизаций.Сотрудник | | СГРУППИРОВАТЬ ПО | РаботникиВнутри.Сотрудник) КАК СписокДат | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК Работники | ПО СписокДат.ДатаПоследнегоИзменения = Работники.Период | И СписокДат.Сотрудник = Работники.Сотрудник) КАК Работники | ПО КомандировкиОрганизацииРаботники.Сотрудник = Работники.Сотрудник | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних( | &ДатаДокумента, | ФизЛицо В | (ВЫБРАТЬ | Сотрудники.Физлицо | ИЗ | ВТСотрудники КАК Сотрудники)) КАК ФИОФизЛиц | ПО КомандировкиОрганизацииРаботники.Сотрудник.Физлицо = ФИОФизЛиц.ФизЛицо | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПаспортныеДанныеФизЛиц.СрезПоследних( | &ДатаДокумента, | ФизЛицо В | (ВЫБРАТЬ | Сотрудники.Физлицо | ИЗ | ВТСотрудники КАК Сотрудники)) КАК ПаспортныеДанныеФизЛицСрезПоследних | ПО КомандировкиОрганизацииРаботники.Сотрудник.Физлицо = ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо | |УПОРЯДОЧИТЬ ПО | НомерСтроки"; Иначе Возврат Неопределено; КонецЕсли; Возврат Запрос.Выполнить(); КонецФункции// СформироватьЗапросДляПечати() |
|||
6
NexForZ
17.11.15
✎
09:49
|
Спасибо)
Правда теперь с остальными ошибками придется разбираться) |
|||
7
ДенисЧ
17.11.15
✎
09:51
|
(6) Для начала нужно разобраться с главной ошибкой...
Но она, увы, не поддаётся корректировке |
|||
8
sapphire
17.11.15
✎
09:51
|
(7) Та лана, Ден, молодо-зелено, забуреет исчо
|
|||
9
aleks_default
17.11.15
✎
09:52
|
(6)да, вот незадача, теперь не спишешь все на глюк платформы
|
|||
10
NexForZ
17.11.15
✎
09:53
|
(7) А о какой ошибке речь?
|
|||
11
Горогуля
17.11.15
✎
09:54
|
(10) в ДНК. не слушай его, его (6) не убедило в обратном ;)
|
|||
12
aleks_default
17.11.15
✎
09:54
|
(10) зря ты это спросил...
|
|||
13
DDwe
17.11.15
✎
10:07
|
Мне вот интересно, чем руководствуются люди когда задают вопрос как в (0)? Причем пишет " сам плоховато разбираюсь в программировании 1С", это видимо подразумевает, что в остальном программировании он замечательно разбирается.
|
|||
14
Горогуля
17.11.15
✎
10:13
|
(13) они ничем не руководствуются, это неразвитость разума. у меня, к примеру, ребёнка начинает названивать маме, когда обувь не может найти. надо знать, что обувь можно взять и поискать, а текст ошибки прочитать и понять. пройдёт с годами
|
|||
15
DDwe
17.11.15
✎
10:15
|
(14) Или не пройдет.... тоже вероятно.
|
|||
16
Горогуля
17.11.15
✎
10:19
|
(15) у меня интернетов не было, мне было проще ;)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |