Вход | Регистрация



Примитивный запрос, в консоле работает, в конфе выборка пустая.

Примитивный запрос, в консоле работает, в конфе выборка пустая.
Я
   bizon2008
 
22.10.18 - 13:20
Доброго.
Функция НайтиКонтрагентаПоИНН(ИНН)
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    Контрагенты.Ссылка КАК Контрагент
        |ИЗ
        |    Справочник.Контрагенты КАК Контрагенты
        |ГДЕ
        |    Контрагенты.ИНН = &ИНН";


    Запрос.УстановитьПараметр("ИНН", ИНН);
    Результат = Запрос.Выполнить().Выбрать();
    Возврат  Результат.Контрагент;
    
КонецФункции    

Такой кусок кода.

Поставил точку остановки на 
Возврат  Результат.Контрагент;
Результат - пусто, неопределенно. ИНН есть типа строка.
Копирую запрос в консоль запросов, и туда же значение ИНН.
Там все работает.
В кофе пусто.
Где затупил однако?
 
 
   Zmich
 
1 - 22.10.18 - 13:21
(0). Пока Результат.Следующий()...
   1Сергей
 
2 - 22.10.18 - 13:21
В параметрах проблема. Инфа концентрированная - 100%
   bizon2008
 
3 - 22.10.18 - 13:28
(1) Мне первое значение надо.
(2) Дык я отладчиком смотрю. Есть тама значение.
   Zmich
 
4 - 22.10.18 - 13:30
(3). Мда. Ты на выборке без Следующий() не спозиционируешься. Ну на тебе первое значение:
Если Результат.Следующий() Тогда
  Возврат Результат.Контрагент;
КонецЕсли;
   bizon2008
 
5 - 22.10.18 - 13:35
(4) Ды хрен с ним, у мну в отлачике 
Результат = Запрос.Выполнить().Выбрать();
здесь уже пусто.
   RomanYS
 
6 - 22.10.18 - 13:37
(5) С чего ты взял?
Результат.Количество() что возвращает?
Ты первый раз запрос используешь?
   AlexandrPetrov
 
7 - 22.10.18 - 13:40
(5)  Запрос.УстановитьПараметр("ИНН", ИНН);
    Результат = Запрос.Выполнить().Выбрать();
    Результат.Следующий();
    Возврат  Результат.Контрагент;
   bizon2008
 
8 - 22.10.18 - 13:41
(6) Дык я поставил току остановки на последнюю строку функции.
Стал на Результат Шифт+Ф9, Вычислить выражение, а тама нету ничего.
   1Сергей
 
9 - 22.10.18 - 13:41
(8) Что ты там собирался увидеть?
   bizon2008
 
10 - 22.10.18 - 13:44
Ладно хрен с ним, переделал НайтиПоРеквизиту.
 
 Рекламное место пустует
   bizon2008
 
11 - 22.10.18 - 13:44
(9) Очевидно же, результат выполнения запроса.
   1Сергей
 
12 - 22.10.18 - 13:46
(11) а не выборку? :)
   Timon1405
 
13 - 22.10.18 - 14:04
(8) Запрос.Выполнить().Выгрузить()[0] в отладчике видно?
   ЦиркУехал
 
14 - 22.10.18 - 14:25
Про КПП говорить или лучше не надо?
   ЦиркУехал
 
15 - 22.10.18 - 14:31
с чего вообще, пришла идея изобрести велосипед ?
   aleks_default
 
16 - 22.10.18 - 14:32
(15)Да все, осознал он уже
   ЦиркУехал
 
17 - 22.10.18 - 14:34
(16) да чета нет походу, так как контрагенты так не ищутся.
и так НайтиПоРеквизиту тоже.
   bizon2008
 
18 - 22.10.18 - 15:14
Это почему же? Все отлично работает. ИНН уникален же.
   bizon2008
 
19 - 22.10.18 - 15:14
(14) Ну напугай меня.
   Salimbek
 
20 - 22.10.18 - 15:23
(0) Может там ИНН с лишними пробелами?
Ну и согласен с (13) "Запрос.Выполнить().Выгрузить()[0] в отладчике видно?"
   ZDenis
 
21 - 22.10.18 - 15:34
(18) ИНН уникален в налоговой, а в базе может быть куча контрагентов с одинаковым ИНН
   Mankubus
 
22 - 22.10.18 - 15:37
Не хватает Следующий(), вы чего. Инфа 100%
   dezss
 
23 - 22.10.18 - 15:39
рукалицо...
ответ же в (1), чего дальше тут перетирать? %)
   bizon2008
 
24 - 22.10.18 - 15:58
(21) В базе тоже.
   ЦиркУехал
 
25 - 22.10.18 - 15:59
(19)
да вот решение
которое давно бы следовало найти

// Определяем контрагента

    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    Контрагенты.Ссылка,
    |    Контрагенты.КПП
    |ИЗ
    |    Справочник.Контрагенты КАК Контрагенты
    |ГДЕ
    |    Контрагенты.ИНН = &ИННПоставщика";
    Запрос.УстановитьПараметр("ИННПоставщика", РеквизитыРеестра.ИННПоставщика);
    Результат = Запрос.Выполнить();
    Если НЕ Результат.Пустой() Тогда
        ТаблицаИНН = Результат.Выгрузить();
        // Поиск по ИНН и КПП

        Если СтрДлина(РеквизитыРеестра.ИННПоставщика) = 10 
            И ЗначениеЗаполнено(РеквизитыРеестра.КПППоставщика) Тогда
            ТаблицаКПП = ТаблицаИНН.Скопировать(Новый Структура("КПП", РеквизитыРеестра.КПППоставщика));
            Если ТаблицаКПП.Количество() > 1 Тогда
                РеквизитыРеестра.НадписьКонтрагент = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
                    НСтр("ru='Найдено несколько контрагентов с ИНН %1 и КПП %2'"),
                    РеквизитыРеестра.ИННПоставщика,
                    РеквизитыРеестра.КПППоставщика);
            ИначеЕсли ТаблицаКПП.Количество() = 1 Тогда
                РеквизитыРеестра.Контрагент = ТаблицаКПП[0].Ссылка;
            КонецЕсли;
        КонецЕсли;
        // Поиск по ИНН

        Если НЕ ЗначениеЗаполнено(РеквизитыРеестра.Контрагент) Тогда
            Если ТаблицаИНН.Количество() > 1 Тогда
                РеквизитыРеестра.НадписьКонтрагент = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
                    НСтр("ru='Найдено несколько контрагентов с ИНН %1'"),
                    РеквизитыРеестра.ИННПоставщика);
            ИначеЕсли ТаблицаИНН.Количество() = 1 Тогда
                РеквизитыРеестра.Контрагент = ТаблицаИНН[0].Ссылка;
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;
   bizon2008
 
26 - 22.10.18 - 15:59
(23) А вот болт.
Пусто.
   bizon2008
 
27 - 22.10.18 - 15:59
(13) Нет. Пустой тоже.
   dezss
 
28 - 22.10.18 - 16:02
(25) РеквизитыРеестра.НадписьКонтрагент у тебя может перезаписаться.
(26) брешешь...показывай код...
   fenement
 
29 - 22.10.18 - 16:04
Используйте ПОДОБНО
   bizon2008
 
30 - 22.10.18 - 16:06
(25) Да ну нафуй. Это перебор уже.
   ЦиркУехал
 
31 - 22.10.18 - 16:06
(29) только не это..

(28) это не у меня а у разрабов 1с , да и это ж так ошибку вывести.
я велосипеды стараюсь не изобретать.
   dezss
 
32 - 22.10.18 - 16:07
(29) забыл написать НЕ перед началом предложения?)))
   bizon2008
 
33 - 22.10.18 - 16:08
(28) Весь код в (0), а рабочий я уже переделал в НайтиПо Реквизиту.
Ихмо глюк платформы. У мну тут переписанная УПП, натянутая на 8,3, странного релиза.
 
 
   ЦиркУехал
 
34 - 22.10.18 - 16:08
(30) Учение 1с Верно потому что правильно. :)
где ты тут перебор увидел?
   ЦиркУехал
 
35 - 22.10.18 - 16:10
(33) когда захотят 2 контрагентов с одинаковым ИНН, но с разным КПП, а такое возможно, твой код "НайтиПо Реквизиту" накроется медным тазом.
   asady
 
36 - 22.10.18 - 16:11
(0) тип реквизита ИНН у тебя какой?
строка сколько символов?
   dezss
 
37 - 22.10.18 - 16:12
(33) ты это серьезно или совсем не очень в запросах?
   ЦиркУехал
 
38 - 22.10.18 - 16:12
(36) стандартная наверно, и она варьируется.
он этого еще не понял.
   cons24
 
39 - 22.10.18 - 16:13
(18), (21) ИНН ни разу не уникален!
Сам наталкивался на такое.
Начиная с того что в разных субъектах 2 организации с одним ИНН, заканчивая 2одна закрылась, другая открылась - ИНН дали от первой".
   ЦиркУехал
 
40 - 22.10.18 - 16:15
(39) в то то и оно, что в Субъектах...
и тут открывается сакральная правда о КПП.
   fenement
 
41 - 22.10.18 - 16:17
(31)(32) ИНН имеет строковый тип
   dezss
 
42 - 22.10.18 - 16:17
(37) + чтоб стать на первую запись, надо выполнить Следующий() у выборки.
   bizon2008
 
43 - 22.10.18 - 16:17
Блин это шабашка, надо было быстро и дешево, я уже давно закобасил и ускакал. Вылезет задница, переделаю. Гарантия три месяца.
   ЦиркУехал
 
44 - 22.10.18 - 16:18
(41) ииии??
   ЦиркУехал
 
45 - 22.10.18 - 16:19
(43) копрокод во всей красе.
я бы постеснялся.
   bizon2008
 
46 - 22.10.18 - 16:19
(37) А вот тут я не понял, чем тебе мой запрос не нравится?
   bizon2008
 
47 - 22.10.18 - 16:19
(45) А что ты хочешь за 500 рублей?
   ZDenis
 
48 - 22.10.18 - 16:20
(39) Сам же пишешь один закрылся, второй открылся. Т.е одновременно две с одним ИНН быть не могут (это я про налоговую), а в базе 1С что угодно
   ЦиркУехал
 
49 - 22.10.18 - 16:21
(47) скопипастить код стоит 500 руб??
ух ты.
1. находим код типовой
2. Копипастим.
3. профит.
 
 Рекламное место пустует
   dezss
 
50 - 22.10.18 - 16:21
(46) тем, что ты его написал, но обрабатывать результат не хочешь...
   ЦиркУехал
 
51 - 22.10.18 - 16:22
(48) могут с разными КПП, это не открылся закрылся, а открылся в одном месте и потом еще раз открылся в другом.
   ZDenis
 
52 - 22.10.18 - 16:24
(51) Это будет одно организация с разными обособленными подразделениями
   bizon2008
 
53 - 22.10.18 - 16:25
(50) Есть такое. Не получилось однако.
   ЦиркУехал
 
54 - 22.10.18 - 16:25
(52) ну да, хранится то она в УПП как разные Контрагенты.
   ZDenis
 
55 - 22.10.18 - 16:27
(54) я и говорю еще раз)), что в базе 1С может быть что угодно, а в налоговой он уникален
   ЦиркУехал
 
56 - 22.10.18 - 16:28
(55) подозреваю что нет, так как Фокус и Спарк требуют КПП в Своем АПИ.
   Сияющий в темноте
 
57 - 23.10.18 - 21:37
СокрЛП в инн уже предлагали?
И,очень внимательно посмотреть на тип строки в записи ИНН,не фиксированная ли она
   Tahallus
 
58 - 23.10.18 - 21:45
(0) и это у человека опыта 11 лет. жесть


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует