Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.26;
Скачать: CL | DM;

Вниз

по 1с не поможите? ТЗ.НайтиЗначение не работает что-то..   Найти похожие ветки 

 
Vlad Oshin ©   (2007-07-25 16:21) [0]

 
                        СпрТов=СоздатьОбъект("Справочник.Товары");
 спрТов.ВыбратьЭлементы();
 Т.вывестиСекцию("ШапкаНеВошедших");
 пока спрТов.ПолучитьЭлемент()=1 цикл
 // если БылЛи(спрТов)=1 тогда продолжить; конецесли;
  СТ=спрТов.наименование;
  если ТЗ.НайтиЗначение(СТ,,)=0
  тогда
   
   если спрТов.принадлежитгруппе(ВыбТов)=1
   тогда
    если спрТов.ЭтоГруппа()=0
    тогда Т.вывестиСекцию("НеВошедшие");
    иначе Т.вывестиСекцию("ГрНВ");
    конецесли;
   конецесли;
   
  конецесли;
 конеццикла;



Jaguar    
Ножницы прямые Pre Style Slice 5.5 82555 0 48 58679.72 1
Ножницы прямые Satin  6.5" ** 0365 0 5 5516.83 1
Ножницы прямые простые  6 2460JAG 0 17 7644.46 5
ЯГУАР У    
Ножницы прямые  Cj II 5,5 9955 0 1 2190.6 1Итого     1299

// выше - вывод ТЗ(ВыбратьСтороки, пока ПолучитьСтроку=1 и т.д.). Ниже, вывод по коду.

Товар, в выбранной группе товаров, не вошедший в список выше    
14 АКЦИЯ    
Jaguar    
ЯГУАР У    
Ножницы прямые  Cj II 5,5 9955
 

Целый день мучаюсь.. В чем дело?


 
Vlad Oshin ©   (2007-07-25 16:23) [1]

Т.е., если нет в ТЗ тогда выводить
А выводит 2 раза.
Значит, не находит, хоть оно там есть. Сам же вывел перед этим


 
Piter ©   (2007-07-25 16:30) [2]

Vlad Oshin ©   (25.07.07 16:21)
СпрТов=СоздатьОбъект("Справочник.Товары");
спрТов.ВыбратьЭлементы();
Т.вывестиСекцию("ШапкаНеВошедших");
пока спрТов.ПолучитьЭлемент()=1 цикл
// если БылЛи(спрТов)=1 тогда продолжить; конецесли;
 СТ=спрТов.наименование;
 если ТЗ.НайтиЗначение(СТ,,)=0
 тогда
 
  если спрТов.принадлежитгруппе(ВыбТов)=1
  тогда
   если спрТов.ЭтоГруппа()=0
   тогда Т.вывестиСекцию("НеВошедшие");
   иначе Т.вывестиСекцию("ГрНВ");
   конецесли;
  конецесли;
 
 конецесли;
конеццикла;


УЖААААААС


 
tesseract ©   (2007-07-25 16:37) [3]

Ужас, говори что надо сделать.

и ТЗ это таблица значений ? а где номер строки - без него может не сработать, передавай нулевое. И СокрЛП рулит по любому.


 
tesseract ©   (2007-07-25 16:40) [4]

Да и лучше создай колонку "коды" - по ним и поиск быстрее и всё + задай в колонках ТЗ, что ты там хранишь - тоже пошустрее будет, а то по умолчанию там Variant.


 
Vlad Oshin ©   (2007-07-25 16:44) [5]


> а где номер строки - без него может не сработать

сейчас попробую

СокрЛП - не надо, имхо.
В ТЗ (да, это таблица значений) хранится товар из справочника и с чем сравниваю тоже из справочника.


> говори что надо сделать.

надо вывести все товары из справочника, которых нет в таблице значений.


 
Vlad Oshin ©   (2007-07-25 16:57) [6]

ТЗ.НайтиЗначение(СТ,,)=0

переписал как


 Функция БылЛи(тов);
 Тз.ВыбратьСтроки();
 пока тз.получитьстроку()=1 цикл
    если строка(тов)=строка(тз.наименование)
 тогда
  возврат 1;
 конецесли;
 конеццикла;
 возврат 0;
КонецФункции

т.е. тупо по строчкам, с приведением к строке.
все работает.
по другому не хочет. Да в принципе, ладно, пойдет. Долго только несколько..


 
tesseract ©   (2007-07-25 17:21) [7]


> по другому не хочет. Да в принципе, ладно, пойдет. Долго
> только несколько..


Выгрузи в список значений и потом ище в ТЗ по номеру строки - будет пошустрее, и по кодам, только по кодам, строки - тормозные, в 1с значат все 99 знаков наименования.

ЗЫ: Т.Е ты справочники занисишь в таблицу и потом хочешь чтобы они быстро приводились к собственным наименованиям по стандартно заданному конфе представлению - конечно будет тормозить!


 
Vlad Oshin ©   (2007-07-25 17:28) [8]

нет, я рассчитываю хорошо проданющиеся товары, заношу их в ТЗ, потом распечатываю(ну там что почем и сколько продали).
Потом нужно распечатать непроданные/плохо продающиеся товары.

Логично, что это = (все из справочника) - (те, что уже выведены).


 
Polevi ©   (2007-07-25 17:28) [9]

выглядит отвратно


 
tesseract ©   (2007-07-25 17:33) [10]


> нет, я рассчитываю хорошо проданющиеся товары, заношу их
> в ТЗ, потом распечатываю(ну там что почем и сколько продали).
>


Ты извращенец!!!!!! В стандартной книжке по 1с есть пример в котором всё это на запросе разобрано, И вроде даже в конфу стандартную входит. Работает в десятки раз быстрее твоего художества (извини, но это так).
У меня есть пример продажи партий по поступлениям, но там ~ 1200 строк без коментариев + куча специфичных вспомогательных данных.


> Polevi ©   (25.07.07 17:28) [9]


Я про то же, такую схему франчи используют очень часто.


 
Vlad Oshin ©   (2007-07-25 17:47) [11]

почитаю книжку..
когда ничего не помогает - надо инструкцию прочитать, согласен :)

тогда такой вопрос, последний
спрТов - "справочник"

 спрТов.ИспользоватьРодителя(ВыбТов,0);
 спрТов.ВыбратьЭлементы();
Выбираются элементы только данного родителя?
Другие в выборку не попадут?


 
Vlad Oshin ©   (2007-07-25 18:12) [12]

судя по всему, не попадают.
гораздо быстрее стало.

а так (подсказали )
если ТЗ.НайтиЗначение(спрТов.ТекущийЭлемент(­),,)=0
и искать стал, и скорость приличная.


 
tesseract ©   (2007-07-25 18:13) [13]


>  спрТов.ИспользоватьРодителя(ВыбТов,0);


Да. Просто если 0 его нельзя будет поменять в выборке.


 
tesseract ©   (2007-07-25 18:14) [14]


> и искать стал, и скорость приличная.


Только нарузка возрастёт, лучше запросами. Быстрее в разы. Пример в первом томе есть.


 
Piter ©   (2007-07-25 18:20) [15]

а по английски в 1C программировать нельзя?

Выглядит нелепо...


 
tesseract ©   (2007-07-25 18:27) [16]


> а по английски в 1C программировать нельзя?


Можно. Но зачем ?


 
Piter ©   (2007-07-25 20:52) [17]

tesseract ©   (25.07.07 18:27) [16]
Можно. Но зачем ?


что значит зачем? Я уже сказал - потому что выглядит нелепо. Хоть что мне говори - пофигу, после классики это выглядит хреново.


 
Vlad Oshin ©   (2007-07-26 00:29) [18]


> а по английски в 1C программировать нельзя?

я стал было - начальник сказал не надо так. делай как все. как завелось


 
Petr V. Abramov ©   (2007-07-26 01:02) [19]

> Vlad Oshin ©   (26.07.07 00:29) [18]
>> а по английски в 1C программировать нельзя?
>>>я стал было - начальник сказал не надо так. делай как все. как завелось
бухгалтер поймет, в случае чего :))))



Страницы: 1 вся ветка

Текущий архив: 2007.08.26;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.02 c
6-1168272805
аматор
2007-01-08 19:13
2007.08.26
"жук" для поиска по сайтам


15-1185473815
sdarqweqwe
2007-07-26 22:16
2007.08.26
настройка windows


15-1185260598
boriskb
2007-07-24 11:03
2007.08.26
"Кысь"


1-1181993151
GrayWolf
2007-06-16 15:25
2007.08.26
Отличия работы RTTI в Delphi for NET от Delphi for Win32


15-1185303927
arnage
2007-07-24 23:05
2007.08.26
АРхиватор