Имя: Пароль:
1C
1С v8
гарантийный талон 8.2 УТ 10.3
0 3463
 
14.08.13
10:59
.2 УТ 10.3 гарантийный талон выводится через РеализациюТоваровУслуг ,выводит каждую строку 6 раз,то есть если в талоне 10 записей то умножай на 6.не пойму в чем дело.гарантию заполняет,но и пустые значения в которых нет гарантии тоже заполняет.бесит,что делать???

Почему мою тему закрыли??я конечно понимаю,что с такими умными и смыслящими в 1с людьми мне не сравниться,но можно же нормально отвечать.

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

Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
Результат = Запрос.Выполнить();
ОбластьТаблицаДетали = Макет.ПолучитьОбласть("ТаблицаДетали");
ВыборкаДетальныеЗаписи = Результат.Выбрать();

Если ВыборкаДетальныеЗаписи.Количество()<=0 Тогда
Сообщить("В документе не найдены товары. Печать ГарантийногоТалона не возможна.", СтатусСообщения.Важное);
Возврат Ложь;
КонецЕсли;

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Для Ин = 1 по ВыборкаДетальныеЗаписи.Количество Цикл
ОбластьТаблицаДетали.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
ОбластьТаблицаДетали.Параметры.Гарант = ВыборкаДетальныеЗаписи.Гарантия;
ОбластьТаблицаДетали.Параметры.Кол = ВыборкаДетальныеЗаписи.Количество;
ТабДокумент.Вывести(ОбластьТаблицаДетали);
КонецЦикла;
КонецЦикла;
1 craxx
 
14.08.13
11:00
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СерииНоменклатуры КАК СерииНоменклатуры
| ПО РеализацияТоваровУслугТовары.СерияНоменклатуры = СерииНоменклатуры.Ссылка,
| РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов

вот тута проблема
где условия на соединение с регистром сведений ЗначенияСвойствОбъектов
2 Шапокляк
 
14.08.13
11:01
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Для Ин = 1 по ВыборкаДетальныеЗаписи.Количество Цикл///ВОТ ЭТО УБЕРИ
ОбластьТаблицаДетали.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
ОбластьТаблицаДетали.Параметры.Гарант = ВыборкаДетальныеЗаписи.Гарантия;
ОбластьТаблицаДетали.Параметры.Кол = ВыборкаДетальныеЗаписи.Количество;
ТабДокумент.Вывести(ОбластьТаблицаДетали);
КонецЦикла;///И ЭТО
3 craxx
 
14.08.13
11:01
+(1) он потому и 6 раз тебе повторяет строку, потому что видимо в номенклатуре 6 значений свойств
4 Csar
 
14.08.13
11:03
(0) сначала как (2) говорит попробуй
5 3463
 
14.08.13
11:03
убрала,все так же
6 craxx
 
14.08.13
11:04
код сюда скинь, как убрала?
7 3463
 
14.08.13
11:05
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
//Для Ин = 1 по ВыборкаДетальныеЗаписи.Количество Цикл
ОбластьТаблицаДетали.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
ОбластьТаблицаДетали.Параметры.Гарант = ВыборкаДетальныеЗаписи.Гарантия;
ОбластьТаблицаДетали.Параметры.Кол = ВыборкаДетальныеЗаписи.Количество;
ТабДокумент.Вывести(ОбластьТаблицаДетали);
КонецЦикла;
//КонецЦикла;
8 craxx
 
14.08.13
11:06
(7) запрос у тебя косячный
9 3463
 
14.08.13
11:07
(8) что с ним сделать то,все вроде норм
10 craxx
 
14.08.13
11:08
в (1) я тебе написал
где условия связи с ЗначенияСвойствОбъектов?
11 3463
 
14.08.13
11:10
прости,но я не понимаю в чем проблема
12 3463
 
14.08.13
11:10
аааа
13 3463
 
14.08.13
11:10
условия то нет,вот ведь я
14 craxx
 
14.08.13
11:13
не переживай, все получится))
15 3463
 
14.08.13
11:16
вот что сделала,лишние строчки пропали..но гарантия не выводится совсем

|ИЗ
|    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
|        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СерииНоменклатуры КАК СерииНоменклатуры
|        ПО РеализацияТоваровУслугТовары.СерияНоменклатуры = СерииНоменклатуры.Ссылка
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
|        ПО РеализацияТоваровУслугТовары.ХарактеристикаНоменклатуры = ЗначенияСвойствОбъектов.Значение
16 3463
 
14.08.13
11:16
конечно получится,только вопрос в том сколько времени это все занимает)))
17 3463
 
14.08.13
11:36
хнык хнык
18 Jonny_Khomich
 
14.08.13
11:37
Алёна даст
19 3463
 
14.08.13
11:38
не нормальности какие
20 3463
 
14.08.13
11:38
вот вроде бы взрослый человек
21 Jonny_Khomich
 
14.08.13
11:40
(20) вроде бы работаешь, деньги получаешь, а толка нет от тебя. а я в душе ребёнок.
22 3463
 
14.08.13
11:42
(21)не вижу смысла продолжать с вами беседу,все когда-то начинали, не все сразу просто и гладко
23 lamme
 
14.08.13
11:42
предлагаю - если не получается сделать в одном запросе много таблиц
делать по принципу от простого к сложному
т.е. - делаешь 1 простой запрос по 1 таблице.
при обходе результата запроса  - делаешь кучку маленьких по добавочным таблицам.
куришь.
думаешь.
убираешь 1 маленький запрос из обхода в большой.
получаешь результат
куришь.
думаешь.
...

ну т.е. от простого к сложному
всяко ошибка вылезет и поймешь как решать
24 Cyberhawk
 
14.08.13
11:43
(15) последнюю строку попробуй заменить на

|        ПО РеализацияТоваровУслугТовары.ХарактеристикаНоменклатуры = ЗначенияСвойствОбъектов.Объект
25 3463
 
14.08.13
11:51
(24) не идет
26 3463
 
14.08.13
11:55
ну все ,справилась.поменяла на
ПО РеализацияТоваровУслугТовары.Номенклатура = ЗначенияСвойствОбъектов.Объект

спасибо за идеи
27 craxx
 
14.08.13
12:27
(26) вот видишь, я верил в тебя!
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой