Имя: Пароль:
1C
1С v8
как получить значение реквизита "Код" в обработке "ПодборНоменклатуры" в УТ10.3
0 Jalib
 
01.12.16
15:20
Привет всем зашедшим!
Обращаюсь к этому реквизиту из модуля обработки ПодборНоменклатуры.ОсновнаяФорма из процедуры ДействиеПриОткрытии
так и делаю поиск в справочнике
Результат=Справочник.НайтиПоКоду(ЭтаФорма.ЭлементыФормы.CправочникНоменклатура.Значение.Отбор.Код.Значение);
сообщить(ЭтаФорма.ЭлементыФормы.CправочникНоменклатура.Значение.Отбор.Код.Значение);
по идеи должно сообщать код каждого из элементов ,а на деле не сообщает вообще ничего и не находит его в справочнике
Весь вопрос в том как правильно к нему обратиться и
вопрос №2
как в типовой и доработанной кофигурации в различных модулях обратиться к нужному элементу да есть отладчик но может есть еще какой то способ что бы легче было?
1 Lexey_
 
01.12.16
15:24
дичь какая-то...
2 Jalib
 
01.12.16
15:30
Слышь Lexey это для тебя https://www.youtube.com/watch?v=y28SD_PcuN4
3 SergTheGreat
 
01.12.16
15:58
(2) Слышь Jalib, а  Lexey_ прав. Ты в момент открытия формы получаешь значение одного из элементов отбора и утверждаешь, что "должно сообщать код каждого из элементов". Какого каждого ???

А уж вопрос №2 вообще пониманию не поддается. Сформулируй его как-нить иначе.
4 Jalib
 
01.12.16
16:11
ну сильно не "пинайте"))) я только изучаю 1с 8
5 SergTheGreat
 
01.12.16
16:17
(4) Тебе ж не отказывают в помощи. Перефразируй оба вопроса, что именно ты хочешь получить?
6 Jalib
 
01.12.16
16:21
1)мне нужно для каждого элемента в таблице подбора установить красный фон в зависимости от реквизита в карточке элемента справочника Номенклатура
2)как проще разобраться в чужом коде
7 SergTheGreat
 
01.12.16
16:42
(6) По 1му вопросу. В форме в обработчике СправочникНоменклатураПриПолученииДанных
ЦветАвто = Новый Цвет();
Если Найти(Элемент.ТекущаяСтрока.Код, ТВОЕУСЛОВИЕ) = 0 Тогда
   Элемент.ЦветФона = ЦветАвто;
Иначе
   Элемент.ЦветФона = ТВОЙЦВЕТ;
КонецЕсли;
8 DrShad
 
01.12.16
16:47
(7) дичь какая-то, зачем так -то?
9 SergTheGreat
 
01.12.16
16:48
Во, блин и я тоже дичь понес :-)

ЦветАвто = Новый Цвет();
Для каждого Оформление Из ОформленияСтрок Цикл
   Если Найти(Оформление.ДанныеСтроки.Код, ТВОЕУСЛОВИЕ) = 0 Тогда
      Оформление.ЦветФона = ЦветАвто;
   Иначе
      Оформление.ЦветФона = ТВОЙЦВЕТ;
   КонецЕсли;
КонецЦикла;
10 DrShad
 
01.12.16
16:49
ну слава богу )))
11 Jalib
 
01.12.16
18:16
//моя доработка


Справочник=Справочники.Номенклатура;

ЦветАвто = Новый Цвет();
Для каждого Оформление Из ОформленияСтрок Цикл
    РезультатПоиска=Справочник.НайтиПоКоду(Оформление.ДанныеСтроки.Код);

    Если Найти(Оформление.ДанныеСтроки.Код, РезультатПоиска.Ссылка.СрочнаяПродажа=Истина) = 1 Тогда
      Оформление.ЦветФона = ЦветАвто;
   Иначе
      Оформление.ЦветФона = WebЦвета.Красный;
   КонецЕсли;
КонецЦикла;
//моя доработка
SergTheGreat спасибо за то что пытаешься помочь но не работает почему то
12 Jalib
 
01.12.16
18:18
и с 0 тоже не работает
13 SergTheGreat
 
02.12.16
11:11
(11) Блин, ну как бы помякше сказать-то ?!? В твоей доработке нет ни одной правильно строки, НИ ОДНОЙ!
Для начала открой справку и посмотри параметры глобальной функции "Найти". Затем запусти отладчик и посмотри значения:
РезультатПоиска.Ссылка.СрочнаяПродажа=Истина
Найти(Оформление.ДанныеСтроки.Код, РезультатПоиска.Ссылка.СрочнаяПродажа=Истина)
14 singlych
 
02.12.16
11:20
(11)
Найти(Оформление.ДанныеСтроки.Код, РезультатПоиска.Ссылка.СрочнаяПродажа=Истина)

Не пытайтесь найти истину в коде.
15 SergTheGreat
 
02.12.16
11:31
(14) Эх, надо было бы чтобы он сам до этого дошел. А то ведь программировать так и не научится :-)))

ЦветАвто = Новый Цвет();
Для каждого Оформление Из ОформленияСтрок Цикл
    Оформление.ЦветФона = ?(Оформление.Ссылка.СрочнаяПродажа, WebЦвета.Красный, ЦветАвто);
КонецЦикла;
16 Jalib
 
02.12.16
18:53
Спасибо всем за помощь осоенно   SergTheGreat
тему можно закрывать
AdBlock убивает бесплатный контент. 1Сергей