Бухгалтерский учет, налогообложение, отчетность, МСФО, анализ бухгалтерской информации, 1С:Бухгалтерия

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

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[1С:Зарплата и управление персоналом 8]

Справочник СотрудникиОрганизаций

Sony_a
читатель
офлайн
Дата регистрации: 13.06.2013
Сообщений: 10
Пост №1
 
13.06.2013 10:11

Как сделать в ФормеСписка Справочник.СотрудникиОрганизаций дополнительную колонку ГрафикРаботы, чтобы данные брались из РегистраСведений.РаботникиОрганизаций?

На примере должность и подразделение меняешь когда Сотруднику в кладке Кадроввые данные в справочнике меняется и видно в ФормеСписака, а вот ГрафикРаботы нет.

ZhAmAn
читатель
офлайн
Дата регистрации: 23.12.2010
Сообщений: 1333
Пост №2
 
13.06.2013 10:42

Основная проблема в чем?получить данные или вывести?

Sony_a
читатель
офлайн
Дата регистрации: 13.06.2013
Сообщений: 10
Пост №3
 
13.06.2013 10:45

Вывести. Колоночку ГрафикиРаботы создала в Списке, но данные там при изменении документа не меняются, как с должностью и подраздееление.

Sony_a
читатель
офлайн
Дата регистрации: 13.06.2013
Сообщений: 10
Пост №4
 
13.06.2013 10:46

Когда меняешь в кадровом перемещении должность в справочнике в ФормеСписка все меняется, а вот ГрафикРаботы нет.

Sony_a
читатель
офлайн
Дата регистрации: 13.06.2013
Сообщений: 10
Пост №5
 
13.06.2013 11:16

Все сделала:)

Денис (САМАРА)
активный пользователь
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8342
Пост №6
 
13.06.2013 11:41

Как, если не секрет?

Sony_a
читатель
офлайн
Дата регистрации: 13.06.2013
Сообщений: 10
Пост №7
 
13.06.2013 12:12

"Справочник.СотрудникиОрганизаций

1. Создала реквизит ТекущаяДолжностьОрганизации1, я просто скопировала "ТекущаяДолжностьОрганизации" и поменяла тип с СправочникСсылка.ДолжностиОрганизаций на СправочникСсылка.ГрафикиРаботы
2. Создала в ФормеСписка поле должность и переименовала на График работы, то есть скопировала и вставила, изменив имя с "Должность" на "ГрафикРаботы" и выбрала в свойстве поле данные "ТекущаяДолжностьОрганизации" на "ТекущаяДолжностьОрганизации1"
3. Дописала в общем модуле. ПолныеПраваЗК две процедуры, вот текст:


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




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

Денис (САМАРА)
активный пользователь
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8342
Пост №8
 
13.06.2013 12:28

Ну не плохо. Только назвать новый реквизит можно было по человечески "ТекущийГрафикРаботыОрганизации" и, если нужен этот реквизит только для вывода в форму списка, то можно было ограничиться только правкой этой формы списка (добавить колонку в форму и заполнить ее в процедуре формы "ПриПолученииДанных()").

Sony_a
читатель
офлайн
Дата регистрации: 13.06.2013
Сообщений: 10
Пост №9
 
13.06.2013 12:37

А что писать в этой процедуре ПриПолученииДанных()?
Надо же как то связать с РегистррСведений.РаботникиОрганизаций.СрезПоследних...
Хочу попробывать еще и твой предложенный вариант:)
Подскажи, пожалуйста.

Денис (САМАРА)
активный пользователь
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8342
Пост №10
 
13.06.2013 13:16

http://files.mail.ru/B9BD6974E2C84E8FB843AC61BB5C8333;
Вот файл конфигурации, в котором измененная форма списка (для релиза 2.5.66.2). Рассчитываю на то, что взять изменения через "Сравнить и изменить" сможете...

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Учет, налогообложение, автоматизация
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • ЕГАИС
Предложения партнеров
Обучение пользователей продуктов 1С

1С бесплатно 1С-Отчетность 1С:ERP Управление предприятием 1С:Бесплатно 1С:Бухгалтерия 8 1С:Бухгалтерия 8 КОРП 1С:Бухгалтерия автономного учреждения 1С:Бухгалтерия государственного учреждения 1С:Бюджет муниципального образования 1С:Бюджет поселения 1С:Вещевое довольствие 1С:Деньги 1С:Документооборот 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и кадры государственного учреждения 1С:Зарплата и управление персоналом 1С:Зарплата и управление персоналом КОРП 1С:Комплексная автоматизация 8 1С:Лекторий 1С:Предприятие 1С:Предприятие 7.7 1С:Предприятие 8 1С:Розница 1С:Управление нашей фирмой 1С:Управление производственным предприятием 1С:Управление торговлей 1СПредприятие 8

Все теги
© ООО "1C" 2000-2018 г.