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

Создать элемент в справочнике при проведении документа

Автор Даня Ботя, 30 мая 2019, 23:00

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

Даня Ботя

1С:Предприятие 8.3

Есть документ "Собеседование", справочник "Сотрудники"
Нужно при проведении документа, указании в "Результат" варианта "Принят" создать новый элемент в справочнике Сотрудники с реквизитами "Имя", "Фамилия", "Отчество", "Конт_номер", "E_mail", "Должность" и с реквизитом "Принят" (дата принятия) в табличной части.
В документе реквизиты те же самые, только вместо "Принят" - стандартный реквизит "Дата".

Помогите, пожалуйста, я тут совсем зеленый

Пока что нарыл только такую штуку, и тут не особо хорошо понял, что и куда, к тому же еще и не знаю, как сделать условие на "Результат" и запись в табличную часть..


&НаКлиенте
Процедура ЗачислениеСотрудникаВШтат(Элемент)
    ЗначениеПеременной = "Фамилия"; \\ Тут не знаю, что указывать..
    ЗапихнутьВРеквизитДокументОбъект(ЗначениеПеременной);
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ЗапихнутьВРеквизитДокументОбъект(ЗначениеПеременной)
    СсылкаНаОбъект = Справочники.Сотрудники.НайтиПоРеквизиту(ЗначениеПеременной);
    Если не СсылкаНаОбъект.Пустая() Тогда
        СпрОбъект = СсылкаНаОбъект.ПолучитьОбъект();
    Иначе
        СпрОбъект = Справочники.Сотрудники.СоздатьЭлемент();
    КонецЕсли;
    СпрОбъект.Имя = Имя;
    СпрОбъект.Отчество = Отчество;
    СпрОбъект.Должность = Должность;
    СпрОбъект.Конт_номер = Конт_номер;
    СпрОбъект.E_mail = E_mail;
    СпрОбъект.В_штате.Принят = Дата;
    СпрОбъект.Записать();
КонецПроцедуры


Еще и ругается на то, что не знает, что такое "Имя", "Отчество" и т.д...

alexandr_ll

Цитата: Даня Ботя от 30 мая 2019, 23:00
1С:Предприятие 8.3

Есть документ "Собеседование", справочник "Сотрудники"
Нужно при проведении документа, указании в "Результат" варианта "Принят" создать новый элемент в справочнике Сотрудники с реквизитами "Имя", "Фамилия", "Отчество", "Конт_номер", "E_mail", "Должность" и с реквизитом "Принят" (дата принятия) в табличной части.
В документе реквизиты те же самые, только вместо "Принят" - стандартный реквизит "Дата".

Помогите, пожалуйста, я тут совсем зеленый

Пока что нарыл только такую штуку, и тут не особо хорошо понял, что и куда, к тому же еще и не знаю, как сделать условие на "Результат" и запись в табличную часть..


&НаКлиенте
Процедура ЗачислениеСотрудникаВШтат(Элемент)
    ЗначениеПеременной = "Фамилия"; \\ Тут не знаю, что указывать..
    ЗапихнутьВРеквизитДокументОбъект(ЗначениеПеременной);
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ЗапихнутьВРеквизитДокументОбъект(ЗначениеПеременной)
    СсылкаНаОбъект = Справочники.Сотрудники.НайтиПоРеквизиту(ЗначениеПеременной);
    Если не СсылкаНаОбъект.Пустая() Тогда
        СпрОбъект = СсылкаНаОбъект.ПолучитьОбъект();
    Иначе
        СпрОбъект = Справочники.Сотрудники.СоздатьЭлемент();
    КонецЕсли;
    СпрОбъект.Имя = Имя;
    СпрОбъект.Отчество = Отчество;
    СпрОбъект.Должность = Должность;
    СпрОбъект.Конт_номер = Конт_номер;
    СпрОбъект.E_mail = E_mail;
    СпрОбъект.В_штате.Принят = Дата;
    СпрОбъект.Записать();
КонецПроцедуры


Еще и ругается на то, что не знает, что такое "Имя", "Отчество" и т.д...
Создание объекта справочника следует помещать в процедуру "ОбработкаПроведения" модуля объекта вашего документа

Теги:

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

Рейтинг@Mail.ru

Поиск