Имя: Пароль:
1C
1С v8
Запрос и Возврат значения
,
0 yyyuuu
 
18.11.16
05:52
1С:Предприятие 8.2 (8.2.19.130), Зарплата и Управление Персоналом, редакция 2.5 (2.5.108.1).
Добрый лень ребят, суть вопроса. Почему то значение берется из справочника. А надо из документа Разовые начисления, как перенаправить чтобы брал из документа и опредленого поля. В общем немного залез в дебри, без помощи не разобраться
1 yyyuuu
 
18.11.16
05:54
Функция АрендаАТ(Сотрудник1)      
    //Сообщить("ГРАФА 13");      
    
    Значения = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
    Значения.Отбор.Объект.Установить(Сотрудник1);
    Значения.Отбор.Свойство.Установить(ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("0009"));  //АрендаАТкомпенсация
    Значения.Прочитать();
    Если Значения.Количество() > 0 Тогда
        //Сообщить(Значения[0].Значение);
        Возврат(Значения[0].Значение);
    Иначе
        //Сообщить(0);
        Возврат(0);
    КонецЕсли;
    
    
КонецФункции
смена кода не помогла, думал что он не поможет по плану видов найдет. Но оказалось  что не
2 Mauser
 
18.11.16
06:41
Няня я у них поел!
3 Mauser
 
18.11.16
06:44
Зачем вы сдаете сотрудников в аренду?
4 yyyuuu
 
18.11.16
06:58
У кого то много сотрудников у кого то мало. А по моему вопросу есть что нибудь?
5 1dvd
 
18.11.16
07:02
Функция АрендаАТ(ДокументСсылкаРазовыеОтчисления)
    Возврат ДокументСсылкаРазовыеОтчисления.АрендаАТкомпенсация;
КонецФункции
6 catena
 
18.11.16
07:02
не вижу в коде ни одного справочника, из которого бралось бы значение.
7 Mauser
 
18.11.16
07:08
(4) Надо написать запрос.
Хотя нет. Пусть сотрудники, которых у вас много, продолжают заниматься не своим делом, это интересней. И их можно сдать в аренду!
8 yyyuuu
 
18.11.16
07:10
Друзья Я не много заблудился по коду. Суть в том что в обработке формируется отчет, который выводится в эксель. Когда то давно поставили чтобы АрендуАТ брал и справочника, а теперь нужно чтобы из документа. Помогите выйти из дебрей. Хотябы показать путь от печки
9 yyyuuu
 
18.11.16
07:11
Не могу понять, почему вы думаете что сотрудников сдали в аренду?(
10 vicof
 
18.11.16
07:11
"Добрый лень" -анек вспомнил.
Приходит девушка на работу с утра и говорит коллегам: добрый член!
Те:%)
Она: ой, большой день
Те: %)
Она: ой, девочки, вчера такое было...
11 yyyuuu
 
18.11.16
07:17
МОгу в скриншотах для наглядности показать.
12 Mauser
 
18.11.16
07:20
Лучше видео, это сейчас модно.
Надо выбросить набор и написать запрос, который по сотруднику найдет данные, порожденные документом.
13 yyyuuu
 
18.11.16
08:41
функция АрендаАТ(Сотрудник1)
Запрос=Новый Запрос;
Запрос=
   "ВЫБРАТЬ
|    РегистрацияРазовыхНачисленийРаботниковОрганизаций.Ссылка
|ИЗ
|    Документ.РегистрацияРазовыхНачисленийРаботниковОрганизаций КАК РегистрацияРазовыхНачисленийРаботниковОрганизаций
|ГДЕ
|    РегистрацияРазовыхНачисленийРаботниковОрганизаций.МоментВремени = &МоментВремени
|    И РегистрацияРазовыхНачисленийРаботниковОрганизаций.ДополнительныеНачисления.Сотрудник.Ссылка = &Ссылка"

КонецФункции

Сделал запрос, но как мне найти в документе куда передаются значения? В пользовательской версии вижу что где в конфигураторе нет даже близко похожего
14 Romyr
 
18.11.16
08:59
(13) >Сделал запрос, но как мне найти в документе куда передаются значения?
может уже расскажете какой документ?
или сарказм в предыдущих комментариях вам ни на что не намекнул?

А лучше переформулируете вопрос так, чтобы его можно было понять без помощи телепатии?
Что берется, куда кладётся и как надо чтобы было. С указанием названий всех документов и справочников.
15 Mauser
 
18.11.16
09:13
(13) Судя по (0), это "определенное поле документа разового начисления". Дальше телепатия бессильна, придется тебе самому. Ну или аренда сотрудников - возьми специалиста, или сдайся сам.
16 yyyuuu
 
18.11.16
09:21
При формировании обработки, в колонку Аренда А/Т попадает значение из справочника, дальше отправляется в эксель документ
    

В обработчке запрос: //Функция АрендаАТ(Сотрудник1)      
    //Сообщить("ГРАФА 13");               
//    Значения = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
//    Значения.Отбор.Объект.Установить(Сотрудник1);
//    Значения.Отбор.Свойство.Установить(ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("0009"));  //АрендаАТкомпенсация
//    Значения.Прочитать();
//    Если Значения.Количество() > 0 Тогда
        //Сообщить(Значения[0].Значение);
//        Возврат(Значения[0].Значение);
//    Иначе
        //Сообщить(0);
//        Возврат(0);
//    КонецЕсли;
//КонецФункции

Он берет значение из справочника Сотрудники. Которое там хранится, и скорее всего передается туда из регистра.

А мне нужно, чтобы значение передавалось из документа ДанныеПоЗаработнойПлатеСотрудников. Если смотреть форму там есть вкладка доп.Расчеты и в неё вносятса начисления <Вид начисления "арендная плата", "компенсация за исп.лично авто норма" " компенсация за использования личного авто сверхнормы">
Пытаюсь сделать запрос

функция АрендаАТ(Сотрудник1)
Запрос=Новый Запрос;
Запрос=
       "ВЫБРАТЬ
    |    РегистрацияРазовыхНачисленийРаботниковОрганизаций.Ссылка,
    |    РегистрацияРазовыхНачисленийРаботниковОрганизаций.ДополнительныеНачисления.(
    |        ВидРасчета.КатегорияРасчета.Ссылка
    |    )
    |ИЗ
    |    Документ.РегистрацияРазовыхНачисленийРаботниковОрганизаций КАК РегистрацияРазовыхНачисленийРаботниковОрганизаций
    |ГДЕ
    |    РегистрацияРазовыхНачисленийРаботниковОрганизаций.ДополнительныеНачисления.Сотрудник = &Сотрудник
    |    И РегистрацияРазовыхНачисленийРаботниковОрганизаций.ДополнительныеНачисления.Сотрудник.ДатаНачала = &ДатаНачала
    |    И РегистрацияРазовыхНачисленийРаботниковОрганизаций.ДополнительныеНачисления.Сотрудник.ДатаОкончания = &ДатаОкончания"

КонецФункции
17 Romyr
 
18.11.16
09:38
Запрос делайте сразу по нужной табличной части, в запрос добавьте отбор по начислению.
Что будете делать если таких документов за период будет несколько?
18 Romyr
 
18.11.16
09:39
кстати что функция вообще должна возвращать? сотрудника?
19 Romyr
 
18.11.16
09:41
хотя, судя по коду, оно ищет значение некого свойства объекта привязанное к сотруднику.
20 yyyuuu
 
18.11.16
09:42
Функция должна искать значение которое присваивается (тут это Аренда за использование авто, компенсация за использования личного авто)
21 Romyr
 
18.11.16
09:46
(20) у вас слова платные или разработка секретная?
значение которое присваивается чему?
>тут это Аренда за использование авто, компенсация за использования личного авто
что это? Вид начисления? Итоговая сумма? (мимо, тогда бы не хранилось в свойствах.)
Давайте зайдем с другой стороны. Какой реквизит документа регистрации разовых начислений вы хотите получить на выходе?
22 catena
 
18.11.16
09:54
(20)А документ куда это значение складывает? Может в тот же регистр?
23 yyyuuu
 
18.11.16
09:55
(20)Я так понял что ВидРасчет.
24 Romyr
 
18.11.16
09:55
(22) это врятли. это регистр аля допсвойства. редактирование его идет из карточки сотрудника (отдельная табличная часть для редактирования регистра)
25 catena
 
18.11.16
09:58
(24)Кто-то же это свойство добавил. Откуда мне знать, какая логика у "кого-то" и какие там еще сюрпризы накурочены.
В любом случае, "доставать" из документа некорректно.
26 Romyr
 
18.11.16
09:59
(23) ну тогда
"ВЫБРАТЬ
|    РегистрацияРазовыхНачисленийРаботниковОрганизацийДополнительныеНачисления.Ссылка
|ИЗ
|    Документ.РегистрацияРазовыхНачисленийРаботниковОрганизаций.ДополнительныеНачисления КАК РегистрацияРазовыхНачисленийРаботниковОрганизацийДополнительныеНачисления"
С теми вашими условиями, которые указаны в вашем варианте запроса и еще висящем над вами вопросом из (17) >Что будете делать если таких документов за период будет несколько?

пы.сы. а у вас на каждого сотрудника разный вид расчета чтоли? Не проще просто сделать Возврат("имя регистра расчета") ?
27 catena
 
18.11.16
09:59
Тем более, что автор упорно уже минимум 4 часа называет регистр справочником. С такими разработчиками легко виды расчетов на доп.свойствах могут быть.
28 Romyr
 
18.11.16
10:00
(25) >В любом случае, "доставать" из документа некорректно.
почему?
29 Romyr
 
18.11.16
10:02
(27) ну... фактически они значения в этот регистр заносят через справочник сотрудники...
30 yyyuuu
 
18.11.16
10:12
А планы счетов  расчета не записывают ли это в документ?
31 Romyr
 
18.11.16
10:16
(30) шта?
32 yyyuuu
 
18.11.16
10:20
функция АрендаАТ(Сотрудник1)
Запрос=Новый Запрос;
Запрос=
       "ВЫБРАТЬ
       |    РегистрацияРазовыхНачисленийРаботниковОрганизаций.Ссылка,
       |    ДополнительныеНачисленияОрганизацийВедущиеВидыРасчета.ВидРасчета.Ссылка КАК Ссылка1,
       |ИЗ
       |    Документ.РегистрацияРазовыхНачисленийРаботниковОрганизаций КАК РегистрацияРазовыхНачисленийРаботниковОрганизаций,
       |    ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.ВедущиеВидыРасчета КАК ДополнительныеНачисленияОрганизацийВедущиеВидыРасчета
       |        ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ДополнительныеНачисленияОрганизаций КАК ДополнительныеНачисленияОрганизаций
       |        ПО ДополнительныеНачисленияОрганизацийВедущиеВидыРасчета.Ссылка = ДополнительныеНачисленияОрганизаций.Ссылка";
      
           Возврат ("ДополнительныеНачисленияОрганизаций");
КонецФункции

Преобразование значения к типу Число не может быть выполнено
33 catena
 
18.11.16
10:34
(28)Потому что документов много, они могут быть сторнированы, могут быть непроведены. Потому что в регистре информация (при правильной архитектуре) хранится наиболее удобным для анализа способом. Вы ему через пару часов будете объяснять, как на документах получить срез последних?
34 Romyr
 
18.11.16
10:36
(32) -_-
эт вы так долго будете менять. Может вам лучше позвать человека, который более сведущ в 1с? или уже открытым текстом попросить сделать за вас.
1) зачем в тексте запроса план видов расчета? и вообще откуда такой текст взялся.
2) текст запроса, это свойство объекта с типом запрос, приписать текст к запросу нужно не через "запрос=" а через "запрос.текст = "
3) возврат ("ДополнительныеНачисленияОрганизаций") - в качестве результата функции АрендаАТ вернет вам текст "ДополнительныеНачисленияОрганизаций"
4) учитывая ошибку которую вы написали у вас где-то дальше в коде происходит преобразование значения функции АрендаАТ к числу, так что возвращала она, очевидно, некое число. (если конечно где-то еще не нахимичили).
(33) не. я просто коротаю время перед походом на фантастических тварей. А дома у меня вообще инет рубанули... да и держусь я в выходные от работы подальше...в остальном безулосвно согласен. но костыли и велосипеды наше все :)
35 yyyuuu
 
18.11.16
10:47
(34)
Я не прошу делать за меня, Я всего лишь хочу сам разобраться в этом. Но сейчас Я нахожусь в таком болоте что не понять не вникнуть сам без помощи не могу.
36 catena
 
18.11.16
10:49
(35)Разбираться нужно с основ. Например, написать запрос в консоли, который будет возвращать то, что нужно. Разобраться с типами объектов, понять, что такое справочники, регистры, документы и как они взаимодействуют в базе. Разобраться с параметрами функции (входящими и исходящими). А потом уже бросаться что-то менять.
37 yyyuuu
 
18.11.16
10:50
В коде больше нигде не химичил.
//Функция АрендаАТ(Сотрудник1)      
    //Сообщить("ГРАФА 13");               
//    Значения = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
//    Значения.Отбор.Объект.Установить(Сотрудник1);
//    Значения.Отбор.Свойство.Установить(ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("0009"));  //АрендаАТкомпенсация
//    Значения.Прочитать();
//    Если Значения.Количество() > 0 Тогда
        //Сообщить(Значения[0].Значение);
//        Возврат(Значения[0].Значение);
//    Иначе
        //Сообщить(0);
//        Возврат(0);
//    КонецЕсли;
//КонецФункции

По факту был этот код, он передавал значение из справочника. Искал по колу, пытался найти по коду и свой документ но не увенчалось успехом
38 catena
 
18.11.16
10:51
(37)Пилять. ИЗ РЕГИСТРА, этот код берет значение из регистра ЗначенияСвойствОбъектов.
39 yyyuuu
 
18.11.16
10:51
(36)
В связи с сокращением, меня просто заставили заниматься этим.
40 catena
 
18.11.16
10:53
(39)Вот если бы меня пытались заставить в связи с сокращением управлять строительным краном, я бы отказалась из жалости к общественности...
41 yyyuuu
 
18.11.16
10:56
Ребят, Я сижу дома разбираюсь по мимо всего этого. Мне нравится. Но сейчас стоит конкретная задача перед мною которую мне и только мне нужно решить. Я зашел на форум в надежде что не кто-то сделает за меня, а на толкнет на мысль. подскажет в каком ключе стоит думать
42 Romyr
 
18.11.16
10:57
(37) я не знаю чего там возвращает в оригинале, но если вам нужно получить вид расчета из документа регистрации разовых начислений, то код запроса я приводил выше.
вы можете его скопировать, зайти в консоль запросов, и понадобавлять условий, дабы у вас не лезли лишние документы.
(но вопрос из  (17) ) все еще висит.
но я более чем уверен, что если вы вернете просто ссылку на вид расчет, как результат этой функции вы увидите ошибку
"Преобразование значения к типу Число не может быть выполнено"
43 catena
 
18.11.16
10:59
(41)Так уже сказали, в каком направлении. Но вашего уровня не хватает. Это не упрек, это факт. Либо работодатель смиряется и ждет, пока вы последовательно осваиваете материал, либо эту задачу перепоручат, например, уборщице.
44 Romyr
 
18.11.16
11:00
Прежде всего я рекомендую запустить базу в режиме отладки и посмотреть что именно возвращается в результате отработки стандартной процедуры.

А потом уже решать нужно ли нам вообще что-то выбирать из документа. Потомучто, судя по всему, там вообще возвращается какое-то число
45 catena
 
18.11.16
11:00
Ну, как вариант, кто-то тут сжалится и напишет текст функции целиком. Но поддерживать эти чужие поделки потом вам, потому что изменения в конфигурации будут уже точно зоной вашей ответственности.
46 Romyr
 
18.11.16
11:01
(45) там судя по всему (и слава богу) внешняя обработка.
47 catena
 
18.11.16
11:05
(46)Может потом эта обработка потом увеличивает сумму удержания на 20% и записывает обратно. А он сейчас соберет без отбора по всем документам и всем сотрудникам...
48 Romyr
 
18.11.16
11:07
(41) просто в следующий раз попробуйте сразу обозначить ваш уровень знаний, дабы было понятно каким языком с вами разговаривать.
правда не факт что мистяне будут вам в принципе что-то отвечать :)
(47) ...ну.... будет печально, что я могу сказать. Зато человек сразу будет знать, что нужно делать бэкапы и для чего нужно. :)
49 yyyuuu
 
18.11.16
11:09
Я не отрицаю что уровень знаний низкий, и что вам со мной трудно говорить. Но Я не против учится и в чем то разбираться. Я хоть буду знать что гуглить в чем разбираться, дабы разобраться и написать сам запрос
50 Romyr
 
18.11.16
11:16
(49) ну в общем текст запроса я вам дал в (26)
рекомендую в синтаксис помошнике в 1ске найти "запрос" и почитать про его методы и свойства.

вам осталось к запросу приделать свои условия, выполнить запрос, возвратить результат и разбираться почему у вас возникает
"Преобразование значения к типу Число не может быть выполнено", когда вы доведете до ума свою функцию

или последовать совету в (44) и выяснить для начала точно, нужно ли вам то, что вы пытаетесь сделать.
51 yyyuuu
 
18.11.16
11:19
(50)
вопрос хороший нужно ли это мне? Ну пока других путей решения Я не вижу. Ну или можно передать значение как нибудь в регистр которое верное. Но Для меня это темный лес
52 KnightAlone
 
18.11.16
11:54
(32) пятнично
(34) и ведь не поленился
53 yyyuuu
 
21.11.16
07:55
(3) Работники все в аренду сданы!
54 yyyuuu
 
21.11.16
08:10
(10) Вот тоже вспомнил смотря на вас)

"Сходил с сыном в цирк. Такое чувство, что приходил к себе на работу."
До слез анекдотик кстати))0000
55 Мимохожий Однако
 
21.11.16
08:11
Ничего не понимаю...
56 Мимохожий Однако
 
21.11.16
08:12
(54) Анекдоты - это хорошо. Сейчас утро. Начнём с начала. Что ты хочешь получить? Где лежит то, что хочешь получить? Используешь ли ты консоль запросов и отладчик?
57 yyyuuu
 
21.11.16
08:14
(54)
Доброе утро вам. Пользуюсь отладчиком. Проблема встала в другом.

//Сообщить("ГРАФА 13");
Функция АрендаАТ(Сотрудник1)
ЗапросЗначений = Новый запрос;
ЗапросЗначений.Текст = "ВЫБРАТЬ
| РегистрацияРазовыхНачисленийРаботниковОрганизацийДополнительныеНачисления.Сотрудник,
| РегистрацияРазовыхНачисленийРаботниковОрганизацийДополнительныеНачисления.Показатель1,
| РегистрацияРазовыхНачисленийРаботниковОрганизацийДополнительныеНачисления.ВидРасчета
|ИЗ
| Документ.РегистрацияРазовыхНачисленийРаботниковОрганизаций.ДополнительныеНачисления КАК РегистрацияРазовыхНачисленийРаботниковОрганизацийДополнительныеНачисления
|ГДЕ
| РегистрацияРазовыхНачисленийРаботниковОрганизацийДополнительныеНачисления.Сотрудник = &Сотрудник
| И РегистрацияРазовыхНачисленийРаботниковОрганизацийДополнительныеНачисления.ВидРасчета = &ВидРасчета
| И РегистрацияРазовыхНачисленийРаботниковОрганизацийДополнительныеНачисления.Ссылка.ПометкаУдаления = ЛОЖЬ
| И РегистрацияРазовыхНачисленийРаботниковОрганизацийДополнительныеНачисления.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода";
ЗапросЗначений.УстановитьПараметр("Сотрудник",Сотрудник1);                                 //НайтиПоКоду(""));
ЗапросЗначений.УстановитьПараметр("ВидРасчета",ПланыВидовРасчета.ДополнительныеНачисленияОрганизаций.НайтиПоНаименованию("ВидРасчета"));
ЗапросЗначений.УстановитьПараметр("НачПериода",КонецМесяца(Дата));    
ЗапросЗначений.УстановитьПараметр("КонПериода",КонецМесяца(Дата));
//Граница(КонецМесяца(Дата)+1,ВидГраницы.Исключая));

//ЗапросЗначений.УстановитьПараметр("Ссылка",Документы.РегистрацияРазовыхНачисленийРаботниковОрганизаций.НайтиПоНомеру();
Рез = ЗапросЗначений.Выполнить().Выбрать();
НашеЗначение = 0;
Пока рез.Следующий() Цикл
НашеЗначение =рез.Показатель1;
КонецЦикла;
Возврат НашеЗначение;


//Значения = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
//Значения.Отбор.Объект.Установить(Сотрудник1);
//Значения.Отбор.Свойство.Установить(ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("0009"));
//Значения.Прочитать();
//Если Значения.Количество() > 0 Тогда
// //Сообщить(Значения[0].Значение);
// Возврат(Значения[0].Значение);
//Иначе
// //Сообщить(0);
// Возврат(0);
//КонецЕсли;
КонецФункции
//------------------------------------------------------------------------------------------

{Обработка.ДанныеПоЗаработнойПлатеСотрудников.Форма.ФормаОтчета.Форма(312,60)}: Переменная не определена (Дата)
58 yyyuuu
 
21.11.16
08:14
(56)*
59 yyyuuu
 
21.11.16
08:16
Документ каждый месяц создается отдельный. Хочу приравнять к началу месяца и концу. Для корректного отображение в отчете
60 Мимохожий Однако
 
21.11.16
08:20
(59) Используй НачалоДня.
Я пока не получил ответов на вопросы: Что ты хочешь получить? Где лежит то, что хочешь получить? Используешь ли ты консоль запросов? Знаешь ли ты, что такое СП (Синтаксис помощник?)
61 yyyuuu
 
21.11.16
08:26
(60)Хочу получить, запрос брал период в зависимости от того месяца что у меня выбирают. Каждый месяц создают новый документ. Лежит в обработке.
Консоль запросов не использую. Что такое СП знаю
62 Мимохожий Однако
 
21.11.16
08:30
(61) Откуда выбирают? "Лежит в обработке"-это как в анекдоте про радиостанцию у Чапаева. В СП написано как преобразовать дату. Консоль запросов есть на ИТС или на просторах инета. Очень полезная штучка. Рекомендую использовать в обязательном порядке.
Что ты ищешь и где лежит в БАЗЕ искомое?
63 yyyuuu
 
21.11.16
08:36
(62)Я ищу реквизит табличной части ВидыРасчета. Лежит он в документах РегистрацияРазовыхНачисленийРаботниковОрганизацийДополнительныеНачисления.
64 Jonny_Khomich
 
21.11.16
08:39
(57) ты свой код можешь прочитать?
зачем два параметра с одинаковыми значениями?
ЗапросЗначений.УстановитьПараметр("НачПериода",КонецМесяца(Дата));    
ЗапросЗначений.УстановитьПараметр("КонПериода",КонецМесяца(Дата));

А если результат будет содержать 2 строки ты знаешь что получится?
НашеЗначение = 0;
Пока рез.Следующий() Цикл
НашеЗначение =рез.Показатель1;
КонецЦикла;

запрос у тебя в каком месте расположен? Дата - стандартный реквизит документа, если не в документе, то и ошибка "Переменная не определена (Дата)" возникает не случайно или тебе нужен реквизит или поле ввода Дата, а если в общем модуле, то надо передавать в твою функцию.
Скажи номер твоего работодателя, я ему позвоню и скажу правду о тебе.
65 Jonny_Khomich
 
21.11.16
08:42
+ (64) РегистрацияРазовыхНачисленийРаботниковОрганизацийДополнительныеНачисления.Ссылка.ПометкаУдаления = ЛОЖЬ

документ может быть просто не проведен и тогда этот отбор не имеет смысла. Вообще надо делать запрос к данным регистров.
66 yyyuuu
 
21.11.16
08:42
(64)
На счет двух одинаковых строчек только сам заметил. Моя ошибка
67 yyyuuu
 
21.11.16
08:46
(64)
8 909 851 16 80 работодатель
68 Мимохожий Однако
 
21.11.16
08:49
(63) У этого документа есть табличная часть? Покажи скрин структуры документа из конфигуратора.
69 yyyuuu
 
21.11.16
08:55
70 Мимохожий Однако
 
21.11.16
09:21
(69) Со структурой понятно. Тебе надо изменить запрос, чтобы получить данные по сотрудникам из регистра сведений. Сейчас у тебя используется запрос для получения сотрудников. А вот значения дополнительных реквизитов ищешь не запросом, а объектными методами.
Открываешь консоль запросов, в нём формируешь запрос и после отладки переносишь его в свою обработку. Так будет быстрее и эффективнее.
71 yyyuuu
 
21.11.16
09:26
(70)
Я не умею пользоваться консолью запросов
72 yyyuuu
 
21.11.16
09:28
Функция АрендаАТ(Сотрудник)
ЗапросЗначений = Новый запрос;
ЗапросЗначений.Текст = "ВЫБРАТЬ
    
        |РегистрацияРазовыхНачисленийРаботниковОрганизаций.ДополнительныеНачисления.(
        |        НомерСтроки,
        |        Сотрудник,
        |        ВидРасчета,
        |        ДатаОкончания,
        |        Результат
        |    )
        |ИЗ
        |    Документ.РегистрацияРазовыхНачисленийРаботниковОрганизаций КАК РегистрацияРазовыхНачисленийРаботниковОрганизаций
        |ГДЕ
        |    РегистрацияРазовыхНачисленийРаботниковОрганизаций.ДополнительныеНачисления.Сотрудник = &Сотрудник
        |    И  
        |    РегистрацияРазовыхНачисленийРаботниковОрганизаций.ДополнительныеНачисления.ДатаОкончания МЕЖДУ &ДатаНач И &ДатаКон
        |    И  
        |    РегистрацияРазовыхНачисленийРаботниковОрганизаций.ДополнительныеНачисления.ВидРасчета.Код = &КодРасчета "
КонецФункции

Сделал такой запрос, в консоле.
Теперь ругается на:     
АрендаАТ = АрендаАТ(Сотрудник.Ссылка);
    Лист.Cells(ВсегоСтрок + 1, 9).Value = АрендаАТ;
    АрендаАТ_ = АрендаАТ_ + АрендаАТ;

{Обработка.ДанныеПоЗаработнойПлатеСотрудников.Форма.ФормаОтчета.Форма(496)}: Преобразование значения к типу Число не может быть выполнено
    АрендаАТ_ = АрендаАТ_ + АрендаАТ;
73 yyyuuu
 
21.11.16
09:29
Через отладчик показывается что "АрендаАТ" не определенна
74 Мимохожий Однако
 
21.11.16
15:10
(71) Учись. Это азбука. Буквы знаешь, теперь складывай в слова.
75 yyyuuu
 
22.11.16
08:33
(74)
Спасибо, но учится куда проще с более знающими людьми. Не которые будут делать за тебя, а показывать на ошибки и подсказывать где лежит путь к исправлению
76 Romyr
 
23.11.16
05:42
(72) очевидно показатель1 не заполнен в последней строке, которая тебе вернулась по твоему запросу
77 Mauser
 
23.11.16
07:28
(76) очевидно, что надо написать возврат и выполнить
78 Romyr
 
23.11.16
07:38
(77) хмм... да... что-то я не обратил внимания что в (72) нет возврата...
79 yyyuuu
 
23.11.16
08:47
Ребята, дело в том что написал запрос. Чудо все работает. Но теперь выводит не по каждому человеку отдельно а суммарно. У глазкова 3000 а в отчете выводит сумму за все 9200
http://screenshot.ru/upload/image/Zo3n. А чем может быть косяк?
80 catena
 
23.11.16
09:02
(79)Очевидно, нет отбора по сотруднику.
81 yyyuuu
 
23.11.16
10:09
Разобрался братки
82 yyyuuu
 
23.11.16
10:10
(3) братка, сотрудники в аренду ушли. Как и говорил у меня их много у кого то мало. Что поделать.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn