|
0 / 0 / 0
Регистрация: 25.05.2010
Сообщений: 22
|
|
Вывод количества рабочих часов из регистра сведений в документ05.06.2010, 10:49. Показов 56595. Ответов 39
Метки нет (Все метки)
помогите пожалуйста, очень надо
как в регистре сведений График работы подсчитать сумму колонки часы в документе начисление зарплаты, чтобы потом уможить на часовую ставку. И ещё у меня, у меня персонал который содержит реквизит Язык, как сделать так, чтобы в документе, когда я в поле выбора выбираю Ф.И.О. автоматически вводилось в другом поле выбора Реквизит язык. 8.0
0
|
|
| 05.06.2010, 10:49 | |
|
Ответы с готовыми решениями:
39
Подстановка цены в документ из регистра сведений Как вытащить Цену из Регистра сведений в документ Реализация Товара
|
|
0 / 0 / 0
Регистрация: 18.07.2009
Сообщений: 22
|
|
| 08.06.2010, 06:51 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 553
|
|
| 08.06.2010, 11:59 | |
|
Вариант номер Раз:
Если платформа 8.1 и умеет работать с пакетами запросов Код ( (Unknown Language)): Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗарплатаЗарплата.Ссылка, | ЗарплатаЗарплата.Сотрудник, | ЗарплатаЗарплата.Сотрудник.График КАК График, | ЗарплатаЗарплата.ОтЧисла, | ЗарплатаЗарплата.ДоЧисла, | ЗарплатаЗарплата.ТарифнаяСтавка |ПОМЕСТИТЬ ТЧСотрудники |ИЗ | Документ.Зарплата.Зарплата КАК ЗарплатаЗарплата |ГДЕ | ЗарплатаЗарплата.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | ЗарплатаЗарплата.Сотрудник, | ЗарплатаЗарплата.Сотрудник.График, | ЗарплатаЗарплата.Ссылка, | ЗарплатаЗарплата.ОтЧисла, | ЗарплатаЗарплата.ДоЧисла, | ЗарплатаЗарплата.ТарифнаяСтавка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СУММА(ГрафикиРаботы.Часы) КАК КоличествоРабочихЧасов, | ТЧСотрудники.Сотрудник, | ТЧСотрудники.ОтЧисла, | ТЧСотрудники.ДоЧисла, | ТЧСотрудники.График КАК ГрафикРаботы, | ТЧСотрудники.ТарифнаяСтавка |ИЗ | ТЧСотрудники КАК ТЧСотрудники | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикиРаботы КАК ГрафикиРаботы | ПО ТЧСотрудники.График = ГрафикиРаботы.ГрафикиРаботыСотрудников |ГДЕ | ГрафикиРаботы.Дата МЕЖДУ ТЧСотрудники.ОтЧисла И ТЧСотрудники.ДоЧисла | |СГРУППИРОВАТЬ ПО | ТЧСотрудники.Сотрудник, | ТЧСотрудники.ОтЧисла, | ТЧСотрудники.ДоЧисла, | ТЧСотрудники.График, | ТЧСотрудники.ТарифнаяСтавка"; Вариант Номер 2: И в 8.0 должен сработать Код ( (Unknown Language)): Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СУММА(ГрафикиРаботы.Часы) КАК КоличествоРабочихЧасов, | ВложенныйЗапрос.Сотрудник, | ВложенныйЗапрос.ОтЧисла, | ВложенныйЗапрос.ДоЧисла, | ВложенныйЗапрос.График КАК ГрафикРаботы, | ВложенныйЗапрос.ТарифнаяСтавка |ИЗ | (ВЫБРАТЬ | ЗарплатаЗарплата.Ссылка КАК Ссылка, | ЗарплатаЗарплата.Сотрудник КАК Сотрудник, | ЗарплатаЗарплата.Сотрудник.График КАК График, | ЗарплатаЗарплата.ОтЧисла КАК ОтЧисла, | ЗарплатаЗарплата.ДоЧисла КАК ДоЧисла, | ЗарплатаЗарплата.ТарифнаяСтавка КАК ТарифнаяСтавка | ИЗ | Документ.Зарплата.Зарплата КАК ЗарплатаЗарплата | ГДЕ | ЗарплатаЗарплата.Ссылка = &Ссылка | | СГРУППИРОВАТЬ ПО | ЗарплатаЗарплата.Сотрудник, | ЗарплатаЗарплата.Сотрудник.График, | ЗарплатаЗарплата.Ссылка, | ЗарплатаЗарплата.ОтЧисла, | ЗарплатаЗарплата.ДоЧисла, | ЗарплатаЗарплата.ТарифнаяСтавка) КАК ВложенныйЗапрос | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикиРаботы КАК ГрафикиРаботы | ПО ВложенныйЗапрос.График = ГрафикиРаботы.ГрафикиРаботыСотрудников |ГДЕ | ГрафикиРаботы.Дата МЕЖДУ ВложенныйЗапрос.ОтЧисла И ВложенныйЗапрос.ДоЧисла | |СГРУППИРОВАТЬ ПО | ВложенныйЗапрос.Сотрудник, | ВложенныйЗапрос.ОтЧисла, | ВложенныйЗапрос.ДоЧисла, | ВложенныйЗапрос.График, | ВложенныйЗапрос.ТарифнаяСтавка"; После всего этого Код ( (Unknown Language)): Запрос.УстановитьПараметр("Ссылка", Ссылка); Результат = Запрос.Выполнить(); Зарплата.Очистить(); Зарплата.Загрузить(Результат.Выгрузить() );
0
|
|
|
0 / 0 / 0
Регистрация: 25.05.2010
Сообщений: 22
|
|
| 08.06.2010, 13:01 | |
|
я достал версию 8.1
К сожалению не получается, вводил и то и то, ошибок нету, но и в документе поля не заполняются В 8.1 не могу запустить проект, так как базу не получается переконвертировать, может из за того что учебная
0
|
|
|
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 553
|
|
| 08.06.2010, 13:05 | |
|
нет. чтоб сконвертировать БД необходимо в конфигураторе открывать БД
0
|
|
|
0 / 0 / 0
Регистрация: 25.05.2010
Сообщений: 22
|
|
| 08.06.2010, 14:06 | |
|
этот код нало вставлять в модуль документа в процедуру Процедура ОбработкаПроведения(Отказ, Режим)?
переконвертировал, но ничего не изменилось
0
|
|
|
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 553
|
||
| 08.06.2010, 14:29 | ||
Я оставил там где у вас было. при проведении заполняется колонка "РабочихЧасов", как-то так она называется
0
|
||
|
0 / 0 / 0
Регистрация: 25.05.2010
Сообщений: 22
|
|
| 08.06.2010, 15:17 | |
|
понятно, заполнение поля происходи при записи или проведении. Но теперь из за этого, или не из-за это, но все другие операции вычислени не проходят из-за того, что другие поля это поле считают пустым, и по этому умножая на пустоту в других полях пустота
пытаюсь сделать так, чтобы график работы сотрудника загружался автоматически, как сделать так, чтобы вбить значение Реквизит.График СтрокаТабличнойЧасти.ГрафикРаботы = Справочники.Сотрудники.НайтиПоРеквизиту( .График);
0
|
|
|
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 553
|
||
| 08.06.2010, 15:42 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 25.05.2010
Сообщений: 22
|
|
| 08.06.2010, 16:32 | |
|
вот код в форме документа
Код ( (Unknown Language)): Процедура ЗарплатаСотрудникПриИзменении(Элемент) СтрокаТабличнойЧасти = ЭлементыФормы.Зарплата.ТекущиеДанные; СтрокаТабличнойЧасти.ТарифнаяСтавка = Зарплата(Дата, Элемент.Значение); РассчитатьКВыплате(СтрокаТабличнойЧасти) ; КонецПроцедуры Процедура Кнопка1Нажатие(Элемент) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗарплатаЗарплата.Ссылка, | ЗарплатаЗарплата.Сотрудник, | ЗарплатаЗарплата.Сотрудник.График КАК График, | ЗарплатаЗарплата.ОтЧисла, | ЗарплатаЗарплата.ДоЧисла, | ЗарплатаЗарплата.ТарифнаяСтавка |ПОМЕСТИТЬ ТЧСотрудники |ИЗ | Документ.Зарплата.Зарплата КАК ЗарплатаЗарплата |ГДЕ | ЗарплатаЗарплата.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | ЗарплатаЗарплата.Сотрудник, | ЗарплатаЗарплата.Сотрудник.График, | ЗарплатаЗарплата.Ссылка, | ЗарплатаЗарплата.ОтЧисла, | ЗарплатаЗарплата.ДоЧисла, | ЗарплатаЗарплата.ТарифнаяСтавка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СУММА(ГрафикиРаботы.Часы) КАК КоличествоРабочихЧасов, | ТЧСотрудники.Сотрудник, | ТЧСотрудники.ОтЧисла, | ТЧСотрудники.ДоЧисла, | ТЧСотрудники.График КАК ГрафикРаботы, | ТЧСотрудники.ТарифнаяСтавка |ИЗ | ТЧСотрудники КАК ТЧСотрудники | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикиРаботы КАК ГрафикиРаботы | ПО ТЧСотрудники.График = ГрафикиРаботы.ГрафикиРаботыСотрудников |ГДЕ | ГрафикиРаботы.Дата МЕЖДУ ТЧСотрудники.ОтЧисла И ТЧСотрудники.ДоЧисла | |СГРУППИРОВАТЬ ПО | ТЧСотрудники.Сотрудник, | ТЧСотрудники.ОтЧисла, | ТЧСотрудники.ДоЧисла, | ТЧСотрудники.График, | ТЧСотрудники.ТарифнаяСтавка"; Запрос.УстановитьПараметр("Ссылка", Ссылка); Результат = Запрос.Выполнить(); Зарплата.Очистить(); Зарплата.Загрузить(Результат.Выгрузить() ); СтрокаТабличнойЧасти = ЭлементыФормы.Зарплата.ТекущиеДанные; СтрокаТабличнойЧасти.Начисленно = СтрокаТабличнойЧасти.ТарифнаяСтавка * СтрокаТабличнойЧасти.КоличествоРабочихЧа сов; //<------------Ошибка---- РассчитатьКВыплате(СтрокаТабличнойЧасти) ; КонецПроцедуры Стрелочкой обозначена строка с ошибкой Значение не является значением объектного типа (Начисленно) СтрокаТабличнойЧасти.Начисленно = СтрокаТабличнойЧасти.ТарифнаяСтавка * СтрокаТабличнойЧасти.КоличествоРабочихЧа сов;
0
|
|
|
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 553
|
||
| 08.06.2010, 16:34 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 25.05.2010
Сообщений: 22
|
|
| 08.06.2010, 17:09 | |
|
убрал, потом стал ругаться на СтрокаТабличнойЧасти
её убрал, поменял на зарплата потом стал ругаться на РассчитатьКВыплате(СтрокаТабличнойЧасти) ; и это убрал, потом стал ругаться так Поле объекта не обнаружено (Начисленно) Зарплата.Начисленно = Зарплата.ТарифнаяСтавка * Зарплата.КоличествоРабочихЧасов;
0
|
|
|
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 553
|
|
| 08.06.2010, 17:12 | |
|
Слушай, открой секрет. Отладчиком пользовался?
1) Смени имя табличной части; 2) Измени имя процедуры (Зарплата) 3) ЗАПОМНИ: Никогда не давай одинаковые имена разным сущностям в коде Есть правило в программировании в 1С: Никогда не давать имена своих переменных похожих на платформенные
0
|
|
|
0 / 0 / 0
Регистрация: 25.05.2010
Сообщений: 22
|
|
| 08.06.2010, 17:29 | |
|
Код ( (Unknown Language)):
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗарплатаСотрудниковЗарплата.Ссылка, | ЗарплатаСотрудниковЗарплата.Сотрудник, | ЗарплатаСотрудниковЗарплата.Сотрудник.Гр афик КАК График, | ЗарплатаСотрудниковЗарплата.ОтЧисла, | ЗарплатаСотрудниковЗарплата.ДоЧисла, | ЗарплатаСотрудниковЗарплата.ТарифнаяСтав ка |ПОМЕСТИТЬ ТЧСотрудники |ИЗ | Документ.ЗарплатаСотрудников.Зарплата КАК ЗарплатаСотрудниковЗарплата |ГДЕ | ЗарплатаСотрудниковЗарплата.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | ЗарплатаСотрудниковЗарплата.Сотрудник, | ЗарплатаСотрудниковЗарплата.Сотрудник.Гр афик, | ЗарплатаСотрудниковЗарплата.Ссылка, | ЗарплатаСотрудниковЗарплата.ОтЧисла, | ЗарплатаСотрудниковЗарплата.ДоЧисла, | ЗарплатаСотрудниковЗарплата.ТарифнаяСтав ка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СУММА(ГрафикиРаботы.Часы) КАК КоличествоРабочихЧасов, | ТЧСотрудники.Сотрудник, | ТЧСотрудники.ОтЧисла, | ТЧСотрудники.ДоЧисла, | ТЧСотрудники.График КАК ГрафикРаботы, | ТЧСотрудники.ТарифнаяСтавка |ИЗ | ТЧСотрудники КАК ТЧСотрудники | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикиРаботы КАК ГрафикиРаботы | ПО ТЧСотрудники.График = ГрафикиРаботы.ГрафикиРаботыСотрудников |ГДЕ | ГрафикиРаботы.Дата МЕЖДУ ТЧСотрудники.ОтЧисла И ТЧСотрудники.ДоЧисла | |СГРУППИРОВАТЬ ПО | ТЧСотрудники.Сотрудник, | ТЧСотрудники.ОтЧисла, | ТЧСотрудники.ДоЧисла, | ТЧСотрудники.График, | ТЧСотрудники.ТарифнаяСтавка"; Запрос.УстановитьПараметр("Ссылка", Ссылка); Результат = Запрос.Выполнить(); Зарплата.Очистить(); Зарплата.Загрузить(Результат.Выгрузить() ); СтрокаТабличнойЧасти = Зарплата.ТекущиеДанные; <-------------------------------------суда ругается---------- СтрокаТабличнойЧасти.Начисленно = СтрокаТабличнойЧасти.ТарифнаяСтавка * СтрокаТабличнойЧасти.КоличествоРабочихЧа сов; РассчитатьКВыплате(СтрокаТабличнойЧасти) ; я переименовал Название документа на ЗарплатаСотрудников он ТекущиеДанные за поле принимает
0
|
|
|
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 553
|
|
| 08.06.2010, 18:28 | |
|
у тебя функция есть которая зовется "Зарплата" или ее переименуй или табличную часть переименуй
0
|
|
|
0 / 0 / 0
Регистрация: 25.05.2010
Сообщений: 22
|
|
| 08.06.2010, 18:54 | |
|
переименовал функцию
Код ( (Unknown Language)): Процедура ЗарплатаСотрудникПриИзменении(Элемент) СтрокаТабличнойЧасти = ЭлементыФормы.Зарплата.ТекущиеДанные; СтрокаТабличнойЧасти.ТарифнаяСтавка = РасчётЗарплата(Дата, Элемент.Значение); РассчитатьКВыплате(СтрокаТабличнойЧасти) ; КонецПроцедуры Процедура ЗарплатаКоличествоРабочихЧасовПриИзменен ии(Элемент) СтрокаТабличнойЧасти = ЭлементыФормы.Зарплата.ТекущиеДанные; РассчитатьКВыплате(СтрокаТабличнойЧасти) ; КонецПроцедуры Процедура Кнопка1Нажатие(Элемент) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗарплатаСотрудниковЗарплата.Ссылка, | ЗарплатаСотрудниковЗарплата.Сотрудник, | ЗарплатаСотрудниковЗарплата.Сотрудник.Гр афик КАК График, | ЗарплатаСотрудниковЗарплата.ОтЧисла, | ЗарплатаСотрудниковЗарплата.ДоЧисла, | ЗарплатаСотрудниковЗарплата.ТарифнаяСтав ка |ПОМЕСТИТЬ ТЧСотрудники |ИЗ | Документ.ЗарплатаСотрудников.Зарплата КАК ЗарплатаСотрудниковЗарплата |ГДЕ | ЗарплатаСотрудниковЗарплата.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | ЗарплатаСотрудниковЗарплата.Сотрудник, | ЗарплатаСотрудниковЗарплата.Сотрудник.Гр афик, | ЗарплатаСотрудниковЗарплата.Ссылка, | ЗарплатаСотрудниковЗарплата.ОтЧисла, | ЗарплатаСотрудниковЗарплата.ДоЧисла, | ЗарплатаСотрудниковЗарплата.ТарифнаяСтав ка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СУММА(ГрафикиРаботы.Часы) КАК КоличествоРабочихЧасов, | ТЧСотрудники.Сотрудник, | ТЧСотрудники.ОтЧисла, | ТЧСотрудники.ДоЧисла, | ТЧСотрудники.График КАК ГрафикРаботы, | ТЧСотрудники.ТарифнаяСтавка |ИЗ | ТЧСотрудники КАК ТЧСотрудники | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикиРаботы КАК ГрафикиРаботы | ПО ТЧСотрудники.График = ГрафикиРаботы.ГрафикиРаботыСотрудников |ГДЕ | ГрафикиРаботы.Дата МЕЖДУ ТЧСотрудники.ОтЧисла И ТЧСотрудники.ДоЧисла | |СГРУППИРОВАТЬ ПО | ТЧСотрудники.Сотрудник, | ТЧСотрудники.ОтЧисла, | ТЧСотрудники.ДоЧисла, | ТЧСотрудники.График, | ТЧСотрудники.ТарифнаяСтавка"; Запрос.УстановитьПараметр("Ссылка", Ссылка); Результат = Запрос.Выполнить(); Зарплата.Очистить(); Зарплата.Загрузить(Результат.Выгрузить() ); СтрокаТабличнойЧасти = РасчётЗарплата.ТекущиеДанные; СтрокаТабличнойЧасти.Начисленно = СтрокаТабличнойЧасти.ТарифнаяСтавка * СтрокаТабличнойЧасти.КоличествоРабочихЧа сов; //<------------Ошибка---- РассчитатьКВыплате(СтрокаТабличнойЧасти) ; КонецПроцедуры если я оставляю ЭлементыФормы Ошибка: значение не является значением объектного типа (Начисленно) Если убираю, то на ТекущиеДанные
0
|
|
|
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 553
|
|
| 08.06.2010, 19:06 | |
|
СтрокаТабличнойЧасти = Зарплата.ТекущиеДанные;
СтрокаТабличнойЧасти.Начисленно = СтрокаТабличнойЧасти.ТарифнаяСтавка * СтрокаТабличнойЧасти.КоличествоРабочихЧа сов; РассчитатьКВыплате(СтрокаТабличнойЧасти) ;
0
|
|
|
0 / 0 / 0
Регистрация: 25.05.2010
Сообщений: 22
|
|
| 08.06.2010, 19:41 | |
|
я так уже пробовал, он текущие данные за поле принимает: Поле объекта не обнаружено (ТекущиеДанные)
я даже РасчётЗарплата вместо зарплаты вставлял, ну и по разному, просто на шару, комбинации которые могли бы быть, не получается
0
|
|
|
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 553
|
||
| 08.06.2010, 19:47 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 25.05.2010
Сообщений: 22
|
|
| 08.06.2010, 20:29 | |
|
вот
0
|
|
|
0 / 0 / 0
Регистрация: 23.04.2010
Сообщений: 553
|
||
| 08.06.2010, 22:56 | ||
Заключи в цикл: Код ( (Unknown Language)): Для Каждого СтрокаТабличнойЧасти Из Зарплата Цикл СтрокаТабличнойЧасти.Начисленно = СтрокаТабличнойЧасти.ТарифнаяСтавка * СтрокаТабличнойЧасти.КоличествоРабочихЧа сов; РассчитатьКВыплате(СтрокаТабличнойЧасти) ; КонецЦикла;
0
|
||
| 08.06.2010, 22:56 | |
|
Программа для расчета общего количества рабочих часов за месяц Рассчитать время смены исходя из количества часов и количество рабочих Вывод из регистра сведений
Запись информации(цены) из периодического регистра сведений в документ "Оприходование номенклатуры" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|