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

1С:Предприятие ::

Метки:

таблица значений + НайтиЗначение = грабли?

Я
   Crystalizer
26.05.04 - 22:56
есть такое:
    Список = СоздатьОбъект("ТаблицаЗначений");
    список.НоваяКолонка ("тмц", "Строка", , ,"тмц");
    список.НоваяКолонка ("кол", "Число", , ,"Количество");

заполняется

    Ит = СоздатьОбъект("БухгалтерскиеИтоги");    
    ит.ИспользоватьСубконто(ВидыСубконто.ТМЦ, , 1);
    ит.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, "26","23",,3,,"К");
    ит.ВыбратьСубконто(1,,0);                   
    Пока ит.ПолучитьСубконто(1)=1 Цикл
        Если ит.ДО(3) <> 0 Тогда
            список.НоваяСтрока();
            список.тмц=ит.Субконто(1).ПолнНаименование;
            список.кол=ит.ДО(3);
        КонецЕсли;
    КонецЦикла;

вроде всё ок...

потом поиск

        зу = Запрос.ЗначениеУпорядочивания(1);
        с = ПолучитьПустоеЗначение ("число");
           //  зу = текст кароче

        Если Список.НайтиЗначение( зу, с, "тмц")=0 Тогда
            Сообщить("       Ошибка при поиске соответствия ...");
        Иначе
            список.ТекущаяСтрока(с);
            кол = Список.кол;
            Сообщить(кол);
        КонецЕсли;

НЕ НАХОДИТ!!!
кароче скока я не парился всякие параметры передавал - не находит и всё тут! в итоге написал просто в цикле просмотр последовательный и сравнение ;-)

как это сделать правильно шоб НАХОДИЛО таки значение?
 
  Рекламное место пустует
   Asmody
 
1 - 26.05.04 - 23:00
с=0;
   It is me
 
2 - 26.05.04 - 23:02
Есть фишка...При поиске в таблице значений должно быть ТОЧНОЕ совпадение, вплоть до пробелов. То бишь если ищем слово "товар" в колонке строковой длиной 10 символов, надо искать "товар     "...
   SnarkHunter
 
3 - 26.05.04 - 23:02
зу = Запрос.ЗначениеУпорядочивания(1); 
с = 0;  <==
Если Список.НайтиЗначение( зу, с, "тмц")=0 Тогда 
  Сообщить("       Ошибка при поиске соответствия ..."); 
Иначе 
  список.ПолучитьСтрокуПоНомеру(с); < ==
  кол = Список.кол; 
  Сообщить(кол); 
КонецЕсли;
   Crystalizer
4 - 26.05.04 - 23:16
Asmody, SnarkHunter: попробовал! ни разу не нашёл! :((((
я уже и пробелы обрезал...
   It is me
 
5 - 26.05.04 - 23:19
Их не обрезать, их добавить надо...
   SnarkHunter
 
6 - 26.05.04 - 23:25
И это... список.тмц=ит.Субконто(1)
   SnarkHunter
 
7 - 26.05.04 - 23:27
И это... список.НоваяКолонка ("тмц", "Спровочник.Номенклатура");
   It is me
 
8 - 26.05.04 - 23:31
Снарк, тмц то у него - строковый, а вдруг у него основное представление в виде кода :)
Кристалайзер - пойми намек, сделай тмц тип - Справочник.ТМЦ и будет у тебя счастье...только  список.тмц=ит.Субконто(1) действительно и зу=Запрос.ТМЦ (или как у тебя там в запросе справочник обозван)
   Crystalizer
 
9 - 26.05.04 - 23:34
SnarkHunter ты имеешь ввиду Справочник.ТМЦ ;-)
оно конечно резонно
дык грабли в том что после

    Пока Запрос.Группировка(1) = 1 Цикл
        зу = Запрос.ЗначениеУпорядочивания(1);
            ...
зу = строка
т.е. надо находить ЭлементСправочника.НайтиПоНаименованию(зу);
что в общем то тоже не получалось... код уже похерил...
   It is me
 
10 - 26.05.04 - 23:37
ЭлементСправочника.НайтиПоНаименованию(Запрос.ЗначениеУпорядочивания(1)) Это идея! ;))
 
 
   SnarkHunter
 
11 - 26.05.04 - 23:38
На кой тебе зу... Обращайся к элементу справочника... Переменная запроса, соответствующая ТМЦ как у тебя обзывается? Вот ее и используй, например Запрос.ТМЦ...
   Crystalizer
 
12 - 26.05.04 - 23:39
опа... %)
   Crystalizer
 
13 - 26.05.04 - 23:44
УРА! КАТИТ!
через обращение         
Если Список.НайтиЗначение( запрос.продукция, с, "тмц")=0 Тогда
находит :)
It is me, SnarkHunter: спасибо :) я как-то профтыкал момент, что можно обращаться запрос.продукция %)
   Crystalizer
 
14 - 26.05.04 - 23:45
вы просто волшебники! %)


Список тем форума
  Рекламное место пустует
Ошибка? Это не ошибка, это системная функция.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует