Модераторы: stron
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос, Как правильно написать запрос 
V
    Опции темы
ss18
Дата 29.8.2008, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 15.11.2006

Репутация: нет
Всего: нет



Есть регистр сведений.
В нем есть колонка НомерДоговора.
Там есть договора с номерами, к примеру: В0001, В0002, Н0001, ТВ0001, 023ВА1.

Мне нужно написать запрос таким образом, чтобы пользователь мог задавать правила поиска. 
Например, если в поле указана следующая строка поиска "В*", то искать нужно все записи в поле Номер договора у котрых есть буква "В" стоящая впереди договора, но не выберат записи с буквой "В" допустим со второй позицией с номере, с третьей и т.д.

Насколько я помню, в MySQL можно записать условие поиска в виде "В*", можно ли что-то подобное сделать в 1С?
Функция ПОДОБНО в запросе выдает все номера договоров, в которых вобще есть буква "В". Это меня не устраивает.

Подскажите, как решить эту проблему с поиском.
PM MAIL   Вверх
AkelaSQL
Дата 29.8.2008, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 392
Регистрация: 14.9.2007
Где: Москва

Репутация: 6
Всего: 7



Используй ПОДОБНО "В%" и внимательно почитай описание этой функции, там ещё есть много вкусностей!


--------------------
user posted image
PM MAIL ICQ   Вверх
MaxFoxxy
Дата 14.7.2009, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 24.6.2009

Репутация: нет
Всего: нет



как сделать ПОЛГОЕ ОБЪЕДИНЕНИЕ трех столбцов из разных документов по дате? smile 
PM MAIL   Вверх
AkelaSQL
Дата 14.7.2009, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 392
Регистрация: 14.9.2007
Где: Москва

Репутация: 6
Всего: 7



Конкретизируй, что ты хочешь иметь в итоге.


--------------------
user posted image
PM MAIL ICQ   Вверх
MaxFoxxy
Дата 14.7.2009, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 24.6.2009

Репутация: нет
Всего: нет



В итоге в отчете я задаю период и с одной таблицы должен получить остатки за этот период с другой таблицы возврат а с третей  реализацию товаров... как я понял это запрос с Полным ( или Внутренним) Объединением трех таблиц по дате.. что то типа:
 
Код

|НачалоПериода(РТУ.Ссылка.Дата, День)              КАК ДатаРТУ, 
    |РТУ.Количество                              КАК Реализация,     
    |НачалоПериода(ВТП.Ссылка.Дата, День)                КАК ДатаВТП, 
    |ВТП.Количество                            КАК Возврат,
    |НачалоПериода(ОП.Ссылка.Период, День)                  КАК ДатаОП,
    |ОП.Количество                                          КАК Остатки
    
    |ИЗ
    |Документ.РеализацияТоваровУслуг.Товары                КАК РТУ
    |ВНУТРЕННЕЕ СОЕДИНЕНИЕ
    |Документ.ВозвратТоваровОтПокупателя.Товары        КАК ВТП 
    |ПО
    | РТУ.Ссылка.Дата=ВТП.Ссылка.Дата
    |ВНУТРЕННЕЕ СОЕДИНЕНИЕ
    |Документ.ОстаткиПодразделений.Спецификации          КАК ОП
    |ПО
    | РТУ.Ссылка.Дата=ОП.Ссылка.Дата

    
    |ГДЕ
    | РТУ.Ссылка.Дата МЕЖДУ    &НачальнаяДата И &КонечнаяДата
    | И ВТП.Ссылка.Дата МЕЖДУ    &НачальнаяДата И &КонечнаяДата
    | И ОП.Ссылка.Период МЕЖДУ     &НачальнаяДата И &КонечнаяДата
    


а ошибка "Неоднозначное поле "РТУ.Ссылка.Дата "
ПОМОГИТЕ ПЛЗ smile 
PM MAIL   Вверх
AkelaSQL
Дата 14.7.2009, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 392
Регистрация: 14.9.2007
Где: Москва

Репутация: 6
Всего: 7



Пиши РТУ.Дата

Добавлено через 5 минут и 29 секунд
Только это тебя не спасёт. Тебе нужно обращаться не к шапке документов, а к многострочной части.



--------------------
user posted image
PM MAIL ICQ   Вверх
AkelaSQL
Дата 14.7.2009, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 392
Регистрация: 14.9.2007
Где: Москва

Репутация: 6
Всего: 7



У тебя написано всё почти правильно. Не работает т.к. Дата содержит ещё и время, поэтому при объединении по полю Дата, сначала приведи её к строке без времени. 

Используй либо ВЫРАЗИТЬ, может сработает Лев(Таблица.Ссылка.Дата,8)

Добавлено через 30 секунд
http://www.forum.mista.ru/topic.php?id=388253


--------------------
user posted image
PM MAIL ICQ   Вверх
MaxFoxxy
Дата 14.7.2009, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 24.6.2009

Репутация: нет
Всего: нет



РТУ.Дата нельзя так как Дата - реквизит документа а не табличной части
PM MAIL   Вверх
AkelaSQL
Дата 14.7.2009, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 392
Регистрация: 14.9.2007
Где: Москва

Репутация: 6
Всего: 7



Пиши так:

ВНУТРЕННЕЕ СОЕДИНЕНИЕ
    |Документ.ВозвратТоваровОтПокупателя.Товары        КАК ВТП 
    |ПО
    | НачалоПериода(ВТП.Ссылка.Дата, День)=НачалоПериода(РТУ.Ссылка.Дата, День)


--------------------
user posted image
PM MAIL ICQ   Вверх
MaxFoxxy
Дата 14.7.2009, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 24.6.2009

Репутация: нет
Всего: нет



Код

|НачалоПериода(РТУ.Ссылка.Дата, День)              КАК ДатаРТУ, 
    |РТУ.Количество                                     КАК Реализация,     
    |НачалоПериода(ВТП.Ссылка.Дата, День)                КАК ДатаВТП, 
    |ВТП.Количество                                    КАК Возврат,
    |НачалоПериода(ОП.Ссылка.Период, День)                  КАК ДатаОП,
    |ОП.Количество                                          КАК Остатки
    
    |ИЗ
    |Документ.РеализацияТоваровУслуг.Товары                КАК РТУ 
    |ПОЛНОЕ СОЕДИНЕНИЕ
    |Документ.ВозвратТоваровОтПокупателя.Товары        КАК ВТП 
    |ПО
    | НачалоПериода(ВТП.Ссылка.Дата, День)=НачалоПериода(РТУ.Ссылка.Дата, День)
    |ПОЛНОЕ СОЕДИНЕНИЕ
    |Документ.ОстаткиПодразделений.Спецификации          КАК ОП
    |ПО
    | НачалоПериода(ОП.Ссылка.Дата, День)=НачалоПериода(РТУ.Ссылка.Дата, День)

    
    |ГДЕ
    | НачалоПериода(РТУ.Ссылка.Дата,день) МЕЖДУ    &НачальнаяДата И &КонечнаяДата
    | И  НачалоПериода(ВТП.Ссылка.Дата,День) МЕЖДУ       &НачальнаяДата И  &КонечнаяДата
    | И  НачалоПериода(ОП.Ссылка.Период,День) МЕЖДУ     &НачальнаяДата И &КонечнаяДата
    
    | УПОРЯДОЧИТЬ ПО
    | РТУ.Ссылка.Дата


и все равно :
{Отчет.Календарь(104)}: Ошибка при установке значения атрибута контекста (Текст): {(19, 16)}: Неоднозначное поле "РТУ.Ссылка.Дата"
НачалоПериода(<<?>>РТУ.Ссылка.Дата,день) МЕЖДУ    &НачальнаяДата И &КонечнаяДата
    ПостроительОтчета.Текст = ТекстЗапроса 
 надоело! smile  smile  smile 

PM MAIL   Вверх
AkelaSQL
Дата 14.7.2009, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 392
Регистрация: 14.9.2007
Где: Москва

Репутация: 6
Всего: 7



|НачалоПериода(РТУ.Ссылка.Дата, День)              КАК ДатаВсейЭтойНелепицы, 
    |Сумма(РТУ.Количество)                                     КАК Реализация,     
    |Сумма(ВТП.Количество)                                    КАК Возврат,
    |Сумма(ОП.Количество)                                          КАК Остатки
    |
    |ИЗ
    |Документ.РеализацияТоваровУслуг.Товары                КАК РТУ 
    |ПОЛНОЕ СОЕДИНЕНИЕ
    |Документ.ВозвратТоваровОтПокупателя.Товары        КАК ВТП 
    |ПО
    | НачалоПериода(ВТП.Ссылка.Дата, День)=НачалоПериода(РТУ.Ссылка.Дата, День)
    |ПОЛНОЕ СОЕДИНЕНИЕ
    |Документ.ОстаткиПодразделений.Спецификации          КАК ОП
    |ПО
    | НачалоПериода(ОП.Ссылка.Дата, День)=НачалоПериода(РТУ.Ссылка.Дата, День)
    |
    |СГРУППИРОВАТЬ ПО
    | НачалоПериода(РТУ.Ссылка.Дата,день),
    | НачалоПериода(ВТП.Ссылка.Дата,День),
    | НачалоПериода(ОП.Ссылка.Период,День) 
    |
    |ГДЕ
    | НачалоПериода(РТУ.Ссылка.Дата,день) МЕЖДУ    &НачальнаяДата И &КонечнаяДата
    |
    | УПОРЯДОЧИТЬ ПО
    | НачалоПериода(РТУ.Ссылка.Дата,день)

Добавлено через 1 минуту и 11 секунд
Блоки |СГРУППИРОВАТЬ ПО и  |ГДЕ поменяй местами

Добавлено через 1 минуту и 39 секунд
а то having получился...


--------------------
user posted image
PM MAIL ICQ   Вверх
MaxFoxxy
Дата 15.7.2009, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 24.6.2009

Репутация: нет
Всего: нет



Cпс большое, но что то не то..
Сделал Вложеный запрос в котором тупо 3 Объединени
еще раз СПАСИБО!  smile 
smile 
PM MAIL   Вверх
MaxFoxxy
Дата 16.7.2009, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 24.6.2009

Репутация: нет
Всего: нет



Есть Документ Календарь с реквизитами Дата и номер . в нем табличная часть расписание
Вопрос состоит как для ЗАПОЛНЯЕМОЙ даты поставить проверку на достоверность реквизитов табличной части? обыкновенный Выбор выбирает за все даты...  а надо только для заполняемой..  подскажите что делать плз.... smile  
PM MAIL   Вверх
AkelaSQL
Дата 16.7.2009, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 392
Регистрация: 14.9.2007
Где: Москва

Репутация: 6
Всего: 7



Не делай свалку, организуй новый топик!


--------------------
user posted image
PM MAIL ICQ   Вверх
MaxFoxxy
  Дата 23.7.2009, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 24.6.2009

Репутация: нет
Всего: нет



А как сделать чтоб в результате запроса два выбранных поля записывались в одну ячейку. Типа как чтоли склеить их.... Например чтоб выводить остаток и дату на которую он был в одной ячейке. 
smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "1C: Предприятие, SAP, ERP и учётные системы"
stron

Запрещается!

1. Обсуждение крэков, кейгенов и других подобных программ

Пробуйте искать сами или обращайтесь в приват к участникам форума.

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

Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...)

2. Давать ссылки на взломанные продукты

  • Пожалуйста, пользуйтесь поиском перед тем, как задать вопрос - возможно ответ уже есть на форуме.
  • Название темы должно отражать её суть
  • Действия модераторов можно обсудить здесь

С уважением, stron, Pegas.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема »


 




[ Время генерации скрипта: 0.0931 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.