powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Специалистам по запросам
28 сообщений из 28, показаны все 2 страниц
Специалистам по запросам
    #36092744
densss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может быть кому-то будет интересно голову поломать... Управление торговлей... Документ ОтчетОРозничных... используются продажи по дисконтным картам(т.ч. Товары, поле ЗначениеУсловияАвтоматическойСкидки). Сабж: как одним запросом получить дисконтную карту и соответствующий ей самый ранний документ в котором она есть??? вот запрос на все документы:

ВЫБРАТЬ
ОтчетОРозничныхПродажахТовары.ЗначениеУсловияАвтоматическойСкидки.Ссылка КАК ЗначениеУсловияАвтоматическойСкидкиСсылка,
ОтчетОРозничныхПродажахТовары.Ссылка
ИЗ
Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
ГДЕ
(НЕ ОтчетОРозничныхПродажахТовары.ЗначениеУсловияАвтоматическойСкидки.Ссылка ЕСТЬ NULL )

СГРУППИРОВАТЬ ПО
ОтчетОРозничныхПродажахТовары.ЗначениеУсловияАвтоматическойСкидки.Ссылка,
ОтчетОРозничныхПродажахТовары.Ссылка
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36093546
Мутабор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
densss,

Сортировать по дате документа, и выбрать первую одну запись.
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36093556
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
будет 1 документ от 1 дисконта. А не первый каждого
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36093599
densss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мутаборdensss,

Сортировать по дате документа, и выбрать первую одну запись.

Не выборкой получить, а в запросе
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36093656
Мутабор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
densssМутаборdensss,

Сортировать по дате документа, и выбрать первую одну запись.

Не выборкой получить, а в запросе

Читай про запросы, так и есть, сортировка, первые записи в количестве 1 штука.
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36093661
Мутабор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МутаборdensssМутаборdensss,

Сортировать по дате документа, и выбрать первую одну запись.

Не выборкой получить, а в запросе

Читай про запросы, так и есть, сортировка, первые записи в количестве 1 штука.

Вообще в контсрукторе хорошо все делается....
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36094105
densss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"будет 1 документ от 1 дисконта. А не первый каждого"
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36094120
densss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Конструкция "ПЕРВЫЕ N" ограничивает количество записей запроса или подзапроса, а нам надо много записей, а не одна
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36094185
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как то так

ВЫБРАТЬ
АвансОтчет.Курьер КАК Курьер,
МИНИМУМ(АвансОтчет.Ссылка) КАК Первыйдокумент
ИЗ
Документ.АвансОтчет КАК АвансОтчет

СГРУППИРОВАТЬ ПО
АвансОтчет.Курьер
АВТОУПОРЯДОЧИВАНИЕ
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36094609
tiniji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господин ПЖкак то так

ВЫБРАТЬ
АвансОтчет.Курьер КАК Курьер,
МИНИМУМ(АвансОтчет.Ссылка) КАК Первыйдокумент
ИЗ
Документ.АвансОтчет КАК АвансОтчет

СГРУППИРОВАТЬ ПО
АвансОтчет.Курьер
АВТОУПОРЯДОЧИВАНИЕ

С удивлением обнаружил что такой запрос не работает... Ппц вообще. Выбираю документ и группирую по проведен (истина, ложь) минимум(ссылка), если по Минимум(Дата) то все окей. А так вообще фигня получается, вылазит март вместо января (нумерация не нарушена).

Я в шоке от 1с )
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36094621
Мутабор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, это я погорячился про ПЕРВЫЕ :)
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36094625
Мутабор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А примерно так получиться нет?


"ВЫБРАТЬ
| ПлатежноеПоручениеВходящее.Контрагент КАК Контрагент,
| ПРЕДСТАВЛЕНИЕ(ПлатежноеПоручениеВходящее.Контрагент),
| ПлатежноеПоручениеВходящее.Дата,
| ПлатежноеПоручениеВходящее.Ссылка КАК Ссылка,
| ПлатежноеПоручениеВходящее.Представление
|ИЗ
| (ВЫБРАТЬ
| МИНИМУМ(ПлатежноеПоручениеВходящее.Дата) КАК Дата,
| ПлатежноеПоручениеВходящее.Контрагент КАК Контрагент,
| ПРЕДСТАВЛЕНИЕ(ПлатежноеПоручениеВходящее.Контрагент) КАК КонтрагентПредставление
| ИЗ
| Документ.ПлатежноеПоручениеВходящее КАК ПлатежноеПоручениеВходящее
| ГДЕ
| (НЕ ПлатежноеПоручениеВходящее.Контрагент.Ссылка ЕСТЬ NULL )
|
| СГРУППИРОВАТЬ ПО
| ПлатежноеПоручениеВходящее.Контрагент) КАК ВложенныйЗапрос
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеВходящее КАК ПлатежноеПоручениеВходящее
| ПО (ПлатежноеПоручениеВходящее.Дата = ВложенныйЗапрос.Дата)
| И (ПлатежноеПоручениеВходящее.Контрагент = ВложенныйЗапрос.Контрагент)
|
|УПОРЯДОЧИТЬ ПО
| Контрагент,
| Ссылка";
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36094982
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tiniji
С удивлением обнаружил что такой запрос не работает...


прямо такой или все таки свой собственный?
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36095093
Хитроглазый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tiniji,
код сначала приведи, который не работает - сразу станет ясно, от кого надо быть в шоке )
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36095151
densss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МутаборА примерно так получиться нет?

Ага, так работает,правда не эстетично как-то имхо.

ВЫБРАТЬ РАЗЛИЧНЫЕ
ВложенныйЗапрос.ЗначениеУсловияАвтоматическойСкидки,
ОтчетОРозничныхПродажахТовары.Ссылка
ИЗ
(ВЫБРАТЬ
ОтчетОРозничныхПродажахТовары.ЗначениеУсловияАвтоматическойСкидки КАК ЗначениеУсловияАвтоматическойСкидки,
МИНИМУМ(ОтчетОРозничныхПродажахТовары.Ссылка.Дата) КАК Дата
ИЗ
Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
ГДЕ
(НЕ ОтчетОРозничныхПродажахТовары.ЗначениеУсловияАвтоматическойСкидки.Ссылка ЕСТЬ NULL )

СГРУППИРОВАТЬ ПО
ОтчетОРозничныхПродажахТовары.ЗначениеУсловияАвтоматическойСкидки) КАК ВложенныйЗапрос
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
ПО ВложенныйЗапрос.ЗначениеУсловияАвтоматическойСкидки = ОтчетОРозничныхПродажахТовары.ЗначениеУсловияАвтоматическойСкидки
И ВложенныйЗапрос.Дата = ОтчетОРозничныхПродажахТовары.Ссылка.Дата


"РАЗЛИЧНЫЕ" для тех случаев, когда значение повторяется несколько раз в одной т.ч.

Всем спасибо.
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36095202
densss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот так

ВЫБРАТЬ РАЗЛИЧНЫЕ
ОтчетОРозничныхПродажахТовары.ЗначениеУсловияАвтоматическойСкидки,
МИНИМУМ(ОтчетОРозничныхПродажахТовары.Ссылка) КАК Ссылка
ИЗ
Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары

СГРУППИРОВАТЬ ПО
ОтчетОРозничныхПродажахТовары.ЗначениеУсловияАвтоматическойСкидки
АВТОУПОРЯДОЧИВАНИЕ

не работает в случае нарушения нумерации, что частое явление в РИБ.
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36095681
слоненок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
densss,
а что вы подразумеваете под "самый ранний документ"?
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36095877
tiniji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
ВЫБРАТЬ
	МИНИМУМ(ПоступлениеТоваровУслуг.Ссылка) КАК Ссылка,
	МИНИМУМ(ПоступлениеТоваровУслуг.Дата) КАК Дата,
	ПоступлениеТоваровУслуг.Проведен
ИЗ
	Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг

СГРУППИРОВАТЬ ПО
	ПоступлениеТоваровУслуг.Проведен

Результат:
ложь Поступление товаров и услуг 00000000521 от 09.03.2009 6:06:08 09.03.2009 6:06:08
истина Поступление товаров и услуг 00000000522 от 09.03.2009 7:29:33 05.01.2009 6:44:40
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36095891
tiniji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
В Реализации вообще что попало

Проведен | Ссылка |Дата
ложь       |Реализация товаров и услуг  00000042120  от  20 . 04 . 2009   8 : 01 : 15  |  08 . 01 . 2008   20 : 46 : 35 
истина	   |Реализация товаров и услуг  00000024041  от  09 . 03 . 2009   4 : 24 : 57  |  04 . 01 . 2009   6 : 35 : 01 
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36096056
Алексей2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2tiniji
тихо сам с собою я веду беседу? может вы в блокнотике у себя будете так разговаривать?

для спящего время бодрствования равносильно сну
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36096287
densss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
слоненокdensss,
а что вы подразумеваете под "самый ранний документ"?

с минимальной датой
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36098363
_VVP_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
densss,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
выбрать
    Т.Ссылка как ДокументКарты,
    Т.ЗначениеУсловияАвтоматическойСкидки как Карта
из (
    выбрать
        минимум(Т1.Ссылка.Дата) как ДатаКарты,
        Т1.ЗначениеУсловияАвтоматическойСкидки как Карта
    из
        Документ.ОтчетОРозничныхПродажах.Товары как Т1
    где
        не Т.ЗначениеУсловияАвтоматическойСкидки.Ссылка есть null
        и Т.Ссылка.Проведен
    сгруппировать по
        Т.ЗначениеУсловияАвтоматическойСкидки
) как Д левое соединение Документ.ОтчетОРозничныхПродажах.Товары как Т по Т.Ссылка.Дата=Д.ДатаКарты и Т.ЗначениеУсловияАвтоматическойСкидки=Д.Карта
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36099078
слоненок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tiniji
Код: plaintext
1.
2.
3.
4.
ВЫБРАТЬ
	МИНИМУМ(ПоступлениеТоваровУслуг.Ссылка) КАК Ссылка,
	МИНИМУМ(ПоступлениеТоваровУслуг.Дата) КАК Дата,
	...

жесть...
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36099352
tiniji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
densssкак одним запросом получить дисконтную карту и соответствующий ей самый ранний документ в котором она есть
Ответ: Никак.
Как получить документы с ранней датой, как привели выше.
А жесть тут не в запросе, а в 1с.
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36099403
слоненок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tiniji
Ответ: Никак.
Как получить документы с ранней датой, как привели выше.
А жесть тут не в запросе, а в 1с.
_VVP_ написал форму правильного запроса.
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36099427
tiniji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Этот "правильный" запрос, получает документы с одинаковой датой. У тебя может быть просто накопировано 10 документов. Так что данный запрос не позволяет выявить самый ранний документ. Тут уже надо циклом пробегать и сравнивать моменты.
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36099603
_VVP_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tinijiЭтот "правильный" запрос, получает документы с одинаковой датой. У тебя может быть просто накопировано 10 документов. Так что данный запрос не позволяет выявить самый ранний документ. Тут уже надо циклом пробегать и сравнивать моменты.
Тебе все равно, какой из документов окажется первым, если даты и время у них полностью совпадают.
Ты физически не можешь их различить, поэтому нечего выдумывать про самый ранний документ - они все "самые ранние".

Можно продолжить приведенный запрос, добавляя отборы минимального номера или минимальной суммы или еще чего-либо группировочного - суть решения от этого не поменяется.

Про моменты: в документации четко сказано, что такое момент - совокупность даты, времени и ссылки на документ. Поэтому сравнивать моменты документов в целях получения самого раннего документа аналогично сравнению дат документов.
...
Рейтинг: 0 / 0
Специалистам по запросам
    #36099771
tiniji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как тут писали выше, как будто разговариваю сам с собой...
Читайте документацию, почитате про ось времени в 1с. Что толку мне доказывать? Просто создаете 2 документа с одинаковым временем пишите: Док1.МоментВремени().Сравнить(Док2.МоментВремени()), и приятно удивляетесь, что 1с может различить какой из документов введен раньше.
...
Рейтинг: 0 / 0
28 сообщений из 28, показаны все 2 страниц
Форумы / [игнор отключен] [закрыт для гостей] / Специалистам по запросам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]