Обработка выгрузки инвентарных номеров ОС, о которых введены сведения в РегистрСведений.СтавкиНалогаНаИмуществоПоОтдельнымОсновнымСредствам

Обработка выгрузки инвентарных номеров ОС, о которых введены сведения в Регистр Сведений СтавкиНалогаНаИмуществоПоОтдельнымОсновнымСредствам

Обработка выгрузки инвентарных номеров ОС, о которых введены сведения в РегистрСведений.СтавкиНалогаНаИмуществоПоОтдельнымОсновнымСредствам.

Мне пригодилась в одной организации при переносе сведений об ОС из Бухгалтерии 7.7 в Бухгалтерию 2.0:

//Обработка выгрузки инвентарных номеров ОС, о которых введены сведения в РегистрСведений.СтавкиНалогаНаИмуществоПоОтдельнымОсновнымСредствам
//(C) VIA_1C, 2013 г.

Процедура КнопкаВыполнитьНажатие(Кнопка)

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

//если надо проверить, есть ли записи об ОС, у которых не установлен инвентарный номер, то
//раскомментировать код ниже
//|ГДЕ
//| ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ИнвентарныйНомер Есть NULL

|
|УПОРЯДОЧИТЬ ПО
| ОсновноеСредство";

Запрос.УстановитьПараметр("МоментВремени", КонецДня(ТекущаяДата()));
Запрос.УстановитьПараметр("Организация", Организация);

Результат = Запрос.Выполнить();

ТекстовыйДок = Новый ТекстовыйДокумент;

ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

Если ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.ИнвентарныйНомер) Тогда
ТекстовыйДок.ДобавитьСтроку(СокрЛП(ВыборкаДетальныеЗаписи.ИнвентарныйНомер));
Иначе
//ищем инвентарный номер в комментарии карточки ОС
ТекОС = ВыборкаДетальныеЗаписи.ОсновноеСредство;
Поз = Найти(ТекОС.Комментарий, "инв. ном.:");

Если Поз <> 0 Тогда
СтрИнвНомер = "";
Для Сч = Поз+11 По 250 Цикл
Если Сред(ТекОС.Комментарий,Сч, 1) <> " " Тогда
СтрИнвНомер = СтрИнвНомер + Сред(ТекОС.Комментарий,Сч, 1);
Иначе
Прервать;
КонецЕсли;
КонецЦикла;

ТекстовыйДок.ДобавитьСтроку(СтрИнвНомер);
Иначе
Сообщить("Для ОС " + СокрЛП(ТекОС) + " не найден инв. номер в комментарии!!!");
КонецЕсли;
КонецЕсли;

КонецЦикла;

Попытка
ТекстовыйДок.Записать("ИнвентарныеНомераОС.txt", КодировкаТекста.Системная);
Сообщить("Готово! Создан файл ИнвентарныеНомераОС.txt");
Исключение
Сообщить("Не удалось записать файл");
КонецПопытки;

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

P.S. Файл выгрузки формируется в каталоге запуска обработки!

 

 

1 Comment

  1. teplova

    Автор, неужели кроме колонки инвентарных номеров нельзя было вывести хотя бы наименование ОС? А еще желательно и ставки налога… Я понимаю, что можно доработать самим, но в данном виде — какая-то бесполезная на мой взгляд штука.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *