Получить Данные из РегистраСведений

1. user1087014 03.07.21 16:09 Сейчас в теме +0.4 $m
Здравствуйте Друзья, Прошу мне в этом помочь, уже с ума схожу )) У меня есть документ Начисление Зарплаты. Внутри ТЧ всего 2 колонки "Сотрудник" и "Начисление"
Есть РегистрСведений "Зарплата" - Теперь когда в самом документе я указываю по однаму выбераю сотрудника в поле "начисление" берет информацию из регистра сведений и колонка начисление автоматом получает сумму. Я подумал и создал кнопку при помощи которого он заполнит вес ТЧ одним кликам.. Но увы не получилос. Вроде бы все отлично работает нажимаю кнопку, спрашивает хочу ли я заполнить ТЧ, нажимаю да и заполнает все сотрудники но то что была колонка "Начисление" там ничего нету.. Я понимаю что нужно дать проводку на Регистр сведений что бы программа понимала что нужно оттуда взять эту инфо и поместить в эту колонку. но как написать код, нимогу найти (( Прошу мне в этом помочь.. вот код

&НаКлиенте
Процедура ТабличнаяЧастьСотрудникПриИзменении(Элемент)
	ТекДанные = Элементы.ТабличнаяЧасть.ТекущиеДанные;
	ТекДанные.Начсленно = РаботаСоСправочниками.Зарплата(Объект.Дата, ТекДанные.Сотрудник);
КонецПроцедуры


&НаСервере
Процедура ЗаполнитьНаСервере()
	Объект.ТабличнаяЧасть.Очистить();
	Заполнить = Справочники.Сотрудники.Выбрать();
	Пока Заполнить.Следующий() Цикл

Если Заполнить.ЭтоГруппа  Тогда Продолжить;
КонецЕсли;
Если Заполнить.ПринятьНаРаботу = Ложь Тогда Продолжить;
КонецЕсли;
СтрТч = Объект.ТабличнаяЧасть.Добавить();
СтрТч.Сотрудник = Заполнить.Ссылка;
СтрТч.Начсленно =  ----- */******************************** Тут что должен написать не знаю. 
	КонецЦикла;
КонецПроцедуры



&НаКлиенте
Процедура Заполнить(Команда)
	
	Режим = РежимДиалогаВопрос.ДаНет;
	Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопроса", ЭтотОбъект, Параметры);
	ПоказатьВопрос(Оповещение, НСтр("ru = 'Продолжить выполнение операции?'"), Режим, 0);
	
КонецПроцедуры

&НаКлиенте
Процедура ПослеЗакрытияВопроса(Результат, Параметры) Экспорт
	
	Если Результат = КодВозвратаДиалога.Нет Тогда
        Возврат;
	ИначеЕсли Результат = КодВозвратаДиалога.Да Тогда
		ЗаполнитьНаСервере();
	КонецЕсли;

КонецПроцедуры
Показать
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
4. Kolesonik 13 03.07.21 16:37 Сейчас в теме
СтруктураОтбора =новыйструра("сотрудник", выборка. Ссылка) ;РегистрыСведений.зарплата.ПолучитьПоследнее(текущаядата(),СтруктураОтбора). Начисление;
11. Kolesonik 13 03.07.21 20:17 Сейчас в теме
Структуру регистра покажите
12. user1087014 03.07.21 20:18 Сейчас в теме
Измирение Сотрудник
Ресурсы Зарплата
Режим записи регистра - Подчинение регистратору
Периадичность - В пределах секунды
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Kolesonik 13 03.07.21 16:27 Сейчас в теме
Вам нужно по нажатию на кнопку выбрать всех сотрудников и заполнить их начисления по регистру?
3. user1087014 03.07.21 16:28 Сейчас в теме
(2) да
вот даже в коде есть

СтрТч = Объект.ТабличнаяЧасть.Добавить();
СтрТч.Сотрудник = Заполнить.Ссылка;
СтрТч.Начсленно = ----- */******************************** Тут что должен написать не знаю.
КонецЦикла;
КонецПроцедуры
4. Kolesonik 13 03.07.21 16:37 Сейчас в теме
СтруктураОтбора =новыйструра("сотрудник", выборка. Ссылка) ;РегистрыСведений.зарплата.ПолучитьПоследнее(текущаядата(),СтруктураОтбора). Начисление;
5. Kolesonik 13 03.07.21 16:38 Сейчас в теме
Вставьте в выборку
(пишу с телефона)
6. Kolesonik 13 03.07.21 16:40 Сейчас в теме
СтрТч.Начсленно = регистры сведений.зарплата.получить......то се
7. Kolesonik 13 03.07.21 16:52 Сейчас в теме
Хочу заметить, что это самый не оптимальный способ получения данных из регистра, по хорошему надо написать один запрос к регистру и справочник и результат выгрузить в тч
8. user1087014 03.07.21 19:26 Сейчас в теме
9. Kolesonik 13 03.07.21 20:15 Сейчас в теме
а сотрудники заполняются?
10. user1087014 03.07.21 20:16 Сейчас в теме
11. Kolesonik 13 03.07.21 20:17 Сейчас в теме
Структуру регистра покажите
12. user1087014 03.07.21 20:18 Сейчас в теме
Измирение Сотрудник
Ресурсы Зарплата
Режим записи регистра - Подчинение регистратору
Периадичность - В пределах секунды
13. user1087014 03.07.21 20:20 Сейчас в теме
Общий модуль

Функция Зарплата (АктуальнаяДата, ЭлементыСотрудник) Экспорт
	
// Создать вспомогательный объект "Отбор".
Отбор = Новый Структура("Сотрудник", ЭлементыСотрудник);

// Получить актуальные значения ресурсов регистра.
ЗначенияРесурсов = РегистрыСведений.Зарплата.ПолучитьПоследнее(АктуальнаяДата, Отбор);

Возврат ЗначенияРесурсов.Зарплата;

КонецФункции
Показать



Модуль формы
 &НаКлиенте
Процедура ТабличнаяЧастьСотрудникПриИзменении(Элемент)
	ТекДанные = Элементы.ТабличнаяЧасть.ТекущиеДанные;
	ТекДанные.Начсленно = РаботаСоСправочниками.Зарплата(Объект.Дата, ТекДанные.Сотрудник);
КонецПроцедуры
14. Kolesonik 13 03.07.21 20:23 Сейчас в теме
ТекДанные.Начсленно = РаботаСоСправочниками.Зарплата(Объект.Дата, ТекДанные.Сотрудник).Зарплата;
15. Kolesonik 13 03.07.21 20:25 Сейчас в теме
17. user1087014 03.07.21 20:30 Сейчас в теме
(16)
ные.НачИсленно = РаботаСоСправочниками.Зарплата(Объект.Дата, ТекДанные.Сотрудник);

(14)

Да дает ошибку что тек данные не работает на сервере)
16. Kolesonik 13 03.07.21 20:28 Сейчас в теме
Может быть с буквой И получится
ТекДанные.НачИсленно = РаботаСоСправочниками.Зарплата(Объект.Дата, ТекДанные.Сотрудник);
18. user1087014 03.07.21 20:34 Сейчас в теме
(16)Нет )) Я сам так написал )
(16)
19. Kolesonik 13 03.07.21 20:35 Сейчас в теме
20. user1087014 03.07.21 20:38 Сейчас в теме
Сделал уже сам)))
Так должно было быть
СтрТч.Начсленно = РаботаСоСправочниками.Зарплата(Объект.Дата, СтрТч.Сотрудник);	

И вам спасибо большое)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот