|   |   | 
| 
 | v7: Выбрать значение справочника | ☑ | ||
|---|---|---|---|---|
| 0
    
        lg2marvel 27.05.13✎ 18:20 | 
        Добрый день. Есть справочник:
  Спр = СоздатьОбъект("Справочник."+тВыписка.ВидНДС.Вид()); Копирую его в Список значений: Сп = СоздатьОбъект("СписокЗначений"); Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент() = 1 Цикл Сп.ДобавитьЗначение(Спр.ТекущийЭлемент()); КонецЦикла; Есть таблица, с колонкой ВидНДС: ТВыписка.НоваяКолонка("ВидНДС",,,,"Вид НДС",12,,); Подскажите пожалуйста как ТВыписка.ВидНДС установить значение из списка значений? | |||
| 1
    
        viktor_vv 27.05.13✎ 18:22 | 
        И по какому принципу устанавливать ? Какое значение из списка установить в строке Твыписка ?     | |||
| 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
    
        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
    
        lg2marvel 28.05.13✎ 09:47 | 
        (11) Справочник.
  Спр.НайтиПоКоду("БезНДС"); - нахожу, но возвращает значение 0 или 1, а не ссылку на сам элемент | |||
| 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) Тогда тВыписка.ВидНДС = БезНДС //здесь нужно присвоить значение из Сп. КонецЕсли; КонецЦикла; КонецПроцедуры //ПроверитьНДС | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |