Имя: Пароль:
1C
1С v8
Помогите пожалуйста с простым запросом - учусь
0 snap870
 
05.11.13
15:25
Дали задание сделать выборку клиентов с определенной области.
Т.к. по код региона пишут не все, то появилась идея искать по первым числам ИНН, однако я не совсем понимаю как задать так чтобы искал из ИНН только первые 4 числа

    ВЫБРАТЬ
    ИНН,
        Наименование
    ИЗ
    Справочник.Контрагенты
    СГРУППИРОВАТЬ ПО
    Наименование,
    ИНН

вроде по смыслу нужно задать параметр "ГДЕ" ИНН будет вводить инн только с первыми 4 интересующими числами. Не подскажите как именно?
1 ДенисЧ
 
05.11.13
15:26
ПОДСТРОКА()
ПОДОБНО
2 wms
 
05.11.13
15:26
см. подобно
3 snap870
 
05.11.13
16:17
Попробовал для Мск.
ВЫБРАТЬ
    ИНН,
    Наименование
ИЗ
    Справочник.Контрагенты
    ГДЕ ИНН ПОДОБНО ("77________")
По сути верно?
Похоже все же чуть мне соврали и поиск ведется не по первым 4м, а по первым двум символам ИНН.
Однако возник вопрос. При таком запросе, что приведен выше, если я верно понимаю, он выдаст списки инн и наименования без соответсвия друг другу?
З.Ы. хотя если подумать задачи соответствия и не стояло изначально, но интересно.
4 NcSteel
 
05.11.13
16:19
ИМХО но надо наркоманам запрещать посещать форум. А то напишут  в постах белиберды и без грибов не поймешь.
5 xantimans
 
05.11.13
16:20
(3)все в соответтсвии выведет
6 xantimans
 
05.11.13
16:21
(4)вот тебя бы и запретить на форуме, он вообще-то и создан чтоб опытом делиться
7 User_Agronom
 
05.11.13
16:22
(1) Подстрока, ИМХО, быстрее сработает
8 NcSteel
 
05.11.13
16:23
(6) Так как можно делиться с опытом с человеком, которые не удосуживается расписать суть своей проблемы. А пишет обрывками и не связно.

Такому пропадает желание помогать....
9 xantimans
 
05.11.13
16:25
(0) нормально ты проблему озвучил, не обращай внимания к сожалению форум давно уже превратился в сборище флудерастов, но помощь все равно можно найти всегда
10 snap870
 
05.11.13
16:29
проверил - выдает ИНН в соответствии с Наименованием.
сейчас посмотрю вариант с Подстрокой тоже.
спасибо за помощь)
11 Пенза58
 
05.11.13
16:32
"ВЫБРАТЬ
    |    ВложенныйЗапрос.ИНН4 КАК ИНН4,
    |    ВложенныйЗапрос.Ссылка КАК Ссылка
    |ИЗ
    |    (ВЫБРАТЬ
    |        ПОДСТРОКА(Контрагенты.ИНН, 1, 4) КАК ИНН4,
    |        Контрагенты.Ссылка КАК Ссылка
    |    ИЗ
    |        Справочник.Контрагенты КАК Контрагенты) КАК ВложенныйЗапрос
    |ГДЕ
    |    ВЫБОР
    |            КОГДА &ЗаполненоПолеОтбора
    |                ТОГДА ВложенныйЗапрос.ИНН4 = &ЗначениеПоляОтрборы
    |            ИНАЧЕ ИСТИНА
    |        КОНЕЦ
    |ИТОГИ ПО
    |    ИНН4,
    |    Ссылка";
12 NcSteel
 
05.11.13
16:35
(11) Зачем так сложно ? ))) почему всю логику не сделать в секции ГДЕ?
13 el7cartel
 
05.11.13
16:37
(11) а зачем через вложенный запрос? мне кажется в разы все проще делается...как озвучили (12) всю логику только в ГДЕ!
14 el7cartel
 
05.11.13
16:39
ВЫБРАТЬ
    Контрагенты.ИНН КАК ИНН,
    Контрагенты.Ссылка КАК Ссылка
ИЗ
    Справочник.Контрагенты КАК Контрагенты
ГДЕ
    ПОДСТРОКА(Контрагенты.ИНН, 0, 2) = &ИНН
ИТОГИ ПО
    ИНН
15 Пенза58
 
05.11.13
16:40
(12) Это если нужен отбор по одному региону, а если надо вывести список всех контрагентов с разбивкой по регионам?
16 el7cartel
 
05.11.13
16:44
(15) тогда уж лучше не париться, а просто вытащить данные из регистра сведений "Адресный классификатор" и сопоставить по коду региона из запроса! вот
17 Мыш
 
05.11.13
16:56
ПОДОБНО ("77%")
18 Пенза58
 
05.11.13
16:58
(16) в (0)  "код региона пишут не все"
19 zak555
 
05.11.13
17:42
> появилась идея искать по первым числам ИНН

неправильная идея

1. у предприятия может быть "обособка" в разных регионах
2. предприятие могло зарегистрироваться в питере 76ХХ, а потом переехать в столицу

таким образом нужно анализировать КПП
20 snap870
 
13.11.13
10:14
UP.
Руководство добавило задачу (вполне предсказуемую) : дополнительно выводило чтобы контакты для связи(адрес и прочее) Если открывать саму программу и в ней выбрать контрагента, то там есть меню "контакты" с нужными данными. А как их можно добавить к тому же списку? Контакты, похоже не находятся в контрагентах, а где то ещё( пока не нашел где). Но чую  там понадобится объединять таблицы - не подскажите в каком направлении копать? С виртуальными таблицами работать?
21 vicof
 
13.11.13
10:21
(20) регистр сведений "контактная информация"
22 ЧеловекИз Прошлого
 
13.11.13
10:22
(20) а что за конфа? типовая или учебная? найди регистр сведений, потом левое соед. в запросе к твоему контрагенту
23 snap870
 
13.11.13
10:30
Управление Торговлей 10.3
24 ЧеловекИз Прошлого
 
13.11.13
10:58
(23) см (21)
25 snap870
 
13.11.13
13:26
ВЫБРАТЬ
    ИНН,
    Наименование
    ИЗ
    Справочник.Контрагенты
  
ЛЕВОЕ внешнее соединение
РегистрСведений.КонтактнаяИнформация
по
Наименование=Объект
ГДЕ ИНН ПОДОБНО ("__________")

не получается чего-то( неправильные атрибуты соединения?(
26 snap870
 
13.11.13
14:21
up(
27 snap870
 
14.11.13
10:21
переделал запрос,если делать такой запрос то нужные мне данные находятся в поле "представление". По запросу видно, что таких полей несколько в разных реквизитах - юредический адрес, фактический и т.д. Если писать "выбрать представление из" то пишет, что поле представление неоднозначное - как можно обойти ту ошибку? самые наглядные данные то именно в этом поле.

ВЫБРАТЬ
  *
           ИЗ
    Справочник.Контрагенты
  
Левое соединение
РегистрСведений.КонтактнаяИнформация
по
Ссылка=Объект
ГДЕ ИНН ПОДОБНО ("48________")
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший