![]() |
![]() |
![]() |
|
Подскажите как присвоить элементу справочника значение | ☑ | ||
---|---|---|---|---|
0
Platon
11.10.04
✎
15:01
|
У меня в справочнике надо заполнить элемент
Наименование, и единицу измерения только вот единица измерения не присваивается т.к. она в элемент другого справочника Как это сделать ? Спр.Наименование=ТабЗнач.Наименование; Спр.ЕдИзм=ТабЗнач.Ед; ??? не катит |
|||
1
Волшебник
11.10.04
✎
15:02
|
почему?
|
|||
2
Platon
11.10.04
✎
15:03
|
Извиняюсь не единицу измерения а счёт.
Если тз.НайтиЗначение(СокрЛП(спр.НомерР3),стр,"Код")=1 Тогда тз.ТекущаяСтрока(стр); Если сч.НайтиПоКоду(тз.Сч)=1 Тогда спр.СубСчет10=сч.ТекущийЭлемент(); КонецЕсли; КонецЕсли; |
|||
3
Очень смешно
11.10.04
✎
15:06
|
(2) Никогда не видел, чтобы так на найденной строке позиционировались
|
|||
4
Platon
11.10.04
✎
15:08
|
(3) А как надо?
|
|||
5
Очень смешно
11.10.04
✎
15:09
|
(4) тз.ПолучитьСтрокуПоНомеру(стр);
|
|||
6
France
11.10.04
✎
15:13
|
(5) а если этот самый "СТР" не известен?
|
|||
7
Очень смешно
11.10.04
✎
15:18
|
(6) Мы говорим про код в (2).
Там "СТР" известен. Если не известен, то его надо найти |
|||
8
France
11.10.04
✎
15:27
|
(7) в (2) "Стр" как раз таки неизвестен, и НайтиЗначение() в "Стр" возвращает номер строки с нужным значением..
(0) -весь код в студию... |
|||
9
Platon
11.10.04
✎
15:36
|
Вот весь код
Процедура Сформировать() Перем стр; спр=СоздатьОбъект("Справочник.Материалы"); спр1=СоздатьОбъект("Справочник.Материалы"); ед=СоздатьОбъект("Справочник.ЕдиницыИзмерений"); сч=СоздатьОбъект("Счет.Основной"); тз=СоздатьОбъект("ТаблицаЗначений"); сз=СоздатьОбъект("СписокЗначений"); ДБФ = СоздатьОбъект("XBase"); ИмяФайла = СокрЛП(ВыбФайл); Если ФС.СуществуетФайл(ИмяФайла) = 0 Тогда Предупреждение("Файл не найден " + ИмяФайла); Возврат КонецЕсли; Если спр1.НайтиПоНаименованию("Запчасти ОГМ",0,1) = 0 тогда Сообщить("Не найден"); Возврат; Иначе Род1=спр1.ТекущийЭлемент(); КонецЕсли; //Запись Номенклатурных в список если начин с 52 +++++++++++++++++++++++++++++++++++++++++++++++++++ спр1.ПорядокКодов(); спр1.ВыбратьЭлементы(); Пока спр1.ПолучитьЭлемент()=1 Цикл Если спр1.ЭтоГруппа()=0 Тогда Если Лев(СокрЛП(спр1.Код),2)<>"52" Тогда Продолжить; Иначе Если спр1.Родитель<>Род1 Тогда i=i+1; сз.ДобавитьЗначение(спр1.Код); КонецЕсли; КонецЕсли; КонецЕсли; Состояние("Заполняю список использованных номенклатурных в диапазоне от 520000 до 529999 найдено: "+i); КонецЦикла; //********************************************** тз.НоваяКолонка("Код"); тз.НоваяКолонка("Сч"); тз.УдалитьСтроки(); ДБФ.ОткрытьФайл(ИмяФайла); Для з=1 По ДБФ.КоличествоЗаписей() Цикл ДБФ.Перейти(з); тз.НоваяСтрока(); i=i+1; тз.Код=(СокрЛП(ДБФ.KODR)); // код в R3 тз.Сч=(СокрЛП(ДБФ.SH)); // код в R3 Состояние("Размер списка "+з); КонецЦикла; ДБФ.ЗакрытьФайл(); //************************************************* НачатьТранзакцию(); Если спр.НайтиПоНаименованию("Запчасти ОГМ",0,1) = 0 тогда Сообщить("Не найден"); Возврат; Иначе Род=спр.ТекущийЭлемент(); КонецЕсли; спр.ПорядокРеквизита("НомерР3"); спр.ИспользоватьРодителя(Род); спр.ВыбратьЭлементы(); Пока спр.ПолучитьЭлемент()=1 Цикл спр.Наименование=Лев(СокрЛП((Лев(СокрЛП(спр.Наименование),1)+Нрег(Прав(СокрЛП(спр.Наименование),СтрДлина(СокрЛП(спр.Наименование))-1)))),(СтрДлина(СокрЛП(спр.Наименование))-3)); // Наименование в 1с 2 Если СокрЛП(спр.ЕД)="ШТ" Тогда ед.НайтиПоНаименованию("шт",0,1); спр.ЕдиницаИзмерения=ед.ТекущийЭлемент(); // Единица измерения в 1с 3 ИначеЕсли СокрЛП(спр.ЕД)="КМП" Тогда ед.НайтиПоНаименованию("компл",0,1); спр.ЕдиницаИзмерения=ед.ТекущийЭлемент(); // Единица измерения в 1с 3 КонецЕсли; Если тз.НайтиЗначение(СокрЛП(спр.НомерР3),стр,"Код")=1 Тогда тз.ПолучитьСтрокуПоНомеру(стр); Если сч.НайтиПоКоду(тз.Сч)=1 Тогда спр.СубСчет10=сч.ТекущийЭлемент(); КонецЕсли; КонецЕсли; спр.Записать(); КонецЦикла; ЗафиксироватьТранзакцию(); КонецПроцедуры |
|||
10
Platon
11.10.04
✎
16:24
|
Кажется понял там надо вместо спр.СубСчет10=сч.ТекущийЭлемент();
сделать спр.СубСчет10=сч.ТекущийСчет(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |