Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
23 Июл 2017, 15:37
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: просклонять список фамилий  (Прочитано 583 раз)

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

Оффлайн Space_minus

  • **
  • Сообщений: 92
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-03-17
  • Сайт: 
  • Профессия: Ученик 1С
Подскажите как правильно просклонять список с фамилиями 

&НаСервере
Функция ПечатьПриказОЗачисленииНаКурсы(МассивОбъектов,ОбъектыПечати)
ТабДок = Новый ТабличныйДокумент;
ТабДок.АвтоМасштаб = Истина;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
    ТабДок.КоличествоЭкземпляров = 1;

Запрос = Новый Запрос;
Запрос.Текст =

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

 
Запрос.УстановитьПараметр("Ссылка",МассивОбъектов);
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Макет = ПолучитьМакет("ПриказОЗачисленииНаКурсы");
НомерСтрокиНачало = ТабДок.ВысотаТаблицы + 1;


ОбластьМакета=макет.ПолучитьОбласть("Шапка");
        РезультатЗапроса.Следующий(); //получаем данные, первая строка результата запроса

        ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
        РезультатЗапроса.Сбросить(); //возвращаем выборку в начальное состояние, для цикла
        ТабДок.Вывести(ОбластьМакета);


ОбластьМакета = Макет.ПолучитьОбласть("Абзац1");
    ОбластьМакета.Параметры.Абзац1 = "        В соответствии с положением об оказании платных образовательных услуг утвержденного 02.09.2013 и на основании заключенных договоров на оказание платных образовательных услуг, приказываю:";
ТабДок.Вывести(ОбластьМакета);


   ОбластьМакета = Макет.ПолучитьОбласть("Абзац2");
   РезультатЗапроса.Следующий();
   ОбластьМакета.Параметры.Абзац2 = "        Зачислить в группу № "+РезультатЗапроса.УчГрНаименование+" (период обучения с "+Формат(РезультатЗапроса.УчГрДатаПоступления,"ДФ=dd.MM.yyyy")+" по "+Формат(РезультатЗапроса.УчГрДатаОкончанияОбучения,"ДФ=dd.MM.yyyy")+") по образовательной программе профессиональной подготовки "+РезультатЗапроса.ОбразовательнаяПрограмма+" следующих слушателей:";
   ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
   РезультатЗапроса.Сбросить();

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

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


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

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

КонецЦикла;


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



Возврат ТабДок;

КонецФункции // ПриказОЗачисленииНаКурсы()

Skype: kreep17
готов материально отблагодарить исполнителя


Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1097
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Как вариант в справочник студентов добавить строковое поле где хранить значение в нужном падеже.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Kironten

  • *****
  • Сообщений: 809
  • РЕПУТАЦИЯ: 171
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
И как минимум пол имеет смысл хранить в справочнике физлица/студенты.
А то анализируя окончания отчества вы столкнетесь с проблемами, когда пойдут отчества -кызы, -оглы, -заде, или вообще без отчества... и т.д.

Оффлайн Hedinnk

  • **
  • Сообщений: 84
  • РЕПУТАЦИЯ: 14
  • КПД: 17%
  • Регистрация: 2016-03-04
  • Сайт: 
  • Профессия: Программист 1С
На форуме есть волшебная кнопка "Сказать СПАСИБО"

Оффлайн Space_minus

  • **
  • Сообщений: 92
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-03-17
  • Сайт: 
  • Профессия: Ученик 1С
Внешний компонент "Склонение ФИО" (Native API)
штука должна быть крутая, вот как подключать такое добро? :))

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1097
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Белым по синему...
"Пример использования внешнего компонента в среде "1С:Предприятия 8""
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.


Теги:
 

Что такое "Список Значений", "Таблица значений" и "Дерево Значений"?

Автор JahongirРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 6084
Последний ответ 23 Дек 2011, 16:43
от sergeevds
Массив, Таблица значений и Список значений

Автор Константин163Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 7
Просмотров: 4343
Последний ответ 25 Мар 2015, 16:02
от cska-fanat-kz
Как из справочника вытащить список одной группы справочника и вставить его в поле документа для выбора одного элемента из полученного списка?

Автор ilnur75Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 1325
Последний ответ 21 Сен 2016, 08:16
от GadLex
Отчет "Штатно-должностной список"

Автор SashenkaРаздел Закрытые темы

Ответов: 0
Просмотров: 2043
Последний ответ 08 Апр 2010, 03:00
от Sashenka
Список отчетов в справочнике Варианты отчетов пустой. 8.2 УТ 11

Автор SkellarРаздел Пользователям "1С - Предприятие 8"

Ответов: 5
Просмотров: 8688
Последний ответ 17 Ноя 2011, 11:01
от Skellar

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

oleg-x
105 Сообщений
alex0402
93 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
65 Сообщений
ilyay ilyay
49 Сообщений
Golickoff Golickoff
49 Сообщений
AIFrame
47 Сообщений
ab30ru
38 Сообщений
wise wise
34 Сообщений
Амал
30 Сообщений
LexaK
22 Сообщений

* Кто онлайн

  • Точка Гостей: 216
  • Точка Скрытых: 0
  • Точка Пользователей: 7
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal