![]() |
![]() |
![]() |
|
не выдает остатки | ☑ | ||
---|---|---|---|---|
0
gsn
15.02.12
✎
10:27
|
Привет всем
я пишу свою конфигурацию в 1с 8.2 и у меня есть РегистрыНакопления под названием ВзаиморасчетыСПокупателями остаток у него есть измерения: Контрагент и ДоговораКонтрагентов ресурсы: сумма в которой записывается при приходе его долг , при расходе его выплату я написал свою процедуру &НаСервере Функция ДолгПокупателя(Дата, Контрагент, ДоговораКонтрагентов) //Возвращает общее количество номенклатуры Фильтр = Новый Структура(); Фильтр.Вставить("Контрагент", Контрагент); Фильтр.Вставить("ДоговораКонтрагентов", ДоговораКонтрагентов); ТекущийОстаток= РегистрыНакопления.ВзаиморасчетыСПокупателями.Остатки(Дата, Фильтр, "Контрагент, ДоговораКонтрагентов", "Сумма"); Возврат ТекущийОстаток.Итог("Сумма"); КонецФункции и он возражает почему то 0 всегда в чем может быть причина ? |
|||
1
depthzer0
15.02.12
✎
10:28
|
лучше запросом
|
|||
2
depthzer0
15.02.12
✎
10:30
|
если сам регистр открыть в предприятии и сделать отбор по этому контрагенту с договором, то есть записи?
|
|||
3
Wobland
15.02.12
✎
10:30
|
ДоговораКонтрагентов - это что-то многочисленное? как Остатки() на такое среагируют?
|
|||
4
gsn
15.02.12
✎
10:34
|
(1) как именно запросом ?
(2) записи есть |
|||
5
Fish
гуру
15.02.12
✎
10:37
|
(4) Запрос = Новый Запрос;
Запрос.Текст = "......"; Выборка = Запрос.Выполнить().Выбрать(); Как-то так :))) |
|||
6
Ненавижу 1С
гуру
15.02.12
✎
10:38
|
(4) обычным запросом
|
|||
7
gsn
15.02.12
✎
10:43
|
вот что мне конструктор выдал
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВзаиморасчетыСПокупателямиОстатки.Контрагент, | ВзаиморасчетыСПокупателямиОстатки.ДоговораКонтрагентов, | ВзаиморасчетыСПокупателямиОстатки.СуммаОстаток |ИЗ | РегистрНакопления.ВзаиморасчетыСПокупателями.Остатки КАК ВзаиморасчетыСПокупателямиОстатки |ГДЕ | ВзаиморасчетыСПокупателямиОстатки.Контрагент = &Контрагент | И ВзаиморасчетыСПокупателямиОстатки.ДоговораКонтрагентов = &ДоговораКонтрагентов | |СГРУППИРОВАТЬ ПО | ВзаиморасчетыСПокупателямиОстатки.Контрагент, | ВзаиморасчетыСПокупателямиОстатки.ДоговораКонтрагентов, | ВзаиморасчетыСПокупателямиОстатки.СуммаОстаток"; Запрос.УстановитьПараметр("ДоговораКонтрагентов", ДоговораКонтрагентов); Запрос.УстановитьПараметр("Контрагент", Контрагент); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл // Вставить обработку выборки ВыборкаДетальныеЗаписи КонецЦикла; //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА что мне надо здесь добавить , что бы у мня работало ? |
|||
8
Ненавижу 1С
гуру
15.02.12
✎
10:47
|
дарю:
&НаСервере Функция ДолгПокупателя(Дата, Контрагент, ДоговораКонтрагентов) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СУММА(ВзаиморасчетыСПокупателямиОстатки.СуммаОстаток) КАК СуммаОстаток |ИЗ | РегистрНакопления.ВзаиморасчетыСПокупателями.Остатки(&Дата, Контрагент = &Контрагент и ДоговораКонтрагентов = &ДоговораКонтрагентов) КАК ВзаиморасчетыСПокупателямиОстатки"; Запрос.УстановитьПараметр("ДоговораКонтрагентов", ДоговораКонтрагентов); Запрос.УстановитьПараметр("Контрагент", Контрагент); Запрос.УстановитьПараметр("Дата", Дата); Возврат Запрос.Выполнить().Выгрузить()[0].СуммаОстаток; КонецФункции |
|||
9
hhhh
15.02.12
✎
10:47
|
(7) тебе от количества строк платят, что ли?
Запрос.Текст = "ВЫБРАТЬ | ВзаиморасчетыСПокупателямиОстатки.Контрагент, | ВзаиморасчетыСПокупателямиОстатки.ДоговораКонтрагентов, | ВзаиморасчетыСПокупателямиОстатки.СуммаОстаток |ИЗ | РегистрНакопления.ВзаиморасчетыСПокупателями.Остатки(, Контрагент = &Контрагент И ДоговораКонтрагентов = &ДоговораКонтрагентов) КАК ВзаиморасчетыСПокупателямиОстатки | "; |
|||
10
Wobland
15.02.12
✎
10:48
|
щас опять 0 выдаст
|
|||
11
hhhh
15.02.12
✎
10:49
|
(8) опередил. Только лучше без СУММА()
ВзаиморасчетыСПокупателямиОстатки.СуммаОстаток КАК СуммаОстаток |
|||
12
depthzer0
15.02.12
✎
10:49
|
(9) ему сумма нужна, как в (8)
(8) Выборка = Запрос.Выполнить().Выбрать(); Возврат ?(Выборка.Следующий(), Выборка.СуммаОстаток, 0); |
|||
13
Wobland
15.02.12
✎
10:50
|
(12) остатки всегда что-нибудь да дадут
|
|||
14
Ненавижу 1С
гуру
15.02.12
✎
10:50
|
(11) согласен
|
|||
15
Ненавижу 1С
гуру
15.02.12
✎
10:51
|
(11) хотя нет - без "сумма()" может быть пустая выборка
|
|||
16
НЕА123
15.02.12
✎
10:55
|
лучше СУММА. может еще измерения какие еще есть.
|
|||
17
Ненавижу 1С
гуру
15.02.12
✎
10:55
|
(16) про измерения ты мимо - оно сворачивает их. ВСЕГДА
|
|||
18
gsn
15.02.12
✎
10:56
|
так же 0 выводит
|
|||
19
Ненавижу 1С
гуру
15.02.12
✎
10:57
|
(18) не повезло значит тебе
|
|||
20
Wobland
15.02.12
✎
10:57
|
(18) а я говорил :-Р
|
|||
21
Ненавижу 1С
гуру
15.02.12
✎
10:58
|
(0) наверное рано тебе свои конфигурации писать
|
|||
22
НЕА123
15.02.12
✎
10:58
|
(17)
хм. не знал. но если по по глупости добавить поле измеренияЭн. |
|||
23
НЕА123
15.02.12
✎
11:00
|
почему ТС проигнорировал (3)?
|
|||
24
Ненавижу 1С
гуру
15.02.12
✎
11:02
|
может ТС в параметры пихает не ссылки, а объекты, может вообще строки, может движений все таки нет, все может быть - гадания на кофейных остатках ))
|
|||
25
Fish
гуру
15.02.12
✎
11:05
|
Вообще, в последнее время наблюдается странная тенденция: Появляются ветки с вопросами явных новичков типа "а как запросом", "как посчитать расход краски", и т.п. Смотришь стаж ТС - 5-7 лет. Объясните, как такое может быть? Или здесь идёт активная торговля аккаунтами с полосочкой 22 см? :))))
|
|||
26
gsn
15.02.12
✎
11:09
|
(25) на личности не надо переходить
просто я уже не сколько лет на 1с не сидел а формально сайт стаж считает стаж не показатель !!! |
|||
27
Fish
гуру
15.02.12
✎
11:15
|
(26) А где в (25) переход на личности? Просто меня удивляет, когда человек, сидящий на этом форуме 5-7 лет, задаёт такие вопросы. А в слове "новичок", имхо ничего обидного нету. :)))
Я могу понять, когда у человека был перерыв, и он всё позабыл. (хотя лично мне не понятно, как можно забыть основы) :))) Но дело в том, как я уже сказал, это не единичный случай, а в последнее время таких веток всё больше и больше. |
|||
28
depthzer0
15.02.12
✎
11:20
|
(13) ну да ))
(18) что-то с параметрами не то |
|||
29
Wobland
15.02.12
✎
11:21
|
(25) вчера девушка жаловалась, какая хорошая миста, какие все добрые и отзывчивые, всегда помогут (без сарказма). хотя у самой стажу лет 5 и одна вчерашняя тема. старый пароль вспомнила?
|
|||
30
Fish
гуру
15.02.12
✎
11:25
|
(29) Так вот это и не понятно. Ладно бы один-два случая. Это еще можно понять: забыл пароль, давно не заходил. Но когда это происходит массово? может на форуме даты регистрации слетели? Но тогда почему не у всех? :))))
|
|||
31
Fish
гуру
15.02.12
✎
11:27
|
+(30) Это случаем не та, у которой я, между прочим, спросил "почём нынче аккаунты", и получил ответ в грубой форме, причём потом моё сообщение потёрли? Наводит на размышления однако :)))
|
|||
32
Wobland
15.02.12
✎
11:31
|
(31) не. та добрая, милая, симпатичная и топлесс
|
|||
33
Fish
гуру
15.02.12
✎
11:38
|
(32) Когда добрая, милая, да еще и топлесс, почему-то хочется помочь, даже не смотря на большой стаж на форуме и глупые вопросы :)))
|
|||
34
palpetrovich
15.02.12
✎
11:41
|
(25) а еще "ишу свою конфигурацию" :))
(32) интриган :) |
|||
35
Wobland
15.02.12
✎
11:45
|
кстати, да. не припомню девушку с фото (пусть даже не сразу), чтоб некрасивая была или хамила как-то (без фото - пожалста). вывод: желание помочь коррелирует с красотой девушки, пусть даже не заявленной в начале ;)
(34) имя не проси ;) |
|||
36
palpetrovich
15.02.12
✎
11:46
|
(35) имя не надо, хватит ника ;)
|
|||
37
Fish
гуру
15.02.12
✎
11:48
|
(36) Mayflower :)))
|
|||
38
Aprobator
15.02.12
✎
11:53
|
(0) ну ка типы значений Контрагент и ДоговораКонтрагентов в студию.
|
|||
39
gsn
15.02.12
✎
11:57
|
спасибо всем
у меня заработало таким образом Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВзаиморасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток, | ВзаиморасчетыСПокупателямиОстаткиИОбороты.Контрагент, | ВзаиморасчетыСПокупателямиОстаткиИОбороты.ДоговораКонтрагентов |ИЗ | РегистрНакопления.ВзаиморасчетыСПокупателями.ОстаткиИОбороты КАК ВзаиморасчетыСПокупателямиОстаткиИОбороты |ГДЕ | ВзаиморасчетыСПокупателямиОстаткиИОбороты.Контрагент = &Контрагент | И ВзаиморасчетыСПокупателямиОстаткиИОбороты.ДоговораКонтрагентов = &ДоговораКонтрагентов | |СГРУППИРОВАТЬ ПО | ВзаиморасчетыСПокупателямиОстаткиИОбороты.Контрагент, | ВзаиморасчетыСПокупателямиОстаткиИОбороты.ДоговораКонтрагентов, | ВзаиморасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток |ИТОГИ ПО | СуммаКонечныйОстаток"; Запрос.УстановитьПараметр("ДоговораКонтрагентов", ДоговораКонтрагентов); Запрос.УстановитьПараметр("Контрагент", Контрагент); Результат = Запрос.Выполнить(); Возврат Запрос.Выполнить().Выгрузить()[0].СуммаКонечныйОстаток; |
|||
40
gsn
15.02.12
✎
11:58
|
тема закрыта
|
|||
41
Ненавижу 1С
гуру
15.02.12
✎
11:58
|
(39) запрос воняет
|
|||
42
gsn
15.02.12
✎
12:01
|
(41)
если есть предложение по оптимизации кода , то я всегда рад услышать чужое мнение |
|||
43
depthzer0
15.02.12
✎
12:01
|
(40)
это то же самое, что в (8) только без даты и в разы неэффективнее. будет сильно тормозить. |
|||
44
Aprobator
15.02.12
✎
12:03
|
+(41) и, судя по запросу, косяк был в (0) с датой на которую строились остатки.
(42) в запросе даже тупо нет даты, на которую отбираются остатки. |
|||
45
Fish
гуру
15.02.12
✎
12:03
|
(42) Если Результат будет пустой, то на Возврат Запрос.Выполнить().Выгрузить()[0].СуммаКонечныйОстаток; - будет ругаться :))))
|
|||
46
hhhh
15.02.12
✎
12:04
|
(33) да, а потом случайно откроешь какой-нибудь freelance.ru и там эта дама в первом десятке по рейтингу.
|
|||
47
ssh2006
15.02.12
✎
12:11
|
(42) переделай запрос, он никакой
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |