|
Работа со СпискомЗначений Help | ☑ | ||
---|---|---|---|---|
0
kasazanov
02.12.12
✎
14:21
|
Начинающему прогеру нужна помощь
Нужно добавить в список 2 значения если я выбираю первое значение тогда выполняется определенное действие если выбираю второе то выполняется другое действие, подскажите пожалуйста как это сделать до чего дошел сам: Значения = Новый СписокЗначений; Значения.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Транспортные услуги (рейс)")); Значения.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Транспортные услуги (км)")); Значения.ОтметитьЭлементы(); МассивЗначений = новый Массив; Для каждого Элемент Из Значения Цикл Если Элемент.Пометка Тогда МассивЗначений.Добавить(Элемент.Значение); ПеремСоздать = ЭтотОбъект.Услуги.Добавить(); ПеремСоздать.Номенклатура = Элемент.Значение; ПеремСоздать.Содержание = "Транспортные услуги"; ПеремСоздать.Количество = "1"; ПеремСоздать.Цена = ЭтотОбъект.АвтомобильМаршрут.Итог("Ставка"); ПеремСоздать.Сумма = ЭтотОбъект.АвтомобильМаршрут.Итог("Ставка"); ПеремСоздать.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС; КонецЕсли; КонецЦикла; В ТЧ подставляется либо первое либо второе значение ПеремСоздать.Номенклатура как я выберу, но мне нужно чтобы я выбирал первое значение выполнялось то что забито в коде а если выберу второе то выполнилосб другое действие(подставились другие значения(ПеремСоздать.Количество, ПеремСоздать.Цена, ПеремСоздать.сумма) Как это сделать? заранее спасибо. |
|||
1
Noroving
02.12.12
✎
14:40
|
Бред канешно... но если уже на то пошло, что тебе мешает проверять по тому же наименованию элемент и в условии подставлять те данные которые тебе нужно?
|
|||
2
kasazanov
02.12.12
✎
14:41
|
(1) Просто не знаю как это написать (( - проверить по наименованию.
|
|||
3
Wobland
02.12.12
✎
14:42
|
попроси свой сз выбрать элемент
|
|||
4
Noroving
02.12.12
✎
14:46
|
Значения = Новый СписокЗначений;
Значения.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Транспортные услуги (рейс)"), "ПервыйЭлемент"); Значения.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Транспортные услуги (км)"), "ВторойЭлемент"); Значения.ОтметитьЭлементы(); МассивЗначений = новый Массив; Для каждого Элемент Из Значения Цикл Если Элемент.Пометка Тогда МассивЗначений.Добавить(Элемент.Значение); ПеремСоздать = ЭтотОбъект.Услуги.Добавить(); ПеремСоздать.Номенклатура = Элемент.Значение; ПеремСоздать.Содержание = "Транспортные услуги"; Если Элемент.Представление = "ПервыйЭлемент" Тогда ПеремСоздать.Количество = "1"; ПеремСоздать.Цена = ЭтотОбъект.АвтомобильМаршрут.Итог("Ставка"); ПеремСоздать.Сумма = ЭтотОбъект.АвтомобильМаршрут.Итог("Ставка"); Иначе //второе условие КонецЕсли ПеремСоздать.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС; КонецЕсли; КонецЦикла; ///ну типа такого бреда) |
|||
5
Noroving
02.12.12
✎
14:47
|
или по индексу проверять
|
|||
6
kasazanov
02.12.12
✎
15:12
|
(4) сделал так же, первое условие не видит, всегда выполняет второе условие ..
|
|||
7
Wobland
02.12.12
✎
15:15
|
(6) ОтметитьЭлементы тебе зачем?
|
|||
8
kasazanov
02.12.12
✎
15:24
|
(7) ну у меня будет 2 варианта подстановки в табличную часть если я выбираю рейс тогда туда подставляется количество 1 цена и сумма равны, а если выбираю км тогда количество подставляется из другого места а цена и сумма рассчитываются.
А если не отмечать элементы то список почему то не выходит.. |
|||
9
Wobland
02.12.12
✎
15:27
|
(8) что предполагается делать, когда отмечены оба?
|
|||
10
kasazanov
02.12.12
✎
15:28
|
(9) вроде заработало как в варианте (4) я тут немного ошибок наделал просто.
|
|||
11
kasazanov
02.12.12
✎
15:28
|
(9) наверно сообщение какое то будет
|
|||
12
Wobland
02.12.12
✎
15:29
|
(11) какое? о чём?
|
|||
13
kasazanov
02.12.12
✎
15:31
|
(12) наверно я так оставлю, когда оба выбрано то выполняются сразу два условия.
|
|||
14
Wobland
02.12.12
✎
15:32
|
ни хрена не понял, но тебе оттуда виднее
|
|||
15
Noroving
02.12.12
✎
15:34
|
Если Элемент.Представление = "ПервыйЭлемент" Тогда
ПеремСоздать = ЭтотОбъект.Услуги.Добавить(); ПеремСоздать.Номенклатура = Элемент.Значение; ПеремСоздать.Содержание = "Транспортные услуги"; ПеремСоздать.Количество = "1"; ПеремСоздать.Цена = ЭтотОбъект.АвтомобильМаршрут.Итог("Ставка"); ПеремСоздать.Сумма = ЭтотОбъект.АвтомобильМаршрут.Итог("Ставка"); ПеремСоздать.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС; КонецЕсли; Если Элемент.Представление = "ВторойЭлемент" Тогда ПеремСоздать = ЭтотОбъект.Услуги.Добавить(); ПеремСоздать.Номенклатура = Элемент.Значение; ПеремСоздать.Содержание = "Транспортные услуги"; ПеремСоздать.Количество = .............; ПеремСоздать.Цена = ....................; ПеремСоздать.Сумма = ................; ПеремСоздать.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС; КонецЕсли; |
|||
16
Wobland
02.12.12
✎
15:37
|
.Количество = "1";
переделать на .Количество = "один"; |
|||
17
kasazanov
02.12.12
✎
15:44
|
Спасибо вам огромное, все работает ))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |