Имя: Пароль:
1C
1С v8
ПриПолученииДанных
0 Renat11111
 
24.10.11
10:15
Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
     ОформлениеСтрокиПоНоменклатуре = Новый Соответствие;
     ОтображаемыеТовары = Новый Массив;

     Для каждого ОформлениеСтроки из ОформленияСтрок Цикл
           Товар = ОформлениеСтроки.ДанныеСтроки.Ссылка;

           // Заполнить  массив отображаемых номенклатурных позиций
           ОтображаемыеТовары.Добавить(Товар);

           // Заполнить соответствие товара и оформления строки
           ОформлениеСтрокиПоНоменклатуре.Вставить(Товар, ОформлениеСтроки);
     КонецЦикла;

     // Сформировать запрос для получения остатков
     Запрос = Новый Запрос;      

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

           // Вывести остаток в строку, найденную в соответствии
           // по номенклатуре из запроса
           ОформлениеСтрокиПоНоменклатуре.Получить(Выборка.Номенклатура).Ячейки.Штрихкод.Значение = Выборка.Штрихкод;

     КонецЦикла;
   
КонецПроцедуры


Вроде бы все просто.... но на списке не верно штрихкод отображает.

Отладчиком смотрел правильные значения присваивает тут

ОформлениеСтрокиПоНоменклатуре.Получить(Выборка.Номенклатура).Ячейки.Штрихкод.Значение = Выборка.Штрихкод;
1 Рэйв
 
24.10.11
10:20
Сделал бы при выводе строки и не мучался
2 Renat11111
 
24.10.11
10:24
(1) все говорят при получении данных лучше использовать... в нете пару статей перечитал
3 Renat11111
 
24.10.11
10:25
самое интересно запрос отрабатывает правильно, присваивание значения тоже правильно. а в итоге х...ня
4 Рэйв
 
24.10.11
10:26
(2)Оно быстрее, но когда это не сильно критично, проще пользовать ПриВыводеСтроки.
5 Renat11111
 
24.10.11
10:31
(4) По теме объяснить сможешь почему такое происходит?
6 Рэйв
 
24.10.11
10:34
(5)Может дубли номенклатуры?  При дублях твой код, имхо, криво работать будет
7 Renat11111
 
24.10.11
10:35
дублей нет.... один и тот же штрихкод присваивает 4 позициям. хотя к ним штрихкод никакого отношения не имеет
8 Renat11111
 
24.10.11
10:35
иногда 2-м позициям иногда 3-м. При чем всегда идуд друг за другом
9 НЕА123
 
24.10.11
10:37
хз.
делал типа так.
отображатьТекст = Истина;
Текст = ШтрихКод;
10 Renat11111
 
24.10.11
10:41
(9) сорри за тупость отображатьТекст это свойство (метод) чего?
11 НЕА123
 
24.10.11
10:46
СП
12 Aprobator
 
24.10.11
10:49
ща будет вопрос что такое СП.
13 Renat11111
 
24.10.11
10:49
СамаЯчейка = ОформлениеСтроки.Ячейки.ИмяЯчейки;
   СамаЯчейка.ОтображатьТекст = Истина;
   СамаЯчейка.Текст = "Лалала";
14 Renat11111
 
24.10.11
10:50
попробую посмотрим.
15 hhhh
 
24.10.11
10:50
(13) Ячейки.Штрихкод.Значение

у тебя присваивается значение, ребята спрашивают, может ты сдуру там выводишь не значение, а текст?
16 Renat11111
 
24.10.11
10:52
(15) что значит не значение, а текст?
ОформлениеСтрокиПоНоменклатуре.Получить(Выборка.Номенклатура).Ячейки.Штрихкод.Значение = Выборка.Штрихкод;
17 эцп
 
24.10.11
10:53
(0) Нужно писать не
ОформлениеСтрокиПоНоменклатуре.Получить(Выборка.Номенклатура).Ячейки.Штрихкод.Значение = Выборка.Штрихкод;

а

ОформлениеСтрокиПоНоменклатуре.Получить(Выборка.Номенклатура).Ячейки.Штрихкод.УстановитьТекст(Выборка.Штрихкод);
18 Renat11111
 
24.10.11
10:55
(12) ты умного из себя мнишь, но на самом деле балбес. (17) тебе спасибо
19 Renat11111
 
24.10.11
10:56
(17) почему так не работает можешь объяснить?

ОформлениеСтрокиПоНоменклатуре.Получить(Выборка.Номенклатура).Ячейки.Штрихкод.Значение = Выборка.Штрихкод;
20 эцп
 
24.10.11
11:02
(19) Потому что "Значение" есть только у колонок, для которых заполнено свойство Данные (или ДанныеФлажка). Надо же это Значение где-то хранить ;-)
21 эцп
 
24.10.11
11:05
(0) Да, и вот эта строка не нужна:

Запрос.Выполнить().Выгрузить().ВыбратьСтроку();
22 Renat11111
 
24.10.11
11:06
(21) Да это для проверки... )))) я не настолько балбес как (12)
23 эцп
 
24.10.11
11:08
(2) правильно говорят
24 Aprobator
 
24.10.11
21:06
(22)еще бы до меня тебе расти и расти. Я таких вопросов тут не задаю. Научись хотя бы значение от представления отличать, а уж потом пальцы гнуть пытайся.