Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 10:39

Инвентарный номер

Автор ls600, 07 июн 2013, 12:03

0 Пользователей и 1 гость просматривают эту тему.

ls600

Добрый день всем. В справочнике Основные средства у некоторых объектов нету инвентарного номера. (рис 1).  Само интересно то что когда в сам объект заходишь инвентарный номер есть (рис 2), в документе принятие к учету инвентарные номер выставлен.
Конфигурация Бухгалтерия 2.0.9.7
Платформа 8.2.18.61


P.S нашел обработку в которой можно самому забить инвентарный номер. но это не выход, интересно почему его нет??  Кто-нибудь сталкивался с такой ситуацией?

MuI_I_Ika

Несколько сумбурно описано. Но я так понял, что вы хотите обратиться к инвентарному номеру в справочнике ОС, а его там нет, хотя реквизит есть.

Предыстория этого явления скорее всего такая: сначала он там был и заполнялся, но с развитием конфигурации 1С решила, что инвентарный номер должен храниться в регистре сведений. Так что ищите его теперь там.

ls600

Регистре сведений он есть

ls600

Добрый день коллеги, уже замучился бороться с этими инвентарными номерами, сразу к делу.
Инвентарные номера попадают в РегистрСведений после того как Документом Принятие к учету принимаем ОС, и в табличной части указываем Инвентарный номер.
В справочник Список ОС как было сказано выше не попадают в колонку Инвентарные номера. 
Использую процедуру ПриПолученииДанных.

Процедура СправочникСписокПриПолученииДанных (Элемент, ОформлениеСтрок)
Запрос = Новый запрос;
Запрос.Текст = "ВЫБРАТЬ
               | ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ОсновноеСредство,
               | ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ИнвентарныйНомер
               |ИЗ
               | РегистрСведений.ПервоначальныеСведенияОСБухгалтерскийУчет.СрезПоследних КАК ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних
               |ГДЕ
               | ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ОсновноеСредство = &Тип
               | И ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ОсновноеСредство В(&МассивОбъектов)";
Запрос.УстановитьПараметр("Тип", РегистрыСведений.ПервоначальныеСведенияОСБухгалтерскийУчет.ИнвентарныйНомер);

МассивОбъектов = Новый Массив;

Для каждого ОформлениеСтроки Из ОформлениеСтрок Цикл
МассивОбъектов.Добавить(ОформлениеСтроки.ДанныеСтроки.Ссылка);
КонецЦикла;

Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
ТабОбъектов = Запрос.Выполнить().Выгрузить();

Для каждого ОформлениеСтроки Из ОформлениеСтрок Цикл
ИН = ТабОбъектов.Найти(ОформлениеСтроки.ДанныеСтроки.Ссылка, "ОсновноеСредство");
ОформлениеСтроки.Ячейки.ИнвНомер.Значение = ?(ИН <> Неопределено, ИН.ИнвентарныйНомер, "");
КонецЦикла;

КонецПроцедуры


где ИнвНомер это реквизит СправочникаСписка. Тип Строка.

подскажите что не так делаю или где ошибка в запросе, данные в справочник список ОС не попадают :dfbsdfbsdf:

Данные Регистра Сведений рис 1


MuI_I_Ika

Что за условие такое?

ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ОсновноеСредство = &Тип

ls600

Цитата: MuI_I_Ika от 25 июн 2013, 11:00
ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ОсновноеСредство = &Тип
делал по примеру видимо на автомате записал.


Добавлено: 25 июн 2013, 13:24


Процедура СправочникСписокПриПолученииДанных (Элемент, ОформлениеСтрок)
Запрос = Новый запрос;
Запрос.Текст = "ВЫБРАТЬ
               | ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ИнвентарныйНомер
               |ИЗ
               | РегистрСведений.ПервоначальныеСведенияОСБухгалтерскийУчет.СрезПоследних КАК ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних
               |ГДЕ
               | ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ИнвентарныйНомер В (&МассивОбъектов)";
Запрос.УстановитьПараметр("МассивОбъектов", РегистрыСведений.ПервоначальныеСведенияОСБухгалтерскийУчет.ИнвентарныйНомер);

МассивОбъектов = Новый Массив;

Для каждого ОформлениеСтроки Из ОформлениеСтрок Цикл
МассивОбъектов.Добавить(ОформлениеСтроки.ДанныеСтроки.Ссылка);
КонецЦикла;

Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
ТабОбъектов = Запрос.Выполнить().Выгрузить();

Для каждого ОформлениеСтроки Из ОформлениеСтрок Цикл
ИН = ТабОбъектов.Найти(ОформлениеСтроки.ДанныеСтроки.Ссылка, "ОсновноеСредство");
ОформлениеСтроки.Ячейки.ИнвНомер.Значение = ?(ИН <> Неопределено, ИН.ИнвентарныйНомер, "");
КонецЦикла;

КонецПроцедуры


переделал, такая же ситуация и осталась!

MuI_I_Ika

Вы сначала записываете в массив объектов непонятно что, а потом перезаписываете его из ОформленияСтроки ссылками. Как программа должна сопоставить ссылку и инвентарный номер? Это разные типы.

Запрос.УстановитьПараметр("МассивОбъектов", РегистрыСведений.ПервоначальныеСведенияОСБухгалтерскийУчет.ИнвентарныйНомер);
   
    МассивОбъектов = Новый Массив;
   
    Для каждого ОформлениеСтроки Из ОформлениеСтрок Цикл
        МассивОбъектов.Добавить(ОформлениеСтроки.ДанныеСтроки.Ссылка);
    КонецЦикла;
   
    Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);

ls600

Можете написать запрос примерно какой должен быть? если не затруднит

MuI_I_Ika

Что у вас есть и что вы хотите получить?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск