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

Хранилище

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

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



> не ищет строку в ТЧ          
kosalex Подменю пользователя
сообщение 21.11.13, 15:45
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Здравствуйте. Пишу обработку которая читает файл, и заполняет "Табель учета рабочего времени" (ЗУП укр.) отработанными часами из файла.

Есть список значений "СЗ1" в котором есть ФИО сотрудника. Пытаюсь отыскать строку с сотрудником в ТЧ вот так:

НайденнаяСтрока = ОбъектТабеля.ОтработанноеВремя.Найти(СЗ1[1].Значение,"Сотрудник");
,где СЗ1[1].Значение = ФИО.

Ничего не находит, "НайденнаяСтрока" = Неопределена, хотя в табличной части в колонке "Сотрудник" есть сотрудник с таким ФИО.

Подскажите как стать на строку с требуемым ФИО, чтобы проставить отработанные часы?



Ardi Подменю пользователя
сообщение 21.11.13, 15:50
Сообщение #2

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

В сз1 нужно заполнять сотрудников а не их фио.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

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

kosalex Подменю пользователя
сообщение 21.11.13, 16:50
Сообщение #3

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Цитата(Ardi @ 21.11.13, 15:50) *
В сз1 нужно заполнять сотрудников а не их фио.



Т.е из файла сначала искать в справочнике сотрудников, с справочника сотрудников в СЗ,а уже потом искать в ТЧ табеля?

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



не записывается время,что не так?

сори, все записывается! Спасибо)

kosalex Подменю пользователя
сообщение 25.11.13, 9:24
Сообщение #4

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Цитата(Ardi @ 21.11.13, 15:50) *
В сз1 нужно заполнять сотрудников а не их фио.



Добрый день. Не ищет сотрудника в справочнике "сотрудники организации",вот код,ничего военного:

НайденныйСотрудник = Справочники.СотрудникиОрганизаций.НайтиПоРеквизиту("Физлицо",СокрЛП(СЗ1[1].Значение));
    Если ЗначениеЗаполнено(НайденныйСотрудник) Тогда


 ! 

Правила п.6
 


Сообщение отредактировал pablo - 25.11.13, 9:31

pablo Подменю пользователя
сообщение 25.11.13, 9:29
Сообщение #5

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 193 раз
Рейтинг: 0

Функция СокрЛП() возвращает строку, а поле ФизЛицо должно быть типа СправочникСсылка.


Signature
Правильно поставленный вопрос содержит до 90% ответа.

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


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

 

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