|
условие виртуальной таблицы | ☑ | ||
---|---|---|---|---|
0
I_learn_1c
11.12.17
✎
12:20
|
Виртуальная таблица ТоварыВРезервеНаСкладах.Остатки
У нее в качестве документа основания определен СчетНаОплатуПокупателю и другие. Нужно выбирать записи номенклатура-остаток, только те у которых документ-основание счет, и этот счет оплачен Такой запрос по идее должен же работать? (это кусок из большого) ВЫБРАТЬ ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток, ТоварыВРезервеНаСкладахОстатки.Номенклатура КАК Номенклатура ИЗ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Период, ТИПЗНАЧЕНИЯ(ДокументРезерва) = &ТипСчет) КАК ТоварыВРезервеНаСкладахОстатки ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю ПО ТоварыВРезервеНаСкладахОстатки.ДокументРезерва = СчетНаОплатуПокупателю.Ссылка ГДЕ СчетНаОплатуПокупателю.Оплачен = &ИСТИНА этот запрос для набора данных скд, параметр ТипСчет выбрала тип ДокументСсылка.СчетНаОплатуПокупателю и написала в Значение ТипЗнч(&ТипСчет) тут наверно не так нужно? подскажите пожалуйста |
|||
1
mikecool
11.12.17
✎
12:22
|
в условиях виртуалки
ДокументРезерва ссылка документ.Счет должно работать |
|||
2
I_learn_1c
11.12.17
✎
12:29
|
&ИСТИНА это опечатка без амперсанда в запросе.
выдает вообще ошибку Ошибка исполнения отчета по причине: Ошибка получения данных по причине: Ошибка создания набора данных "НаборДанных1" по причине: Ошибка при исполнении запроса набора данных по причине: {(30, 87)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля неограниченной длины и поля несовместимых типов. РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&П, ТИПЗНАЧЕНИЯ(ДокументРезерва) |
|||
3
I_learn_1c
11.12.17
✎
12:32
|
(1) в самом начале так пробовала, что то не пошло.. подумала что с виртуальными так нельзя. сейчас попробую еще, может напутала тогда что-то
|
|||
4
I_learn_1c
11.12.17
✎
12:35
|
Если ДокументРезерва ссылка документ.Счет то пишет ошибку "Ошибка создания набора данных "НаборДанных1"
по причине: Ошибка при исполнении запроса набора данных по причине: {(30, 54)}: Не задано значение параметра "Период" РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(<<?>>&Период, ДокументРезерва ССЫЛКА Документ.СчетНаОплатуПокупателю) КАК ТоварыВРезервеНаСкладахОстатки " Но параметр Период не только там же, вот весь текст запроса ВЫБРАТЬ Товары.Ссылка, Товары.Наименование, Товары.Артикул, ЕСТЬNULL(ОплаченныеСчета.КоличествоОстаток, 0) КАК ОстатокРезерв, ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток, ЕСТЬNULL(ЗначенияТочкиЗаказаСрезПоследних.МинимальныйСтраховойЗапас, 0) КАК МинимальныйЗапас, ЕСТЬNULL(ЗначенияТочкиЗаказаСрезПоследних.МинимальныйСтраховойЗапас, 0) - ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК ДолгОстаток, ЕСТЬNULL(ЗначенияТочкиЗаказаСрезПоследних.МинимальныйСтраховойЗапас, 0) - ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) + ЕСТЬNULL(ОплаченныеСчета.КоличествоОстаток, 0) КАК ИтогоВЗаказ, ВложенныйЗапрос.Значение КАК Производитель ИЗ Справочник.Номенклатура КАК Товары ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, ) КАК ТоварыНаСкладахОстатки ПО (ТоварыНаСкладахОстатки.Номенклатура = Товары.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияТочкиЗаказа.СрезПоследних(&Период, ) КАК ЗначенияТочкиЗаказаСрезПоследних ПО (ЗначенияТочкиЗаказаСрезПоследних.Номенклатура = Товары.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ЗначенияСвойствОбъектов.Объект КАК Объект, ЗначенияСвойствОбъектов.Свойство КАК Свойство, ЗначенияСвойствОбъектов.Значение КАК Значение ИЗ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов ГДЕ ЗначенияСвойствОбъектов.Свойство.Наименование = "Производитель") КАК ВложенныйЗапрос ПО Товары.Ссылка = ВложенныйЗапрос.Объект ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток, ТоварыВРезервеНаСкладахОстатки.Номенклатура КАК Номенклатура ИЗ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Период, ДокументРезерва ССЫЛКА Документ.СчетНаОплатуПокупателю) КАК ТоварыВРезервеНаСкладахОстатки ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю ПО ТоварыВРезервеНаСкладахОстатки.ДокументРезерва = СчетНаОплатуПокупателю.Ссылка ГДЕ СчетНаОплатуПокупателю.Оплачен = ИСТИНА) КАК ОплаченныеСчета ПО Товары.Ссылка = ОплаченныеСчета.Номенклатура.Ссылка ГДЕ Товары.ЭтоГруппа = ЛОЖЬ |
|||
5
hhhh
11.12.17
✎
12:39
|
(4) ну задайте ему параметр Период. Что вам жалко?
|
|||
6
I_learn_1c
11.12.17
✎
12:41
|
(5) задан он, в параметрах СКД
|
|||
7
I_learn_1c
11.12.17
✎
12:43
|
||||
8
hhhh
11.12.17
✎
12:45
|
(7) какое-то странное что-то. Вы Период сам через себя определяете?
|
|||
9
I_learn_1c
11.12.17
✎
12:50
|
(8) Период нормально определен, это я делала еще раньше,тоже нашла по рекомендациям что так сделать правильнее, все работает, сейчас добавляю кусок
ВЫБРАТЬ ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток, ТоварыВРезервеНаСкладахОстатки.Номенклатура КАК Номенклатура ИЗ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Период, ДокументРезерва ССЫЛКА Документ.СчетНаОплатуПокупателю) КАК ТоварыВРезервеНаСкладахОстатки ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю ПО ТоварыВРезервеНаСкладахОстатки.ДокументРезерва = СчетНаОплатуПокупателю.Ссылка ГДЕ СчетНаОплатуПокупателю.Оплачен = ИСТИНА и с ним все перестает работать |
|||
10
I_learn_1c
11.12.17
✎
12:51
|
а может такое быть что вложенный запрос не видит параметры основного?
|
|||
11
rabbidX
11.12.17
✎
12:53
|
В СКД не нужно задавать условия на периоды виртуальных таблиц, она их добавляет сама.
|
|||
12
hhhh
11.12.17
✎
12:55
|
а ну да, сотри везде слово &Период, она же всё равно сама его проставит.
|
|||
13
I_learn_1c
11.12.17
✎
13:11
|
Если стереть везде период то ошибка другая
Неверные параметры "РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки, 0" РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(ДокументРезерва <<?>>ССЫЛКА Документ.СчетНаОплатуПокупателю) КАК ТоварыВРезервеНаСкладахОстатки |
|||
14
I_learn_1c
11.12.17
✎
13:14
|
В запросе где описание условий ССЫЛКА есть только вида
ДокументРезерва ССЫЛКА <ИмяТаблицы> а что в качестве таблицы то? |
|||
15
hhhh
11.12.17
✎
13:17
|
(13) может не может быть счет дкументом резерва. В типовой точно нет. Там документ ЗаказПокупателя.
|
|||
16
I_learn_1c
11.12.17
✎
13:20
|
(15) в типовой нет, а в конкретно данной есть.
https://yadi.sk/i/cY1ktxC93QWG44 но ругается он на ССЫЛКА. может как то еще это записать можно в условиях |
|||
17
I_learn_1c
11.12.17
✎
13:21
|
пишет что мол ожидается имя таблицы
|
|||
18
I_learn_1c
11.12.17
✎
13:27
|
(16) и в регистре полно записей с документом резерва счет
|
|||
19
_Дайвер_
11.12.17
✎
14:11
|
(0) "Нужно выбирать записи номенклатура-остаток, только те у которых документ-основание счет, и этот счет оплачен"
Тебе нужно поставить в СКД условия: 1) Где ДокументыОснования = & 2) Где ДокументыОснования.Проведен = ИСТИНА Тогда у тебя будет все нормально. |
|||
20
I_learn_1c
11.12.17
✎
14:12
|
(19) ох, там я опечаталась, "..у которых документ-резерв счет.."
короче сделала еще раз с нуля кусок этот и как то заработало.. всем спасибо) ВЫБРАТЬ ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток, ТоварыВРезервеНаСкладахОстатки.Номенклатура КАК Номенклатура ИЗ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Период, ДокументРезерва ССЫЛКА Документ.СчетНаОплатуПокупателю) КАК ТоварыВРезервеНаСкладахОстатки ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю ПО ТоварыВРезервеНаСкладахОстатки.ДокументРезерва = СчетНаОплатуПокупателю.Ссылка ГДЕ СчетНаОплатуПокупателю.Оплачен = &Истина |
|||
21
I_learn_1c
11.12.17
✎
14:12
|
на истину конструктор чего то ругался, пришлось выкрутиться, знаю странно
|
|||
22
_Дайвер_
11.12.17
✎
14:14
|
(21) Разобралась, молодец)
|
|||
23
kda26
11.12.17
✎
14:17
|
(21) ГДЕ
СчетНаОплатуПокупателю.Оплачен //= Истина ТУТ ЛИШНЕЕ |
|||
24
I_learn_1c
11.12.17
✎
14:22
|
(23) аа, по умолчанию подразумевается истина? а если бы нужно было указать ЛОЖЬ?
|
|||
25
I_learn_1c
11.12.17
✎
14:23
|
(24) на ложь тоже ругается в другом аналогичном случае
|
|||
26
I_learn_1c
11.12.17
✎
14:24
|
(22)спасибо конечно:))) но скорости этого "разбирания" точно не позавидовать
|
|||
27
3achem
11.12.17
✎
14:24
|
(25) Вы в консоли проверяли запрос?
|
|||
28
I_learn_1c
11.12.17
✎
14:25
|
(27) нет
|
|||
29
3achem
11.12.17
✎
14:25
|
(20) поправлю
ГДЕ СчетНаОплатуПокупателю.Оплачен |
|||
30
kda26
11.12.17
✎
14:25
|
(24) ГДЕ
НЕ СчетНаОплатуПокупателю.Оплачен |
|||
31
I_learn_1c
11.12.17
✎
14:27
|
(30) ааа..даже так. вот я тормоз. спасибо за терпеливые комментарии) я буду стараться тупить меньше))
|
|||
32
Быдло замкадное
11.12.17
✎
14:39
|
Выведи регистратор. Тогда остатки будут иметь хотя бы логический смысл.
А без него думаю 1С ничего не посчитает. Да и какой смысл в остатке без определенных регистраторов.... |
|||
33
Быдло замкадное
11.12.17
✎
14:40
|
была подобная глупая хотелка от пользователя.
Выведи остатки и обороты без расхода по 1 складу. В итоге вывел ей Начальный остаток 10 Приход 0 Расход 0 Конечный остаток 5 ))) Спрашивает они же не сходятся. Так логично, если мы вычитаем непойми что |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |