![]() |
|
Требуется совет по переоценке ОС, загрузке из Excel | ☑ | ||
---|---|---|---|---|
0
GreenDay1986
06.06.12
✎
10:13
|
Загружаю из Ексель данные по переоценке. Использую конструкцию
СпрСсылка=Справочники.ОсновныеСредства.НайтиПоРеквизиту("Код",Код); где Код - код основного средства из файла Ексель. Хотелось бы загружаться не по коду а по инвентарному номеру. Но такого реквизита нет, т.к. Инвентарный номер является ресурсом регистра сведений. и следовательно конструкция СпрСсылка=Справочники.ОсновныеСредства.НайтиПоРеквизиту("ИнвентарныйНомер",ИнНом) невозможна. Кто - нибудь может подсказать как решить данную задачу? В каком направлении двигпться. Заранее спасибо. |
|||
1
GreenDay1986
06.06.12
✎
10:13
|
Извиняюсь, забыл Конфигурация БП 2.0
|
|||
2
salvator
06.06.12
✎
10:14
|
А почему не НайтиПоКоду??
По теме - ищи запросом. |
|||
3
DrShad
06.06.12
✎
10:16
|
а в РС разве не код записывается?
|
|||
4
GreenDay1986
06.06.12
✎
10:19
|
(2)Не хотят по коду. Наверное предрассудки :)
Запрос такой как понимаю, как к справочнику прицепиться теперь? Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Рег.ИнвентарныйНомер, | Рег.ОсновноеСредство |ИЗ | РегистрСведений.ПервоначальныеСведенияОСБухгалтерскийУчет.СрезПоследних(&ДатаСведений) КАК Рег"; Запрос.УстановитьПараметр("ДатаСведений", КонецДня(ТекущаяДата())); (3) записывается, конструкцию не могу понять, там при обращении найти по реквизиту нет т.е. СпрСсылка=РегистрыСведений.ПервоначальныйСведенияОСБУ.НайтиПоРеквизиту("ИнвентарныйНомер",Инном) тож невозможна |
|||
5
salvator
06.06.12
✎
10:21
|
(4) Соединение РС со справочником. В (2) я имел в виду метод НайтиПоКоду вместо твоего НайтиПоРеквизиту("Код",Код)
|
|||
6
GreenDay1986
06.06.12
✎
10:24
|
(5) Им по инномеру надо, типа по нему предыдущие переоценки какой-то матерью делали :)
|
|||
7
GreenDay1986
06.06.12
✎
10:25
|
(5) насчет НайтиПоКоду() извиняюсь, затупил :)
|
|||
8
xenos
06.06.12
✎
10:26
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | Организации.Ссылка, | Организации.ИНН, | Организации.КПП |ИЗ | Справочник.Организации КАК Организации"; ТЗОрганизации = Запрос.Выполнить().Выгрузить(); Отбор = Новый Структура(); Отбор.Очистить(); Отбор.Вставить("ИНН",СтрПП.ИННПлатильщика); Строки = ТЗОрганизации.НайтиСтроки(Отбор); Если Строки.Количество()=1 Тогда СтрПП.спрУчреждение= Строки[0].Ссылка; ИНачеЕсли Строки.Количество()=0 Тогда СтрПП.спрУчреждение=Справочники.Организации.ПустаяСсылка(); ОшибкиСправочников=Истина; Сообщить("Не наденны организации с ИНН: "+СтрПП.ИННПлатильщика+", КПП: "+СтрПП.КПППлатильщика); ИНачеЕсли Строки.Количество() >1 Тогда СтрПП.спрУчреждение=Справочники.Организации.ПустаяСсылка(); ОшибкиСправочников=Истина; Сообщить("Найденны несколько организаций с ИНН: "+СтрПП.ИННПлатильщика+", КПП: "+СтрПП.КПППлатильщика); КонецЕсли; Примерно так |
|||
9
Kreont
06.06.12
✎
10:27
|
(4) Все правильно, запросом, а потом типа того:
Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Количество() > 1 Тогда Сообщить("Есть дубли ИН"); Продолжить; КонецЕсли; Если Выборка.Следующий() Тогда ОСоб = Выборка.ОсновноеСредство.ПолучитьОбъект();//Осли об нужен ОСоб = Выборка.ОсновноеСредство;//а тут ссылка ... Иначе Сообщить("Не найден ОС"); КонецЕсли; |
|||
10
xenos
06.06.12
✎
10:28
|
(9) Запрос в цикле?
Месье знает толк в извращениях. |
|||
11
Kreont
06.06.12
✎
10:29
|
(10) это одноразовая задача, пофиг на время
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |