Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.08.26;
Скачать: [xml.tar.bz2];

Вниз

по 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.04 c
15-1185309114
Dr. Andrew
2007-07-25 00:31
2007.08.26
Как прервать инсталляцию в Inno Setup до распаковки файлов?


15-1185518158
DevilDevil
2007-07-27 10:35
2007.08.26
Умная литература. Ведение/планирование проекта/подзадачи


15-1185939647
Inearthed
2007-08-01 07:40
2007.08.26
Как писать документацию чтобы юзер понял?


15-1185345776
WondeRu at work
2007-07-25 10:42
2007.08.26
Кинули на фрилансе


1-1182243710
DrAndrew
2007-06-19 13:01
2007.08.26
Ошибка #10061 у IdHTTP1. Как исправить?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский