|
Не выходит запрос | ☑ | ||
---|---|---|---|---|
0
Драмаченко Григорий
13.05.22
✎
13:01
|
Привет я новичок в 1С особенно с запросами
в общем не понимаю как сделать следующее. Мне нужно написать запрос который выведет остатки по всем товарам в разрезе всех складов где остаток будет меньше ноля за каждый день с 01.01.2022 по день запроса я написал запрос но не выход массив периодов передать ( да и если в рамках одного периода формировать то все ок но, данные показывает на цикл по одному складу а нужно что то типа Товар | Дата | Остаток Склд1 | | Остаток Склд2 | | Остаток Склд3 | | Остаток Склд4 | Как сделать так? Вот мой запрос помогите его исправить если не сложно. МассивСкладов = Новый Массив; ВыборкаСкладов = Справочники.Склады.Выбрать(); Пока ВыборкаСкладов.Следующий() Цикл МассивСкладов.Добавить(ВыборкаСкладов.Ссылка); КонецЦикла; МассивПериодов = Новый Массив; //ВыборкаПериодов = Справочники.Склады.Выбрать(); Пока КонецДня(ДатаЗапроса) <> КонецДня(ДатаПо) Цикл МассивПериодов.Добавить(КонецДня(ДатаЗапроса)); ДатаЗапроса = ДатаЗапроса + 60 * 60 * 24; КонецЦикла; //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СправочникНоменклатура.Ссылка КАК Номенклатура, | Остатки.ВНаличииОстаток КАК Количество, | Остатки.Склад КАК Склад |ИЗ | Справочник.Номенклатура КАК СправочникНоменклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки(В(&Периоды), Склад В (&Склады) ) КАК Остатки | ПО СправочникНоменклатура.Ссылка = Остатки.Номенклатура |ГДЕ | СправочникНоменклатура.ЭтоГруппа = &ЭтоГруппа | И Остатки.ВНаличииОстаток < &Нолик |СГРУППИРОВАТЬ ПО | Остатки.Склад, | СправочникНоменклатура.Ссылка, | Остатки.ВНаличииОстаток"; Запрос.УстановитьПараметр("Нолик", 0); Запрос.УстановитьПараметр("Периоды", МассивПериодов); Запрос.УстановитьПараметр("ЭтоГруппа", Ложь); Запрос.УстановитьПараметр("Склады", МассивСкладов); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл НовСтр = ТЗ.Добавить(); НовСтр.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура; НовСтр.Склад = ВыборкаДетальныеЗаписи.Склад; НовСтр.ДатаОстатка = КонецДня(ДатаЗапроса); НовСтр.Остаток = ВыборкаДетальныеЗаписи.Количество; КонецЦикла; |
|||
1
Драмаченко Григорий
13.05.22
✎
13:04
|
Если запрос по массивы периодов нельзя сделать то не страшно помогите хотя бы вывести в таком виде
Товар | Дата | Остаток Склд1 | | Остаток Склд2 | | Остаток Склд3 | | Остаток Склд4 | |
|||
2
VoditelKobyly
13.05.22
✎
13:16
|
Куда Вы выводить собрались? В вашем коде есть только запрос на выборку данных, но нет намека на вывод.
|
|||
3
bolobol
13.05.22
✎
13:18
|
(2) Внимательнее читайте пост - всё там есть
|
|||
4
bolobol
13.05.22
✎
13:20
|
Искать "остатки на каждый день", использовать найденное
|
|||
5
Драмаченко Григорий
13.05.22
✎
13:21
|
(2) в Таблицу значений а ее на форму в табличную часть
ТЗ та что есть я использовал просто для примера для себя но в ВыборкаДетальныеЗаписи вижу только Номенклатура, Склад, Количество А мне нужно что бы была одна номенклатура , куча складов с остатком (Группировка По Номенклатура мне в помощь я верно понял? |
|||
6
bolobol
13.05.22
✎
13:23
|
Чтоб сделать так "Товар | Дата | Остаток Склд1 | | Остаток Склд2 | | Остаток Склд3 | | Остаток Склд4 |" - тут прям СКД нужен - он сам так умеет
Иначе, обходить результат запроса по группировкам, сначала по Номенклатуре, затем, присоединяя колонку в ТЗ, по Складу |
|||
7
Драмаченко Григорий
13.05.22
✎
13:25
|
(6) много непонятных слов к сожалению (
короче так понимаю это сложно? и удаленно не помочь? |
|||
8
Драмаченко Григорий
13.05.22
✎
13:27
|
а период на запрос то же только один может быть? нельзя так как я поступил со складами?
|
|||
9
bolobol
13.05.22
✎
13:30
|
(7) озадачен я... пытался найти хоть одно непонятное слово - не смог. Но - да, есть люди, что не слушают ответов, считая их пустым звуком
|
|||
10
Драмаченко Григорий
13.05.22
✎
13:31
|
В общем буду тогда делать так
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СправочникНоменклатура.Ссылка КАК Номенклатура, | Остатки.ВНаличииОстаток КАК Количество, | Остатки.Склад КАК Склад |ИЗ | Справочник.Номенклатура КАК СправочникНоменклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки(&Периоды, Склад В (&Склады) ) КАК Остатки | ПО СправочникНоменклатура.Ссылка = Остатки.Номенклатура |ГДЕ | СправочникНоменклатура.ЭтоГруппа = &ЭтоГруппа | И Остатки.ВНаличииОстаток < &Нолик"; Запрос.УстановитьПараметр("Нолик", 0); Запрос.УстановитьПараметр("Периоды", КонецДня(ДатаЗапроса)); Запрос.УстановитьПараметр("ЭтоГруппа", Ложь); Запрос.УстановитьПараметр("Склады", МассивСкладов); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл но опять вопрос можно ли в этом же запросе сделать так что бы например Номенклатура А на 01 01 2022 образовался минусовой остаток к примеру -1 и так минус висел к примеру до 05 01 2022 можно ли убрать из результата все периоды по данной номенклатуре , по этому складу и если остаток тот же (-1) и оставить только последний период? |
|||
11
bolobol
13.05.22
✎
13:32
|
(8) запрос с таким текстом ".Остатки(В(&Периоды)" - даже в конструкторе не открывается. А жаль... Похоже, что сегодня - всё ещё лишь один период
|
|||
12
Драмаченко Григорий
13.05.22
✎
13:33
|
(9) Извините я не хотел Вас обидеть!
в (6) я все понял в частности что Либо нужно делать Сехемму компановки данных которую я вообще не знаю ( а группировки то же для меня сложно ( вот и подумал что это сложно ка кто будет обьяснить на пальцах (если можно так выразится) |
|||
13
Драмаченко Григорий
13.05.22
✎
13:34
|
(11) у меня открывается этот запрос
|
|||
14
Драмаченко Григорий
13.05.22
✎
13:35
|
тьфу да простите .Остатки(В(&Периоды)"
В(&Периоды) это я пример написал для Вас так как я писал выше я хотел бы сформировать запрос в разрезе периодов к примеру у меня есть массив периодов (Дат) 01.01.2022 02.01.2022 и т.д за каждый день и в каждом месяце но у меня не вышло напистаь такой запрос ( |
|||
15
Драмаченко Григорий
13.05.22
✎
13:37
|
Можете помочь с (10)?
|
|||
16
bolobol
13.05.22
✎
13:38
|
(10) В такой постановке - сложно сделать просто. Будет не просто, но и не сложно. Глобалить надо.
(12) Мы не про обиды, но теперь - вижу, что текст прочитан и - обещаю - это проще чем писать запрос и выводить его вручную! Создавайте СКД и туда пишите запрос "остатки на каждую дату". Сохраняйте и останется только выполнить отчёт в 1С - он сам всё нарисует, только с настройками строк и колонок вывода поиграться |
|||
17
Драмаченко Григорий
13.05.22
✎
13:41
|
(16) я Вас понял попробую СКД сделать )
я просто ка кто раз открыл ничего не понял, испугался закрыл и побежал перекурить это дело ) |
|||
18
bolobol
13.05.22
✎
13:41
|
ВЫБРАТЬ РАЗЛИЧНЫЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК День ПОМЕСТИТЬ ВТ_Дни ИЗ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь ГДЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачалоПериода И &ОкончаниеПериода ; - если такое есть - даже список дат у Вас есть |
|||
19
bolobol
13.05.22
✎
13:45
|
ВЫБРАТЬ
Дни.День КАК День, ОстаткиИОбороты.Склад КАК Склад, ОстаткиИОбороты.Номенклатура КАК Номенклатура, СУММА(ВЫБОР КОГДА ОстаткиИОбороты.Период = &НачалоПериода ТОГДА ОстаткиИОбороты.КоличествоНачальныйОстаток ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Дни.День >= ОстаткиИОбороты.Период ТОГДА ОстаткиИОбороты.КоличествоОборот ИНАЧЕ 0 КОНЕЦ) КАК Количество ИЗ ВТ_Дни КАК Дни ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.ОстаткиИОбороты( &НачалоПериода, &ОкончаниеПериода, День, , Склад В (&Склады)) КАК ОстаткиИОбороты ПО Дни.День >= ОстаткиИОбороты.Период -- Остатки на каждый день, даже в дни, когда их ноль, по таблице ВТ_Дни |
|||
20
bolobol
13.05.22
✎
13:48
|
СГРУППИРОВАТЬ ПО
Дни.День, ОстаткиИОбороты.Склад, ОстаткиИОбороты.Номенклатура -- забыл |
|||
21
vicof
13.05.22
✎
13:49
|
В СКДшке можно проще остатки на каждый день сделать.
|
|||
22
Драмаченко Григорий
13.05.22
✎
13:50
|
(19) у меня ругается на КоличествоНачальныйОстаток при сохранении этого запроса (
|
|||
23
vicof
13.05.22
✎
13:51
|
(22) Количество = ВНаличии
|
|||
24
bolobol
13.05.22
✎
13:58
|
Создаёте отчёт,
открываете СКД для него, НаборыДанных - добавляете запрос, суйте туда это всё, в параметрах пишете для ОкончаниеПериода в выражение: КонецПериода(&КонецПериода, "ДЕНЬ"), в параметрах снимаете галки Ограничение доступности и ставите использование во Всегда, для Склад можно оставить Авто - заполнил пользователь - будет, не заполнил - не будет отбора по складу |
|||
25
Драмаченко Григорий
13.05.22
✎
14:03
|
(24) мне в запрос поместить все из (18 - 19 и 19) ? или только (19) - (20) ?
|
|||
26
bolobol
13.05.22
✎
14:04
|
Условие "Склад В (&Склады)" - надо для СКД взять в фигурные скобки "{Склад В (&Склады)}" - тогда условие будет работать если установлен параметр Склады. В принципе, в СКД можно данное условие и отбором по-типовому указать
|
|||
27
bolobol
13.05.22
✎
14:04
|
(25) Да, 18 и 19, 20
|
|||
28
Драмаченко Григорий
13.05.22
✎
14:07
|
(27) получил ошибку (
Ошибка получения информации набора данных по причине: Ошибка в запросе набора данных по причине: {(5, 5)}: Таблица не найдена "РегистрСведений.РегламентированныйПроизводственныйКалендарь" <<?>>РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь |
|||
29
Драмаченко Григорий
13.05.22
✎
14:09
|
+(28) у меня нету такого регистра (
есть регистр ДанныеПроизводственногоКалендаря |
|||
30
bolobol
13.05.22
✎
14:10
|
Берите его!
|
|||
31
Драмаченко Григорий
13.05.22
✎
14:11
|
(29) в качестве измерения у него ссылка на справочник СправочникСсылка.ПроизводственныеКалендари
|
|||
32
Драмаченко Григорий
13.05.22
✎
14:11
|
+(31) как это использовать?
|
|||
33
Драмаченко Григорий
13.05.22
✎
14:12
|
а можно обойтись без производственного календаря?
|
|||
34
Драмаченко Григорий
13.05.22
✎
14:13
|
если что у меня Управление торговлей для Беларуси, редакция 3.3.
|
|||
35
bolobol
13.05.22
✎
14:15
|
Можно обойтись, но проще использовать готовый список дат, особенно для СКД
|
|||
36
bolobol
13.05.22
✎
14:15
|
Да и измерение у нас не используется - только уникальные дни нужны в интересующем периоде
|
|||
37
Драмаченко Григорий
13.05.22
✎
14:16
|
но у меня нету такого регистра а в том что есть в нем нету таких измерений ка кДатаКалендаря
|
|||
38
Драмаченко Григорий
13.05.22
✎
14:16
|
Вот что получаю
Ошибка получения информации набора данных по причине: Ошибка в запросе набора данных по причине: {(7, 38)}: Поле не найдено "ДанныеПроизводственногоКалендаря.ДатаКалендаря" ДанныеПроизводственногоКалендаря.<<?>>ДатаКалендаря МЕЖДУ &НачалоПериода И &ОкончаниеПериода |
|||
39
bolobol
13.05.22
✎
14:17
|
Обязана быть дата там где-то - ищите дату!
|
|||
40
bolobol
13.05.22
✎
14:17
|
В этом смысл Производственного календаря. Можно использовать ещё курсы валют, но, говорят, производственный календарь - надёжнее
|
|||
41
Драмаченко Григорий
13.05.22
✎
14:21
|
(39) Да! нашел.
ошибки пропали я сделал все до Создаёте отчёт, открываете СКД для него, НаборыДанных - добавляете запрос, суйте туда это всё, а дальше в параметрах пишете для ОкончаниеПериода в выражение: КонецПериода(&КонецПериода, "ДЕНЬ"), в параметрах снимаете галки Ограничение доступности и ставите использование во Всегда, для Склад можно оставить Авто - заполнил пользователь - будет, не заполнил - не будет отбора по складу не могу найти закладку парамтеры ( |
|||
42
Драмаченко Григорий
13.05.22
✎
14:23
|
(41) нашел
|
|||
43
Драмаченко Григорий
13.05.22
✎
14:25
|
(в параметрах снимаете галки Ограничение доступности и ставите использование во Всегда) это для параметра ОкончаниеПериода? или для всех?
|
|||
44
Драмаченко Григорий
13.05.22
✎
14:30
|
Все сделал
а макет как рисовать? вернее что в него вставлять? я ячейки? |
|||
45
Драмаченко Григорий
13.05.22
✎
14:32
|
Сформировал и пусто в нем (
|
|||
46
Драмаченко Григорий
13.05.22
✎
14:32
|
пустой отчет
жму сформировать и ничего( |
|||
47
bolobol
13.05.22
✎
14:33
|
Да, в Настройки нужно добавить Группировку (сверху), а снизу - выбранные поля заполнить
|
|||
48
Драмаченко Григорий
13.05.22
✎
14:35
|
(47) в режиме предприятия или в конфигураторе?
|
|||
49
Драмаченко Григорий
13.05.22
✎
14:38
|
В конфигураторе
Перешел в закладку Настройки, нажал Новая гурппировка и ничего не заполняя нажал Ок далее в низу заполнил выбранные поля ПРобую |
|||
50
Марусенька
13.05.22
✎
14:39
|
(48) в конфигураторе на последней закладке Настройки, в верхней части - структура отчета, там группировки или детальные записи добавляете, если нет группировок, ниже в выбранные поля выбираете те, которые хотите выводить
|
|||
51
Драмаченко Григорий
13.05.22
✎
14:39
|
(50) уже сделал нажал сформировтаь жду
|
|||
52
Марусенька
13.05.22
✎
14:40
|
у Вас хорошо получается, но не хватает знаний, посмотрите курс по СКД, например, от Гилева
|
|||
53
Драмаченко Григорий
13.05.22
✎
14:40
|
дождался
вывелись только колонки а данных нет ( День Номенклатура Склад Количество |
|||
54
Марусенька
13.05.22
✎
14:41
|
параметры заполнили?
|
|||
55
Драмаченко Григорий
13.05.22
✎
14:42
|
(52) не знаю мне ли Вы но спасибо! и хорошо я почитаю )
|
|||
56
Kassern
13.05.22
✎
14:43
|
(55) заодно у Хрусталевой почитайте книжки про СКД и запросы
|
|||
57
Драмаченко Григорий
13.05.22
✎
14:44
|
(54) да параметры запонил сейчас и получил таблицу с датами а колонки Номенклатура и остальные пусто (
|
|||
58
АгентБезопасной Нацио
13.05.22
✎
14:45
|
(36) (37) (40)
а чо б не : ВЫБРАТЬ 0 КАК Цифра ПОМЕСТИТЬ ВТ_Цифры ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9 ; ВЫБРАТЬ ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, Тысячи.Цифра * 1000 + Сотни.Цифра * 100 + Десятки.Цифра * 10 + Единицы.Цифра) КАК Период ИЗ ВТ_Цифры КАК Единицы ПОЛНОЕ СОЕДИНЕНИЕ ВТ_Цифры КАК Десятки ПО ИСТИНА ПОЛНОЕ СОЕДИНЕНИЕ ВТ_Цифры КАК Сотни ПО ИСТИНА ПОЛНОЕ СОЕДИНЕНИЕ ВТ_Цифры КАК Тысячи ПО ИСТИНА ГДЕ ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, Тысячи.Цифра * 1000 + Сотни.Цифра * 100 + Десятки.Цифра * 10 + Единицы.Цифра) <=&КонецПериода УПОРЯДОЧИТЬ ПО Период |
|||
59
Марусенька
13.05.22
✎
14:45
|
(55) да, Хрусталева тоже отлично для начала. На Ютубе набираете Курс Гилева СКД и наслаждаетесь
|
|||
60
bolobol
13.05.22
✎
14:45
|
Только колонки с датами заполнены - значит, что даты получены, а остатки - нет.
|
|||
61
bolobol
13.05.22
✎
14:46
|
Запрос из СКД можно, кстати, сюда выложить. Осмотрим
|
|||
62
Драмаченко Григорий
13.05.22
✎
14:47
|
(61)
ВЫБРАТЬ РАЗЛИЧНЫЕ ДанныеПроизводственногоКалендаря.Дата КАК День ПОМЕСТИТЬ ВТ_Дни ИЗ РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря ГДЕ ДанныеПроизводственногоКалендаря.Дата МЕЖДУ &НачалоПериода И &ОкончаниеПериода ; ВЫБРАТЬ Дни.День КАК День, ОстаткиИОбороты.Склад КАК Склад, ОстаткиИОбороты.Номенклатура КАК Номенклатура, СУММА(ВЫБОР КОГДА ОстаткиИОбороты.Период = &НачалоПериода ТОГДА ОстаткиИОбороты.ВНаличииНачальныйОстаток ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Дни.День >= ОстаткиИОбороты.Период ТОГДА ОстаткиИОбороты.ВНаличииОборот ИНАЧЕ 0 КОНЕЦ) КАК Количество ИЗ ВТ_Дни КАК Дни ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.ОстаткиИОбороты(&НачалоПериода, &ОкончаниеПериода, День, , {Склад В (&Склады)}) КАК ОстаткиИОбороты ПО Дни.День >= ОстаткиИОбороты.Период СГРУППИРОВАТЬ ПО Дни.День, ОстаткиИОбороты.Склад, ОстаткиИОбороты.Номенклатура |
|||
63
Kassern
13.05.22
✎
14:50
|
(62) а у вас регистр ДанныеПроизводственногоКалендаря вообще заполнен?)
|
|||
64
bolobol
13.05.22
✎
14:51
|
На вид - всё чётко, будет работать!
Параметры верны, т.к. даты явились... озадачен я |
|||
65
bolobol
13.05.22
✎
14:52
|
Ааа... может, на незаполненном складе в параметрах галка стоит?
|
|||
66
bolobol
13.05.22
✎
14:53
|
Или на ОкончаниеПериода галка стоит, а не должна
|
|||
67
Kassern
13.05.22
✎
14:53
|
можно вообще убрать условие по складу и протестить, но что-то мне подсказывает, что у ТС тупо регистр с датами не заполнен, поэтому ничего и не выходит
|
|||
68
bolobol
13.05.22
✎
14:53
|
даты выходят жэ
|
|||
69
bolobol
13.05.22
✎
14:54
|
Вот то что в параметрах в Предприятии, не в конфигураторе - галка на параметре Склад стоит - как пить дать!
|
|||
70
bolobol
13.05.22
✎
14:55
|
Или Использование у параметра Склад стоит Всегда, а не Авто
|
|||
71
Драмаченко Григорий
13.05.22
✎
14:59
|
Вот скрины
Режим Конфигуратора НаборыДанных1 - https://ibb.co/cJDP4YY Параметры - https://ibb.co/GP3BfWy Настройки - https://ibb.co/t8Yw12N Режим предприятия Настройки - https://ibb.co/86SpX7z |
|||
72
Драмаченко Григорий
13.05.22
✎
14:59
|
(71) может я что то не так сделал? :-)
|
|||
73
Драмаченко Григорий
13.05.22
✎
15:00
|
(70) Авто я установил
|
|||
74
Драмаченко Григорий
13.05.22
✎
15:04
|
||||
75
Драмаченко Григорий
13.05.22
✎
15:06
|
все заработало
но есть одно но он выводит остатки а мне нужны только те что меньше ноля |
|||
76
Драмаченко Григорий
13.05.22
✎
15:07
|
добавил отбор количество Меньше ноля в режиме предприятия а ка кэто сделать в коде в СКД что бы постоянно не заполнять?
|
|||
77
Kassern
13.05.22
✎
15:08
|
(71) а почему у вас ресурсов нет? Или вам итоги не нужны?
|
|||
78
Драмаченко Григорий
13.05.22
✎
15:08
|
И Да Спасибо Вам огромное СКД реально очень простое я просто боялся его открывать и пробовать )))))))
|
|||
79
Kassern
13.05.22
✎
15:08
|
(76) в запросе на вкладке отбора можно сделать
|
|||
80
Kassern
13.05.22
✎
15:09
|
(78) книжки все же почитайте, очень много для себя откроете в плане возможностей СКД
|
|||
81
Драмаченко Григорий
13.05.22
✎
15:09
|
(41) я делал как мне советовали
|
|||
82
Драмаченко Григорий
13.05.22
✎
15:09
|
(80) обязательно буду читать! мне понравилось работать с СКД с ним реально проще отчеты клепать! СПАСИБ ООГРОМНОЕ!
|
|||
83
bolobol
13.05.22
✎
15:10
|
Вернёмся к оформлению, раз всё заработало
|
|||
84
bolobol
13.05.22
✎
15:11
|
В Настройки добавляете Таблицу, в колонки добавляете группировку Склад, в строки Группировку Дата и дополняете её после ОК Номенклатурой
|
|||
85
bolobol
13.05.22
✎
15:12
|
Будет таблица остатков, где склады вбок перечисляются. Для этого потребуется на закладке Ресурсы - перенести Количество в ресурс, должна встать формула СУММА
|
|||
86
Драмаченко Григорий
13.05.22
✎
15:13
|
(83) я уже подумал что все готово )
+(84) в настройках в режиме конфигуратора? |
|||
87
bolobol
13.05.22
✎
15:14
|
Детальные записи в Настройках - отключаете.
Да, всё что можно пользователю "из коробки" подготовить - делаете в Конфигураторе. Тестируете возможности в Предприятии |
|||
88
bolobol
13.05.22
✎
15:16
|
Зачастую, при открытии в Предприятии СКД отчёта - приходится восстанавливать Стандартные настройки, т.к. 1С, собака, запоминает себе там что-то и не реагирует потом на изменения в Конфигураторе
|
|||
89
Fish
13.05.22
✎
15:19
|
(78) "СКД реально очень простое " - Это пока не понадобится сделать чуть более сложный отчёт :))
|
|||
90
Драмаченко Григорий
13.05.22
✎
15:19
|
||||
91
bolobol
13.05.22
✎
15:20
|
Таблицу на самый верх мышью перетащите, а то получается, что она в подчинении детальных записей
|
|||
92
Драмаченко Григорий
13.05.22
✎
15:20
|
(85) то же сделал на скрине не показал могу сделать сркин нужно?
|
|||
93
Драмаченко Григорий
13.05.22
✎
15:21
|
(91) перетащил тепреь она отделилась от ДЗ
|
|||
94
bolobol
13.05.22
✎
15:22
|
Сохраняйте - смотрите, и эспериментируйте с "Другие настройки" в Предприятии
|
|||
95
bolobol
13.05.22
✎
15:23
|
Самое главное - не пытаться пользоваться Отборами, СКД сама себе придумывает как именно и где их применить, и ничего хорошего не выходит. Лучше уж всё настраивать параметрами и в запросе чётко прописывать где они должны примениться в фигурных скобках
|
|||
96
bolobol
13.05.22
✎
15:24
|
А условие в запрос на отрицательность остатков - допишите
ИМЕЮЩИЕ СУММА(ВЫБОР КОГДА ОстаткиИОбороты.Период = &НачалоПериода ТОГДА ОстаткиИОбороты.ВНаличииНачальныйОстаток ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Дни.День >= ОстаткиИОбороты.Период ТОГДА ОстаткиИОбороты.ВНаличииОборот ИНАЧЕ 0 КОНЕЦ) < 0 |
|||
97
bolobol
13.05.22
✎
15:28
|
Есть особенность, что если нужно обязательно выводить все склады - запрос надо усложнять соединением со складами как с датами
|
|||
98
Драмаченко Григорий
13.05.22
✎
15:28
|
(96) это в самом низу запроса писать?
ИМЕЮЩИЕ СУММА(ВЫБОР КОГДА ОстаткиИОбороты.Период = &НачалоПериода ТОГДА ОстаткиИОбороты.ВНаличииНачальныйОстаток ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Дни.День >= ОстаткиИОбороты.Период ТОГДА ОстаткиИОбороты.ВНаличииОборот ИНАЧЕ 0 КОНЕЦ) < 0 |
|||
99
bolobol
13.05.22
✎
15:29
|
ИМЕЮЩИЕ пишется после СГРУППИРОВАТЬ ПО блока, в данном случае - в конец запроса добавьте просто
|
|||
100
Драмаченко Григорий
13.05.22
✎
15:30
|
(99) да так и сделал
|
|||
101
bolobol
13.05.22
✎
15:31
|
Ну а что такое ИМЕЮЩИЕ, в чём отличие от ГДЕ - почитаете. На пальцах - ИМЕЮЩИЕ - это условие на результат функции, типа СУММА, КОЛИЧЕСТВО, выполняется после СГРУППИРОВАТЬ, т.е. после выполнения функций
ГДЕ - условие на первичные записи, до выполнения функций и СГРУППИРОВАТЬ |
|||
102
Драмаченко Григорий
13.05.22
✎
15:31
|
выводит неверные данные (
показывает у товара -200 иду в карточку использую отчет движения номенклатуры там на указанную дату нету минусового остатка вообще ( |
|||
103
Драмаченко Григорий
13.05.22
✎
15:33
|
ну да ладно главное что понял как работать с СКД
а остаток неверные видмо от того что я в запросе использую только один регистр а остатки нужно анализировать по нескольким буду дописывать спасибо за Курс обучения СКД ) |
|||
104
bolobol
13.05.22
✎
15:35
|
Удачи в этом нелёгком деле, а при углублении - оно станет нелёгким)
|
|||
105
Драмаченко Григорий
13.05.22
✎
15:37
|
(104) спасибо будем стараться )
|
|||
106
Драмаченко Григорий
13.05.22
✎
15:44
|
хотя нет вернусь )
не заметил разницы после новых настроек https://ibb.co/HG6DrzX затем в режиме предприятия во всех действиях нажал стандартные натсройки и вот что заметил (возможно я не прав) но в настройках в режиме предприятия - https://ibb.co/Rggx6zy там по прежнему включен флаг на Детальные записи а таблицы вообще нету ( |
|||
107
Драмаченко Григорий
13.05.22
✎
16:23
|
(108) не верно удалял натсройки удалил настройки все встало как нужно буду разбиратсья что с остатками не так что то не верны еданные по некоторым товарам показывает (
и еще никак нельзя сделать в рамках текущего отчета следующее Товар А дата возникновения минусового остатка = 01 01 2022 и так этот минус висел до 10 01 2022 можно ли ка кто не показываться первоночальную дату? а только последнюю? вероятно Вы уже отвечали мн ена данный вопрос но видимо я пропустил и сейчас не нахожу ( |
|||
108
bolobol
13.05.22
✎
16:25
|
Отвечал, что это прям глобалить нужно
|
|||
109
Драмаченко Григорий
13.05.22
✎
16:27
|
(108) Понял спасибо! (а что такое глобалить?
|
|||
110
bolobol
13.05.22
✎
16:27
|
Что-то подсказывает, что если соединить результат с результатом по Дата1 = Дата0+1, Склад, Номенклатура и Колво< 0... То может получиться ожидаемое
|
|||
111
Драмаченко Григорий
13.05.22
✎
16:29
|
(110) а как это сделать?
|
|||
112
bolobol
13.05.22
✎
16:29
|
Таким способом, вроде, можно выключить все минусы до последней даты, когда ещё минус есть
|
|||
113
Драмаченко Григорий
13.05.22
✎
16:36
|
а как добавить дату начало период и дату окончания в отчет что бы при открытии в самом веру били
а так же подбор складов что бы так же были там типа флажок рядом с полем и если используем свое то ставим влаг и выбираем данные ? |
|||
114
bolobol
13.05.22
✎
16:44
|
Это, наверное, зависит от используемой конфы, но обычно достаточно на выбранном параметре пр.клик Свойства элемента пользовательских настроек - галку поставить там
|
|||
115
bolobol
13.05.22
✎
16:57
|
В общем, похоже на правду, читать, правда, отчёт такой сложно, но.. тем не менее:
- помещаем текущий результат в ВТ_Минуса - добавляем запрос из ВТ_Минуса, выбирая те же названия полей, чтобы в СКД ничего не съехало ВЫБРАТЬ ВТ_Минуса.День КАК День, ВТ_Минуса.Склад КАК Склад, ВТ_Минуса.Номенклатура КАК Номенклатура, ВТ_Минуса.Количество КАК Количество - ЛЕВОЕ СОЕДИНЕНИЕ делаем с ВТ_Минуса КАК ВТ_МинусаЗавтра - условия соединения: ПО ВТ_Минуса.День = ДОБАВИТЬКДАТЕ(ВТ_МинусаЗавтра.День, ДЕНЬ, -1) И ВТ_Минуса.Склад = ВТ_МинусаЗавтра.Склад И ВТ_Минуса.Номенклатура = ВТ_МинусаЗавтра.Номенклатура И ВТ_Минуса.Количество < 0 И ВТ_МинусаЗавтра.Количество < 0 //И ВТ_Минуса.Количество = ВТ_МинусаЗавтра.Количество // -- это если нужно не просто фиксировать минус, а что сам минус не изменил количество - добиваем условием, что нам нужны записи с отсутствием соединения с ВТ_МинусаЗавтра ГДЕ ВТ_МинусаЗавтра.День ЕСТЬ NULL |
|||
116
bolobol
13.05.22
✎
17:02
|
У нас будут в отчёте не все даты, т.к. выключая остатки на дату, можно выключить всю дату полностью
Поэтому новый результат помещаем в ВТ_БезМинусов, добавляем запрос соединения Дат с ВТ_БезМинусов |
|||
117
Said_We
13.05.22
✎
19:58
|
(0) А если остаток на 02.02.хх стал отрицательным по товару1 на складе1, и 03.02.хх движений по товару1 на складе1 не было, то 03.02.хх должна в отчете показывать остаток отрицательный?
|
|||
118
Драмаченко Григорий
16.05.22
✎
09:53
|
(115) спасибо за помощь все работает как нужно!
(117) по идеи должно показывать только последние данные по минусу к примеру 01 01 образовался минус скажем -1 10 01 двинули еще в минус и стало теперь -3 20 02 оприходовали товары и перекрыли минус скажем сальдо стало +500 так вот в отчете мы должны увидеть 10 01 такой то товар -3 |
|||
119
hhhh
16.05.22
✎
10:04
|
(118) вообще-то в (107) вы писали, что-доджна быть последняя дата, то есть не 10.01, а 19.01.
|
|||
120
Драмаченко Григорий
19.05.22
✎
09:44
|
(119) Видимо неверно написал (выразился)
|
|||
121
Trance_1C
19.05.22
✎
10:56
|
Если еще никто не предложил, устанавливай инструменты разработчика с инфостарта, подключай расширением в свою базу, и разрабатывай СКД через консоль компоновок прямо в клиентском сеансе, чтобы не переключаться между конфигуратором и клиентским сеансом для просмотра отчета.
https://infostart.ru/public/15126/ |
|||
122
Драмаченко Григорий
19.05.22
✎
14:55
|
(121) оГо... спасибо! полетел устанавливать!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |