|
Реализация - Возврат | ☑ | ||
---|---|---|---|---|
0
Bon Jovi
26.05.20
✎
10:28
|
Добрый день. Подскажите пожалуйста, как можно реализация следующий функционал (саму логику): Мне нужно запросом получить количество документов реализации и возврата по позиции так, чтобы они шли друг за другом. То есть идёт документ РЕАЛИЗАЦИИ, за ним документ ВОЗВРАТА. Если же идёт документ РЕАЛИЗАЦИИ, за ним опять документ РЕАЛИЗАЦИИ, то это ошибочная ситуация.
|
|||
1
Ненавижу 1С
гуру
26.05.20
✎
10:30
|
Ничего не понял, пишите/рисуйте подробнее. Можно с примерами.
|
|||
2
ДенисЧ
26.05.20
✎
10:31
|
Я продал Васе. Потом продал Пете.
А потом Вася мне вернул. И с какого перепою это ошибка? |
|||
3
Bon Jovi
26.05.20
✎
10:35
|
(2) Возможно не правильно выразился. Имеется ввиду, что не подходит моему условию.
|
|||
4
Bon Jovi
26.05.20
✎
10:35
|
(1) Наверное как то так https://ibb.co/WxxCkTZ. Если не понятно, то скажите.
|
|||
5
Ненавижу 1С
гуру
26.05.20
✎
10:39
|
(4) то есть нужно число пар соседних в хронологии документов Реализация/Возврат в разрезе каждой номенклатуры?
тогда почему вполне приличные такие пары помечены красным? |
|||
6
bolero
26.05.20
✎
10:51
|
мне кажется, стал популярным тренд у HR или в образовательных целях давать задание "взять рандомный лютый бред, сходить на мисту, задать там вопрос, чтобы на него кто-то результативно ответил", примерно как у пикаперов
|
|||
7
Bon Jovi
26.05.20
✎
10:58
|
(6) Я почему то уверен больше в своей некомпетентности. То есть не могу выразить то, что требуется от меня. Но ничего, как решу, сразу сообщу Вам необходимый результат.
|
|||
8
Bon Jovi
28.05.20
✎
15:19
|
Нужно определить количество последних реализаций (например & = 3). Затем узнать были ли возвраты за дату (& = дата) и в таком же количестве как и реализации (& = 3). То есть, чтобы шли реализация - возврат, реализация - возврат, реализация - возврат. И не было между ними просто реализации без возврата.
|
|||
9
dezss
28.05.20
✎
15:42
|
Все же стоило бы начать с того, какая задача решается.
Потому что в (0) все же написана какая-то фигня. Или задача чисто академическая? |
|||
10
Bon Jovi
28.05.20
✎
15:52
|
(9) ну отставим в сторонку то, что написано в (0). А (8) этого условия не достаточно ?
|
|||
11
Йохохо
28.05.20
✎
15:52
|
(8) так количество или порядок? все же чуть разные вещи
*каршеринг, а 30 лет назад это был прокат |
|||
12
Bon Jovi
28.05.20
✎
15:57
|
(11) У номенклатуры есть документы реализации (например 10 шт.). Мне нужно узнать было ли 3 (например) возврата в "дату" за 3 (например) последних реализации. То есть, чтобы шли реализация - возврат, реализация - возврат, реализация - возврат. И не было между ними просто реализации без возврата.
|
|||
13
MyNick
28.05.20
✎
16:47
|
Выбрать возвраты, левым соединением приджойнить реализации, затем сгруппировать по реализациям
|
|||
14
Garykom
гуру
28.05.20
✎
16:51
|
(12) "традиционный китайский вопрос"
|
|||
15
mistеr
28.05.20
✎
17:42
|
(12) Номенклатура тоже задается или для всех?
|
|||
16
dezss
29.05.20
✎
08:35
|
(12) Вот и интересно, какой в этом практический смысл?
|
|||
17
Bon Jovi
04.06.20
✎
12:18
|
(14) (15) (16) В общем нужно было мне получить три последние документа реализации, у которых был возврат. За возврат расписывать не буду, а вот как получал три последние документа реализации по номенклатуре напишу:
ВЫБРАТЬ Продажи.Номенклатура КАК Номенклатура ПОМЕСТИТЬ НоменклатураВозвратов ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя И НАЧАЛОПЕРИОДА(Продажи.Период, ДЕНЬ) = &ДатаВозврата СГРУППИРОВАТЬ ПО Продажи.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Продажи.Период КАК ДатаРеализации, Продажи.Номенклатура КАК Номенклатура, Продажи.Регистратор КАК Реализация ПОМЕСТИТЬ РеализацииНоменклатуыВозвратов ИЗ НоменклатураВозвратов КАК НоменклатураВозвратов ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи ПО НоменклатураВозвратов.Номенклатура = Продажи.Номенклатура ГДЕ Продажи.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг И НАЧАЛОПЕРИОДА(Продажи.Период, ДЕНЬ) <= &ДатаВозврата СГРУППИРОВАТЬ ПО Продажи.Номенклатура, Продажи.Период, Продажи.Регистратор ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ МАКСИМУМ(РеализацииНоменклатуыВозвратов.ДатаРеализации) КАК ДатаРеализации, РеализацииНоменклатуыВозвратов.Номенклатура КАК Номенклатура ПОМЕСТИТЬ ПервоеСостояние ИЗ РеализацииНоменклатуыВозвратов КАК РеализацииНоменклатуыВозвратов СГРУППИРОВАТЬ ПО РеализацииНоменклатуыВозвратов.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ МАКСИМУМ(РеализацииНоменклатуыВозвратов.ДатаРеализации) КАК ДатаРеализации, РеализацииНоменклатуыВозвратов.Номенклатура КАК Номенклатура ПОМЕСТИТЬ ВтороеСостояние ИЗ РеализацииНоменклатуыВозвратов КАК РеализацииНоменклатуыВозвратов ЛЕВОЕ СОЕДИНЕНИЕ ПервоеСостояние КАК ПервоеСостояние ПО РеализацииНоменклатуыВозвратов.Номенклатура = ПервоеСостояние.Номенклатура И РеализацииНоменклатуыВозвратов.ДатаРеализации = ПервоеСостояние.ДатаРеализации ГДЕ ПервоеСостояние.Номенклатура ЕСТЬ NULL СГРУППИРОВАТЬ ПО РеализацииНоменклатуыВозвратов.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ МАКСИМУМ(РеализацииНоменклатуыВозвратов.ДатаРеализации) КАК ДатаРеализации, РеализацииНоменклатуыВозвратов.Номенклатура КАК Номенклатура ПОМЕСТИТЬ ТретьеСостояние ИЗ РеализацииНоменклатуыВозвратов КАК РеализацииНоменклатуыВозвратов ЛЕВОЕ СОЕДИНЕНИЕ ПервоеСостояние КАК ПервоеСостояние ПО РеализацииНоменклатуыВозвратов.Номенклатура = ПервоеСостояние.Номенклатура И РеализацииНоменклатуыВозвратов.ДатаРеализации = ПервоеСостояние.ДатаРеализации ЛЕВОЕ СОЕДИНЕНИЕ ВтороеСостояние КАК ВтороеСостояние ПО РеализацииНоменклатуыВозвратов.Номенклатура = ВтороеСостояние.Номенклатура И РеализацииНоменклатуыВозвратов.ДатаРеализации = ВтороеСостояние.ДатаРеализации ГДЕ ВтороеСостояние.Номенклатура ЕСТЬ NULL И ПервоеСостояние.Номенклатура ЕСТЬ NULL СГРУППИРОВАТЬ ПО РеализацииНоменклатуыВозвратов.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПервоеСостояние.Номенклатура КАК Номенклатура, РеализацииНоменклатуыВозвратов.Реализация КАК Реализация ИЗ ПервоеСостояние КАК ПервоеСостояние ЛЕВОЕ СОЕДИНЕНИЕ РеализацииНоменклатуыВозвратов КАК РеализацииНоменклатуыВозвратов ПО ПервоеСостояние.Номенклатура = РеализацииНоменклатуыВозвратов.Номенклатура И ПервоеСостояние.ДатаРеализации = РеализацииНоменклатуыВозвратов.ДатаРеализации ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВтороеСостояние.Номенклатура, РеализацииНоменклатуыВозвратов.Реализация ИЗ ВтороеСостояние КАК ВтороеСостояние ЛЕВОЕ СОЕДИНЕНИЕ РеализацииНоменклатуыВозвратов КАК РеализацииНоменклатуыВозвратов ПО ВтороеСостояние.Номенклатура = РеализацииНоменклатуыВозвратов.Номенклатура И ВтороеСостояние.ДатаРеализации = РеализацииНоменклатуыВозвратов.ДатаРеализации ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТретьеСостояние.Номенклатура, РеализацииНоменклатуыВозвратов.Реализация ИЗ ТретьеСостояние КАК ТретьеСостояние ЛЕВОЕ СОЕДИНЕНИЕ РеализацииНоменклатуыВозвратов КАК РеализацииНоменклатуыВозвратов ПО ТретьеСостояние.Номенклатура = РеализацииНоменклатуыВозвратов.Номенклатура И ТретьеСостояние.ДатаРеализации = РеализацииНоменклатуыВозвратов.ДатаРеализации УПОРЯДОЧИТЬ ПО Реализация УБЫВ, Номенклатура ИТОГИ КОЛИЧЕСТВО(Реализация) ПО Номенклатура АВТОУПОРЯДОЧИВАНИЕ |
|||
18
El_Duke
гуру
04.06.20
✎
12:34
|
(16) Смысл как в анекдоте
Сидят солдаты перед казармой и ничего не делают. Подходит прапорщик и орет: - А ну быстро пошли взяли зубные щетки и пошли плац ими драить ! - Тов. прапорщик, а зачем ? Можно же взять метлу, будет быстрее и чище ... - Мне не надо чтоб было чисто, я хочу чтобы вы зае.. лись !!! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |