|
v7: Выбрать значение справочника | ☑ | ||
---|---|---|---|---|
0
lg2marvel
27.05.13
✎
18:20
|
Добрый день. Есть справочник:
Спр = СоздатьОбъект("Справочник."+тВыписка.ВидНДС.Вид()); Копирую его в Список значений: Сп = СоздатьОбъект("СписокЗначений"); Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент() = 1 Цикл Сп.ДобавитьЗначение(Спр.ТекущийЭлемент()); КонецЦикла; Есть таблица, с колонкой ВидНДС: ТВыписка.НоваяКолонка("ВидНДС",,,,"Вид НДС",12,,); Подскажите пожалуйста как ТВыписка.ВидНДС установить значение из списка значений? |
11 |
||
1
viktor_vv
27.05.13
✎
18:22
|
И по какому принципу устанавливать ? Какое значение из списка установить в строке Твыписка ?
|
5 |
||
2
Simod
27.05.13
✎
18:41
|
В чем проблема: как получить из списка или как установить в ТЗ?
|
|||
3
Shaman100M
27.05.13
✎
18:56
|
ТВыписка.КоличествоСтрок(Сп.РазмерСписка());
ТВыписка.Заполнить(Сп,,,"ВидНДС"); |
|||
4
lg2marvel
27.05.13
✎
20:27
|
Процедура ПроверитьНДС()
Спр = СоздатьОбъект("Справочник."+тВыписка.ВидНДС.Вид()); Сп = СоздатьОбъект("СписокЗначений"); Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент() = 1 Цикл Сп.ДобавитьЗначение(Спр.ТекущийЭлемент()); КонецЦикла; тВыписка.ВыбратьСтроки(); Пока тВыписка.получитьСтроку() = 1 Цикл Если (Найти(тВыписка.Содержание, "Без ПДВ") <> 0) или (Найти(тВыписка.Содержание, "Без НДС") <> 0) Тогда тВыписка.ВидНДС = //здесь нужно присвоить значение из Сп. КонецЕсли; КонецЦикла; КонецПроцедуры //ПроверитьНДС Сп.ВыбратьЗначение(Зн,,,,1) - показывает все значений которые есть в Сп в окне или менюшкой, но нужно конкретное и присвоить его без всяких телодвижений со стороны пользователя. Поидее банальщина, но найти как сделать не могу. |
|||
5
Тьма
27.05.13
✎
20:37
|
тВыписка.ВидНДС = СП.получитьЗначение(1);
|
|||
6
lg2marvel
27.05.13
✎
21:01
|
Да, спасибо большое.
|
7 |
||
7
viktor_vv
27.05.13
✎
21:05
|
(6) А вдруг там первым в списке будет НДС 20% ? А судя по тексту тебе надо именно без НДС.
|
|||
8
lg2marvel
27.05.13
✎
21:20
|
Даааа, беда. Первым в списке не 20% конечно, а гораздо хуже... Перебором конечно к утру найду, а нельзя более конкретно задать?)
|
|||
9
lg2marvel
27.05.13
✎
21:21
|
Или в цикле просмотреть Сп, найти где находится "Без НДС" и тогда уже по номеру присваивать?
|
|||
10
viktor_vv
27.05.13
✎
21:26
|
Ну есть у справочника есть всякие НайтиПоНаименованию() НайтиПоКоду().
|
|||
11
Злой Бобр
27.05.13
✎
23:14
|
(0) Начни с того как у тебя в конфе задан НДС - это перечисление или справочник. Просто в разных конфах реализовано по разному.
|
12 |
||
12
lg2marvel
28.05.13
✎
09:47
|
(11) Справочник.
Спр.НайтиПоКоду("БезНДС"); - нахожу, но возвращает значение 0 или 1, а не ссылку на сам элемент |
13 |
||
13
Ork
28.05.13
✎
09:51
|
(12)Если вернулась единичка - нужно брать Спр.ТекущийЭлемент()
|
|||
14
lg2marvel
28.05.13
✎
10:06
|
Всем спасибо.
Рабочий вариант: Процедура ПроверитьНДС() Спр = СоздатьОбъект("Справочник."+тВыписка.ВидНДС.Вид()); Спр.ВыбратьЭлементы(); тВыписка.ВыбратьСтроки(); Пока тВыписка.получитьСтроку() = 1 Цикл Если (Найти(тВыписка.Содержание, "Без ПДВ") <> 0) или (Найти(тВыписка.Содержание, "Без НДС") <> 0) Тогда Спр.НайтиПоКоду("БезНДС",); тВыписка.ВидНДС = Спр.ТекущийЭлемент(); //здесь нужно присвоить значение из Сп. КонецЕсли; КонецЦикла; КонецПроцедуры //ПроверитьНДС |
|||
15
vinogradъ
28.05.13
✎
10:13
|
Процедура ПроверитьНДС()
Спр = СоздатьОбъект("Справочник."+тВыписка.ВидНДС.Вид()); Спр.НайтиПоКоду("БезНДС",); БезНДС = Спр.ТекущийЭлемент(); тВыписка.ВыбратьСтроки(); Пока тВыписка.получитьСтроку() = 1 Цикл Если (Найти(тВыписка.Содержание, "Без ПДВ") <> 0) или (Найти(тВыписка.Содержание, "Без НДС") <> 0) Тогда тВыписка.ВидНДС = БезНДС //здесь нужно присвоить значение из Сп. КонецЕсли; КонецЦикла; КонецПроцедуры //ПроверитьНДС |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |