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

Хранилище

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

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



> Почему программно не заполняется поле с типом Справочник.Сотрудники 1с 7.7 конф 7.7.003          
ZUBR Подменю пользователя
сообщение 18.10.19, 16:56
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 3

Здравствуйте!
Мне нужно, чтобы поле Инженер в моей расходной накладной, имеющий тип Справочник.Сотрудники, заполнялось автоматически. Для этого я написал процедуру "Виконав". Привожу часть кода.

Спр = СоздатьОбъект("Справочник.Сотрудники");               //Автозаполнение поля Инженер
     Спр.ВыбратьЭлементы();
      Пока Спр.ПолучитьЭлемент()=1 Цикл  
          Если Спр.Наименование = СокрЛП(ПолноеИмяПользователя()) Тогда
    Инженер = Спр.Наименование;
    Сообщить(Спр.Наименование);
    КонецЕсли;
    КонецЦикла;


Для выяснения проблемы в тело оператора Если я ввел оператор Сообщить. При выполнении процедуры в поле сообщений появляется наименование сотрудника. Значит, условие выполняется. Но при этом поле Инженер с типом Справочник.Сотрудники остается пустым, хотя оно должно быть заполненным. Я понимаю, что здесь могут быть проблемы потому, что это справочник. Подскажите, что я делаю неправильно. Спасибо!

alex1c Подменю пользователя
сообщение 18.10.19, 17:08
Сообщение #2

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 235
Спасибо сказали: 45 раз
Рейтинг: 40

Вы в поле Инженер пишете текст, а надо тип Справочник.Сотрудники.

ZUBR Подменю пользователя
сообщение 18.10.19, 17:11
Сообщение #3

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 3

alex1c @ Сегодня, 18:08 * , в принципе, я так и думал. Но что нужно записать в строке кода?

alex1c Подменю пользователя
сообщение 18.10.19, 17:20
Сообщение #4

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 235
Спасибо сказали: 45 раз
Рейтинг: 40

ZUBR @ Сегодня, 18:11 * ,

    Спр = СоздатьОбъект("Справочник.Сотрудники");
    Если Спр.НайтиПоНаименованию(СокрЛП(ПолноеИмяПользователя())) = 1 Тогда
        Инженер = Спр.ТекущийЭлемент();
    КонецЕсли;


как-то так...

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

ZUBR Подменю пользователя
сообщение 18.10.19, 17:57
Сообщение #5

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 3

alex1c @ Сегодня, 18:20 * ,
Спасибо. Все прописалось. Хотя я пробовал проставлять ТекущийЭлемент, но как, думаю, многие новички, забыл поставить скобки. Поэтому Вам спасибо, а на себя сердит. Извините за беспокойство по пустякам. 32000000.gif

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


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

 

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