|
заказ наряд выборка работ по сотруднику | ☑ | ||
---|---|---|---|---|
0
nacinayu1c
28.07.11
✎
20:56
|
документ.ЗаказНаряд
есть две таблицы 1. работы 2. испонители 1.-работа -/-сумма 2. исполнитель -/- процентучастия организация работает за наличный и без наличный расчет программа внутренняя за наличный расчет исполнителю отходит 35% от суммы работ что проделал именно этот сотрудник а не суммы всего документа за без наличный исполнителю отходит 30% от суммы работ что проделал именно этот сотрудник а не суммы всего документа в в печатной форме заказ наряда нужно вывести Исполнителя и сумму его заработка именно что за то что он проделал для чего процентучастия для того если одну работу делали несколько исполнителей я сделал вот так но это не правильно здесь я получи сумму всех работ а нужно сумма всех работ что делал текущий сотрудник как зделать выборку работ по сотруднику?? ОбластьДопПодвал = Макет.ПолучитьОбласть("ДопПодвал"); Масиврабочих = Исполнители.Выгрузить(); Масиврабочих.Свернуть("Исполнитель,Процент"); Для каждого Исполнитель Из Масиврабочих Цикл ОбластьДопПодвал.Параметры.Раб = Исполнитель.Исполнитель; Сумм = ИтогоСуммаРабот; //сумм = запрос Проц = Сумм *(Исполнитель.Процент/100); Если ПризнакНалички = 1 Тогда БазоваяСумма = "35"; Иначе БазоваяСумма = "30"; Конецесли; ОбластьДопПодвал.Параметры.КарманРаба = Проц*(БазоваяСумма/100); ТабДокумент.Вывести(ОбластьДопПодвал); КонецЦикла; поможете??? |
|||
1
nacinayu1c
28.07.11
✎
21:01
|
Проц = Сумм *(Исполнитель.Процент/100);
проц - это сумма после умножения суммы работ проделанных исполнителем на процент участия в работах сумм - должно быть суммавсех работ что делал конкретный исполнитель (сейчас сумма всех работа то есть всего документа Исполнитель.Процент - это процент участия исполнителя |
|||
2
nacinayu1c
28.07.11
✎
21:04
|
мне поможет кто?? или опять не понятно написал???
|
|||
3
nacinayu1c
28.07.11
✎
21:09
|
Конструктором запроса пользоваться не умею да и сам запрос не напишу помогите а
|
|||
4
nacinayu1c
28.07.11
✎
21:11
|
что на форуме нет ни кого??
|
|||
5
nacinayu1c
28.07.11
✎
21:16
|
вот блин уже написал вроде доступно все равно молчат
|
|||
6
nacinayu1c
28.07.11
✎
21:18
|
пробую конструктором пользоваться так будет правильно??
ВЫБРАТЬ ЗаказНарядИсполнители.Исполнитель, ЗаказНарядИсполнители.Процент, ЗаказНарядРаботы.Работа, ЗаказНарядРаботы.Сумма ИЗ Документ.ЗаказНаряд.Исполнители КАК ЗаказНарядИсполнители ПОЛНОЕ СОЕДИНЕНИЕ Документ.ЗаказНаряд.Работы КАК ЗаказНарядРаботы ПО ЗаказНарядИсполнители.Исполнитель = ЗаказНарядРаботы.Работа |
|||
7
nacinayu1c
28.07.11
✎
21:20
|
или так правильно ??
"ВЫБРАТЬ | ЗаказНарядИсполнители.Исполнитель КАК Исполнитель, | ЗаказНарядИсполнители.Процент КАК Процент, | ЗаказНарядРаботы.Работа КАК Работа, | ЗаказНарядРаботы.Сумма КАК Сумма |ИЗ | Документ.ЗаказНаряд.Исполнители КАК ЗаказНарядИсполнители | ПОЛНОЕ СОЕДИНЕНИЕ Документ.ЗаказНаряд.Работы КАК ЗаказНарядРаботы | ПО ЗаказНарядИсполнители.Исполнитель = ЗаказНарядРаботы.Работа | |УПОРЯДОЧИТЬ ПО | Исполнитель, | Процент, | Работа, | Сумма |ИТОГИ ПО | Сумма" |
|||
8
nacinayu1c
28.07.11
✎
21:27
|
(6) B (7) НЕ КАТИТ
|
|||
9
nacinayu1c
28.07.11
✎
21:34
|
я не понимаю куда все делись?
|
|||
10
Rie
28.07.11
✎
21:45
|
(7) И что должно означать ИТОГО ПО Сумма?
И каков смысл соединять Исполнитель и Работа? Это разве одно и то же? |
|||
11
nacinayu1c
28.07.11
✎
21:47
|
(10) и это я побывал создать запрос чтоб сделать выборку
я не умею пользоваться конструктором запросов да и не знаю как написать помоги плизззззззз |
|||
12
nacinayu1c
28.07.11
✎
21:50
|
да что такое
|
|||
13
Rie
28.07.11
✎
21:50
|
(11) Давай ещё раз попробуй. Есть две табличных части - Исполнители и Работы. Чтобы их соединять - нужно некоторое общее значение. То есть, исполнителя из Исполнители соединить с исполнителем из Работы (если такие есть). Или работу из Исполнители с работой из Работы (если такие есть).
|
|||
14
nacinayu1c
28.07.11
✎
21:51
|
(13) блин не чего не понял емае пол дня просидел на форуме
|
|||
15
nacinayu1c
28.07.11
✎
21:51
|
у меня уже голова не варит а сделать нужно
|
|||
16
Rie
28.07.11
✎
21:51
|
(12) Не торопись, а то успеешь.
Понятно, что тебе срочно надо - но это не означает, что все остальные должны всё бросить (кстати, рабочий день уже закончился, так что ты хочешь заставить работать на тебя во внеурочное время) и кидаться писать тебе запрос. |
|||
17
Rie
28.07.11
✎
21:52
|
(15) Делай, раз нужно.
Не суетись, а хотя бы напиши - какие реквизиты у этих табличных частей имеются. |
|||
18
nacinayu1c
28.07.11
✎
21:52
|
соединить с исполнителем из Работы
но веть в тал части работа не реквизита исполнитель |
|||
19
nacinayu1c
28.07.11
✎
21:53
|
ок секу
|
|||
20
Alexey87
28.07.11
✎
21:54
|
(0) Альфа-Авто?
|
|||
21
nacinayu1c
28.07.11
✎
21:56
|
табл часть работа
номерстроки,код,работы,количество,нормачас,нормавремени,цена,сумма,%скидки,скидка,всего,%НДС,НДС,идентификатор строки работы табл цасть исполнители исполнитель,%участия,Цех,идентификатор строки исполнителя |
|||
22
nacinayu1c
28.07.11
✎
21:56
|
(20) да
|
|||
23
Rie
28.07.11
✎
21:59
|
(21) Судя по всему, по идентификаторам строк и надо связывать.
|
|||
24
Alexey87
28.07.11
✎
22:00
|
(22)там есть регистр "Выработка исполнителей", туда падает вся выработка по заказ-наряду в зависимости от процента участия в каждой из работ. Сгруппируй по исполнителю, получи по нему количество нормо-часов и сумму выработки - не знаю, что именно тебе надо. В заказ-наряде есть реквизит ВидОплаты, в зависимости от него, как я понял, и находи в самом запросе процент от этой суммы. Все
|
|||
25
nacinayu1c
28.07.11
✎
22:03
|
(24) можешь подробней честно сказать на ВидОплаты не обращал внимаия помоги мне плиззз не получится у меня потому что я просто на просто не умею писать запросу
|
|||
26
nacinayu1c
28.07.11
✎
22:09
|
так? что то мне кажется что нет
"ВЫБРАТЬ | ВыработкаСотрудников.Сотрудник, | ВыработкаСотрудников.Количество, | ВыработкаСотрудников.СуммаУпр КАК СуммаУпр, | ВыработкаСотрудников.СуммаУпрСоСкидкой |ИЗ | РегистрНакопления.ВыработкаСотрудников КАК ВыработкаСотрудников | |СГРУППИРОВАТЬ ПО | ВыработкаСотрудников.Сотрудник, | ВыработкаСотрудников.Количество, | ВыработкаСотрудников.СуммаУпр, | ВыработкаСотрудников.СуммаУпрСоСкидкой |ИТОГИ ПО | СуммаУпр" |
|||
27
nacinayu1c
28.07.11
✎
22:12
|
опять затишье
|
|||
28
nacinayu1c
28.07.11
✎
22:14
|
ошибка чтения значения не работает мой запрос
|
|||
29
Alexey87
28.07.11
✎
22:15
|
в (26) полная чушь, читай ЖКК, в (24) все написано
|
|||
30
nacinayu1c
28.07.11
✎
22:16
|
(29) ну помаги мне
|
|||
31
nacinayu1c
28.07.11
✎
22:17
|
или дай ссылку на описание работы с конструктором запросов или ссулку на пример
|
|||
32
nacinayu1c
28.07.11
✎
22:22
|
"ВЫБРАТЬ
| ВыработкаСотрудников.СуммаУпр |ИЗ | РегистрНакопления.ВыработкаСотрудников КАК ВыработкаСотрудников" уже теплее??? |
|||
33
nacinayu1c
28.07.11
✎
22:22
|
или тоже не правильно??
|
|||
34
nacinayu1c
28.07.11
✎
22:24
|
(29) как мне просто из этого регистра получить сумму работ этого сотрудника???
|
|||
35
Mashinist
28.07.11
✎
22:31
|
т.к. нужно при печати, то если документ не проведен в регистрах ничего не найдешь
Связать две табличные части Работ и Исполнителей можно по реквизиту ИдентификаторРаботы, который есть в обеих ТЧ т.к. может быть связь один ко многим Так что ничего особо сложного нет даже если написать в стиле 7.7 |
|||
36
nacinayu1c
28.07.11
✎
22:39
|
(35) ИдентификаторРаботы он ведь только у тал части работа
|
|||
37
nacinayu1c
28.07.11
✎
22:42
|
ТекстЗапроса ="
| ВЫБРАТЬ | ВыработкаСотрудников.СуммаУпр |ИЗ | РегистрНакопления.ВыработкаСотрудников КАК ВыработкаСотрудников |ГДЕ | ВыработкаСотрудников.Сотрудник = &Сотрудник"; Запрос = Новый Запрос(); Запрос.Текст = ТекстЗапроса; Выборка = Запрос.Выполнить().Выбрать(); ОбластьДопПодвал = Макет.ПолучитьОбласть("ДопПодвал"); Масиврабочих = Исполнители.Выгрузить(); Масиврабочих.Свернуть("Исполнитель,Процент"); Для каждого Исполнитель Из Масиврабочих Цикл ОбластьДопПодвал.Параметры.Раб = Исполнитель.Исполнитель; Сумм = ИтогоСуммаРабот; //сумм = запрос Проц = Сумм *(Исполнитель.Процент/100); Если ПризнакНалички = 1 Тогда БазоваяСумма = "35"; Иначе БазоваяСумма = "30"; Конецесли; ОбластьДопПодвал.Параметры.КарманРаба = Проц*(БазоваяСумма/100); ТабДокумент.Вывести(ОбластьДопПодвал); КонецЦикла; чегото у меня ошибка При печати Заказ-наряд А000000006 от 27.06.2011 23:43:13 обнаружены ошибки : Обработчик печатной формы Заказ-наряд: {Документ.ЗаказНаряд(4625)}: Ошибка при вызове метода контекста (Выполнить): {(7, 35)}: Не задано значение параметра "Сотрудник" ВыработкаСотрудников.Сотрудник = <<?>>&Сотрудник |
|||
38
Mashinist
28.07.11
✎
22:43
|
(36)нет
Он и у ТЧ Исполнители тоже |
|||
39
nacinayu1c
28.07.11
✎
22:43
|
или я опять запрос не правильно написал??
|
|||
40
nacinayu1c
28.07.11
✎
22:44
|
Идентификатор строки работы тч исполнитель
Идентификатор строки работы тч работа точно есть так как мне получить сумму работ этого сотра |
|||
41
Mashinist
28.07.11
✎
22:46
|
(37) А чего удивляться?
Не задано значение параметра "Сотрудник" Запрос.УстановитьПараметр(...) где? Вы вообще давно 8-ку увидели? (40) Странно Вроде все растолковал У меня есть подозрение, что Вы не программист |
|||
42
nacinayu1c
28.07.11
✎
22:47
|
да я с8 не дружу но и с 7 плохо только учусь
|
|||
43
nacinayu1c
28.07.11
✎
22:47
|
(41) помогите мне
|
|||
44
nacinayu1c
28.07.11
✎
22:49
|
ВЫБРАТЬ
ЗаказНарядРаботы.ИдентификаторРаботы, ЗаказНарядИсполнители.ИдентификаторРаботы КАК ИдентификаторРаботы1 ИЗ Документ.ЗаказНаряд.Работы КАК ЗаказНарядРаботы ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказНаряд.Исполнители КАК ЗаказНарядИсполнители ПО ЗаказНарядРаботы.ИдентификаторРаботы = ЗаказНарядИсполнители.ИдентификаторРаботы что то опять не так получилось |
|||
45
Mashinist
28.07.11
✎
22:51
|
(43)Писать код сейчас некогда. Бабло зарабатывать надо
(44) Левое соединение надо |
|||
46
nacinayu1c
28.07.11
✎
22:52
|
ВЫБРАТЬ
ЗаказНарядРаботы.ИдентификаторРаботы, ЗаказНарядИсполнители.ИдентификаторРаботы КАК ИдентификаторРаботы1 ИЗ Документ.ЗаказНаряд.Работы КАК ЗаказНарядРаботы ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаряд.Исполнители КАК ЗаказНарядИсполнители ПО ЗаказНарядРаботы.Работа = ЗаказНарядИсполнители.Исполнитель так?? или опять не то?? |
|||
47
nacinayu1c
28.07.11
✎
22:53
|
дайте ссылку по описанию языка работы с запросами
|
|||
48
nacinayu1c
28.07.11
✎
22:57
|
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ | ЗаказНарядРаботы.ИдентификаторРаботы, | ЗаказНарядИсполнители.ИдентификаторРаботы КАК ИдентификаторРаботы1 |ИЗ | Документ.ЗаказНаряд.Работы КАК ЗаказНарядРаботы | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаряд.Исполнители КАК ЗаказНарядИсполнители | ПО ЗаказНарядРаботы.Работа = ЗаказНарядИсполнители.Исполнитель"; Запрос.УстановитьПараметр("ЗаказНаряд",Ссылка); Выборка=Запрос.Выполнить().Выбрать(); |
|||
49
nacinayu1c
28.07.11
✎
22:58
|
так правильно???
|
|||
50
nacinayu1c
28.07.11
✎
23:08
|
помоги плиз (45)
|
|||
51
nacinayu1c
28.07.11
✎
23:09
|
как получить переменную "Исполнитель??"
|
|||
52
Mashinist
28.07.11
✎
23:11
|
(50) чем помочь?
Написать готовый код? На выходных готов за скромное вознаграждения На уровне идей я тебе уже все рассказал Запросом для тебя будет явно сложно. Похоже ты вообще не понимаешь, что должен запрос возвращать Какую ты таблицу хочешь увидеть в результате запроса? |
|||
53
nacinayu1c
28.07.11
✎
23:13
|
я хочу в результате запроса увидеть сумму из тч работа
|
|||
54
nacinayu1c
28.07.11
✎
23:13
|
ну помагите вам же это дело 5ти минут вы же знаете как это сделать
|
|||
55
Mashinist
28.07.11
✎
23:14
|
Вот тебе готовый запрос
ВЫБРАТЬ ЗаказНарядИсполнители.Процент, ЗаказНарядРаботы.Работа, ЗаказНарядРаботы.СуммаВсего, ЗаказНарядИсполнители.Исполнитель, ЗаказНарядРаботы.СуммаВсего * ЗаказНарядИсполнители.Процент / 100 КАК СуммаИсполнителя ИЗ Документ.ЗаказНаряд.Исполнители КАК ЗаказНарядИсполнители ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаряд.Работы КАК ЗаказНарядРаботы ПО (ЗаказНарядРаботы.ИдентификаторРаботы = ЗаказНарядИсполнители.ИдентификаторРаботы) ГДЕ ЗаказНарядИсполнители.Ссылка = &Ссылка не только сумму из ТЧ работы увидишь, но еще и сумму исполнителя согласно его % участия Останется только перебрать результаты запроса |
|||
56
Mashinist
28.07.11
✎
23:15
|
ну и взять твой % в зависимости от нал/безнал
|
|||
57
Mashinist
28.07.11
✎
23:16
|
хотя... вообще все в запрос можно вставить...
|
|||
58
nacinayu1c
28.07.11
✎
23:17
|
ок спасибо льшое
|
|||
59
nacinayu1c
28.07.11
✎
23:22
|
Запрос.УстановитьПараметр("?",?);
что под вопросами вставить?? |
|||
60
Либерал
28.07.11
✎
23:24
|
вот ты зануда
почитай уже что то сам |
|||
61
nacinayu1c
28.07.11
✎
23:26
|
так правильно будет?
Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ |ЗаказНарядИсполнители.Процент, |ЗаказНарядРаботы.Работа, |ЗаказНарядРаботы.СуммаВсего, |ЗаказНарядИсполнители.Исполнитель, |ЗаказНарядРаботы.СуммаВсего * ЗаказНарядИсполнители.Процент / 100 КАК СуммаИсполнителя |ИЗ |Документ.ЗаказНаряд.Исполнители КАК ЗаказНарядИсполнители |ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаряд.Работы КАК ЗаказНарядРаботы |ПО (ЗаказНарядРаботы.ИдентификаторРаботы = ЗаказНарядИсполнители.ИдентификаторРаботы) |ГДЕ |ЗаказНарядИсполнители.Ссылка = &Ссылка"; Запрос.УстановитьПараметр("Исполнители",Ссылка); Выборка=Запрос.Выполнить().Выбрать(); |
|||
62
nacinayu1c
28.07.11
✎
23:31
|
При печати Заказ-наряд А000000006 от 27.06.2011 23:43:13 обнаружены ошибки :
Обработчик печатной формы Заказ-наряд: {Документ.ЗаказНаряд(4624)}: Ошибка при вызове метода контекста (Выполнить): {(12, 32)}: Не задано значение параметра "Ссылка" ЗаказНарядИсполнители.Ссылка = <<?>>&Ссылка |
|||
63
nacinayu1c
28.07.11
✎
23:33
|
блин да что такое
|
|||
64
nacinayu1c
28.07.11
✎
23:34
|
последний раз и все и я отстану
|
|||
65
nacinayu1c
28.07.11
✎
23:39
|
аук ну дайте ссылку на описание языка запросов
|
|||
66
nacinayu1c
28.07.11
✎
23:43
|
все сам доделал спасибо все м
Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ |ЗаказНарядИсполнители.Процент, |ЗаказНарядРаботы.Работа, |ЗаказНарядРаботы.СуммаВсего, |ЗаказНарядИсполнители.Исполнитель, |ЗаказНарядРаботы.СуммаВсего * ЗаказНарядИсполнители.Процент / 100 КАК СуммаИсполнителя |ИЗ |Документ.ЗаказНаряд.Исполнители КАК ЗаказНарядИсполнители |ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаряд.Работы КАК ЗаказНарядРаботы |ПО (ЗаказНарядРаботы.ИдентификаторРаботы = ЗаказНарядИсполнители.ИдентификаторРаботы) |ГДЕ |ЗаказНарядИсполнители.Ссылка = &Исполнитель"; Запрос.УстановитьПараметр("исполнитель",Ссылка); Выборка=Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() цикл Ис = выборка.СуммаИсполнителя; конецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |