|
Вот теперь еще одна проблема по выбору документов | ☑ | ||
---|---|---|---|---|
0
alonesl
15.11.13
✎
13:21
|
Здравствуйте, уважаемые Мастера и Гуру!
Зарплата и Управление Персоналом, редакция 2.5 (2.5.69.3) 1С:Предприятие 8.2 (8.2.18.61) Необходимо выбрать документы "ОтпускаОрганизации" за определенный период с группировкой по сотрудникам организаций, т.к.отпусков в месяце у каждого по несколько штук. Начал конструктором запросов как советовали, но увы, "то ли лыжи не едут, то ли..." Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОтпускаОрганизаций.Ссылка |ИЗ | Документ.ОтпускаОрганизаций КАК ОтпускаОрганизаций |ГДЕ | ОтпускаОрганизаций.РаботникиОрганизации.ДатаНачала = &ДатаНачала | И ОтпускаОрганизаций.РаботникиОрганизации.ДатаОкончания = &ДатаОкончания"; Запрос.УстановитьПараметр("ДатаНачала", ДатаНач); Запрос.УстановитьПараметр("ДатаОкончания", ДатаКон); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Сообщить("!!!"); КонецЦикла; Не выбирает вообще ничего! |
|||
1
Господин ПЖ
15.11.13
✎
13:23
|
ОтпускаОрганизаций.РаботникиОрганизации.ДатаНачала = &ДатаНачала
| И ОтпускаОрганизаций.РаботникиОрганизации.ДатаОкончания = &ДатаОкончания"; гламурненько |
|||
2
IamAlexy
15.11.13
✎
13:23
|
почему ты даты сравниваешь на равенство ?
у тебя в отчет "за октябрь" попадут тогда строго те у кого отпуск начинается строго первого октября а заканчивается строго 31 октября |
|||
3
George Wheels
15.11.13
✎
13:24
|
А отпуск черный или белый?
|
|||
4
skunk
15.11.13
✎
13:24
|
нефиха не понял ...но думаю
косяк тут
|
|||
5
alonesl
15.11.13
✎
13:24
|
(2) Моп ёкарный бабай!!! Ну конечно!!!!
|
|||
6
User_Agronom
15.11.13
✎
13:25
|
(0) С лыжами всё в порядке похоже
(2) Там и время ещё есть. |
|||
7
Любопытная
15.11.13
✎
13:25
|
ОтпускаОрганизаций.РаботникиОрганизации.ДатаНачала = &ДатаНачала
| И ОтпускаОрганизаций.РаботникиОрганизации.ДатаОкончания = &ДатаОкончания это просто чудесно |
|||
8
Wobland
15.11.13
✎
13:26
|
это называется отпуск-невидимка
|
|||
9
alonesl
15.11.13
✎
13:26
|
Ну точно!!! Ох, блин, совсем лыжи у меня не едут!!! :)) Спасибо огромное Вам всем!!!
|
|||
10
alonesl
15.11.13
✎
14:00
|
Вот еще усложение: В цикле Пока ВыборкаДетальныеЗаписи.Следующий() получаю непосредственно документ. Вчера прекрасно получал значение из документа (правда, он был в элементе на форме) методом "Сумма = ДокОтпуска.Начисления[0].Результат; А сейчас пишет что "Нет такого поля."
Сейчас выглядит так: ВыборкаДетальныеЗаписи.Начисления[0].Результат; или так: ВыборкаДетальныеЗаписи.Ссылка.Начисления[0].Результат; Говорит что нет такого поля :( |
|||
11
Wobland
15.11.13
✎
14:04
|
я уверен, что эта выборка не рассчитана на запрос из (0)
|
|||
12
Wobland
15.11.13
✎
14:04
|
(11) но не очень
|
|||
13
Пеппи
15.11.13
✎
14:07
|
(11) да да, нужно вернуть выборку на место, туда где ее и взял :)
|
|||
14
Wobland
15.11.13
✎
14:08
|
запроси в запросе сразу всё нужное, чтоб вот так не сношаться
|
|||
15
alonesl
15.11.13
✎
14:17
|
(14)| ОтпускаОрганизаций.Ссылка как Док, ОтпускаОрганизаций.РаботникиОрганизации.Начисления.Результат как Рез не получаетса :((
|
|||
16
alonesl
15.11.13
✎
14:17
|
Второй параметр не сам документ, а табличная чать - мне как то к ней надо подобраться
|
|||
17
Господин ПЖ
15.11.13
✎
14:18
|
(16) разрешаю делать запрос сразу к ТЧ
и буквари читать тоже |
|||
18
Wobland
15.11.13
✎
14:19
|
(15) из документ.тч
|
|||
19
alonesl
15.11.13
✎
14:22
|
(18) не совсем понял..
|
|||
20
Wobland
15.11.13
✎
14:23
|
ИЗ Документ.ОтпускаОрганизаций.Начисления
|
|||
21
alonesl
15.11.13
✎
14:34
|
Ткните меня мордой, ибо уже пипец:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОтпускаОрганизаций.Ссылка |ИЗ | Документ.ОтпускаОрганизаций КАК ОтпускаОрганизаций, Документ.ОтпускаОрганизаций.Начисления как Начисление |ГДЕ | ОтпускаОрганизаций.РаботникиОрганизации.ДатаНачала > &ДатаНачала | И ОтпускаОрганизаций.РаботникиОрганизации.ДатаОкончания < &ДатаОкончания"; Запрос.УстановитьПараметр("ДатаНачала", ДатаНач); Запрос.УстановитьПараметр("ДатаОкончания", ДатаКон); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Сообщить(ВыборкаДетальныеЗаписи); Мля, я немогу уже больше!!! |
|||
22
alonesl
15.11.13
✎
14:36
|
Блях, если в 7.Х это все интуитивно понятно где и откуда какие агрегаты тащить - тут вообще пипейц какой-то! Сраный перебор документов сделать немогу!!!
|
|||
23
kosts
15.11.13
✎
14:40
|
(22) Ходить, наверное, тоже с рождения умел?
|
|||
24
alonesl
15.11.13
✎
14:42
|
Я на нетиповых 7, 7.5 и 7.7 13 лет писал, и с нуля, и хоть "крестики нолики" напишу, а тут - прям задница какая-то! Навесили на меня эту ЗП 8.2- вот теперь и вешаюсь. Нет бы время было, посидеть, букварь покурить - а тут как всегда "еще вчера надо, ты же программист!" :((
|
|||
25
kosts
15.11.13
✎
14:44
|
Не надо как-то так, в отбор попадут доки, даже если только один день попадет на выбранный период.
|
|||
26
alonesl
15.11.13
✎
14:44
|
Еще до кучки "Документооборот" и "Управление автотранспортом" в коробках стоит - тоже все срочно надо впендрять, а я их в глаза не видел...
|
|||
27
Infsams654
15.11.13
✎
14:45
|
(22) Блях, в 8.Х это все интуитивно понятно, а вот в 7.Х - блях не разберусь.
И это на самом деле так |
|||
28
kosts
15.11.13
✎
14:45
|
В консоли делаешь?
|
|||
29
alonesl
15.11.13
✎
14:46
|
не, я ее даже запустить несмог (краснею и стесняюсь)
Открыл из меню "Текст - конструктор запроса с обработкой результата" |
|||
30
kosts
15.11.13
✎
14:47
|
(29) Скачай консоль запросов. Отлаживай запрос там. Выборка дело второе
|
|||
31
alonesl
15.11.13
✎
14:49
|
(30) С помощью кнопки 2 (Выполнить запрос) можно сразу же посмотреть результат выполнения запроса специальной панели результатов. Если эта панель уже открыта, результат обновляется.
Нужно заметить, что кнопки 2 и 3 видны только в том случае, когда конструктор открывается в пользовательском режиме. Что значит "ПОЛЬЗОВАТЕЛЬСКИЙ РЕЖИМ"!? http://1cexpo.ru/obuchenie-1s-predpriyatie/23-prakticheskoe-ispolzovanie-zaprosov-v-1s-8/40-konstruktor-zaprosov-1c.html |
|||
32
kosts
15.11.13
✎
14:51
|
(21) Думаю одну таблицу, тебе нужно убрать. Полное соединение, Этим способом ты умножаешь записи. Оно конечно не говорит, что так нельзя делать, но в твоем случае скорее всего не нужно.
|
|||
33
alonesl
15.11.13
✎
14:51
|
на диске ИТС нашел, консоль запросов, при открытии пишет что "Ошибка при вызове метода контекста(подключить обработчик ожидания)" (30)
|
|||
34
kosts
15.11.13
✎
14:51
|
(33) Какая нибудь старая консоль
|
|||
35
alonesl
15.11.13
✎
14:52
|
с последнего ИТС (34)
|
|||
36
kosts
15.11.13
✎
14:53
|
(31) > Что значит "ПОЛЬЗОВАТЕЛЬСКИЙ РЕЖИМ"!?
Режим выполнения программы (35) Можно подумать универсальные обработки кто-то сильно обновляет... |
|||
37
alonesl
15.11.13
✎
14:57
|
через 2 часа и 4 минуты мне вырвут яйца :(( Эх, вот я на старости лет вперса!!! :((
|
|||
38
kosts
15.11.13
✎
15:02
|
[37] Чем смог...
|
|||
39
alonesl
15.11.13
✎
15:12
|
Уфф... спасибо тебе, Друг!!! Работает!
Каким образом компилятор лезет к значению "Сотрудник" через такое маловразумительное без точек "ОтпускаОрганизацийРаботникиОрганизации" надеюсь, когда нибудь пойму! |
|||
40
alonesl
15.11.13
✎
15:16
|
тока вот сумму нифига опять вытянуть не получаетса, блин!
|
|||
41
kosts
15.11.13
✎
15:19
|
(39) >"ОтпускаОрганизацийРаботникиОрганизации"
Это представление таблицы, можно было написать Таблица1 к примеру... |
|||
42
kosts
15.11.13
✎
15:21
|
(40) Сумму по любому нужно из регистра расчетов тянуть
|
|||
43
alonesl
15.11.13
✎
15:24
|
Если на форму повесить элемент диалога с типом значения ДокументСсылка.НачислениеОтпускаРаботникамОрганизаций под названием "Дока" и Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Дока = ВыборкаДетальныеЗаписи; Сообщить(Дока.Начисления[0].Результат); КонецЦикла; Пишет что индекс за пределами значений Немогу понять - почему вчера у меня именно ДокументИзЭлементаФормы.Начисления[0].Результат срабатывало! |
|||
44
kosts
15.11.13
✎
15:30
|
Отбор по периоду регистрации, в месяц в котором начислили, (оч.часто не совпадает с месяцем в котором человек идет в отпуск).
Так или не так зависит от задачи. Может вообще не нужно было в документ отпуск лезть, а ограничиться начислениями, в котором есть даты периодов отпуска (правда разбитые помесячно).
|
|||
45
kosts
15.11.13
✎
15:31
|
(43) В табличной части нет строки с индексом 0 (т.е. строк вообще нет)
|
|||
46
alonesl
15.11.13
✎
15:35
|
В стандартной обработке "обмен между базами" есть такой код Процедура КнопкаЗагрузитьНажатие(Элемент)
ВыполнитьЗагрузку(ИмяФайлаВыгрузки); КонецПроцедуры Даже отладчик тут не встает, чтоб посмотреть куда она дальше лезет - это почему? И где сама процедура "ВыполнитьЗагрузку" лежит? Где-то в глобальном модуле? |
|||
47
kosts
15.11.13
✎
15:41
|
(46) На сервере наверное выполняется. Отладка на сервер не идет если её не включить. Нажми на процедуре F12, перейдешь к ней.
|
|||
48
КРТЩ
15.11.13
✎
15:47
|
ну я сразу вижу что если
[Необходимо выбрать документы "ОтпускаОрганизации" за определенный период ] то условие |ГДЕ | ОтпускаОрганизаций.РаботникиОрганизации.ДатаНачала >= &ДатаНачала | И ОтпускаОрганизаций.РаботникиОрганизации.ДатаОкончания <= &ДатаОкончания"; как то так сначала |
|||
49
kosts
15.11.13
✎
15:54
|
(48) Сотрудник ушел в отпуск 5-го сентября, пришел в октябре. С таким условием он ни в одном периоде не засветиться...
|
|||
50
КРТЩ
15.11.13
✎
16:03
|
(49) ИЛИ вместо И
и запрос к ТЧ надо делать, а реквизиты шапки дока через ссылку получать |
|||
51
alonesl
15.11.13
✎
16:18
|
Да, по любому к ТЧ, ибо весь запрос можно заменить
Выборка = Документы.ОтпускаОрганизаций.Выбрать(); Пока Выборка.Следующий() Цикл Сообщить(Выборка); КонецЦикла; а вот сумму вытянуть - засада |
|||
52
КРТЩ
25.11.13
✎
13:09
|
(51) а сумма в шапке?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |