Бухгалтерский учет, налогообложение, отчетность, МСФО, анализ бухгалтерской информации, 1С:Бухгалтерия

Форум

Развернуть все [Прочее] 1c + Excel
lerik1
Пост №1
lerik1
читатель
офлайн
Дата регистрации: 30.03.2009
Сообщений: 11
Пост №1
 
30.03.2009 13:51

"Возникла проблема с обработкой пытаюсь её использовать на 05.02.2009 09:25 Бухгалтерия 7.7 ПРОФ для Украины ред.2.5 7.70.272. Не подтягивается строка наименование, помогите пожалуйста.

// CODE
Перем ТекстСостояния,ВыбКаталог,ВыбФайл;

// ===============================
Функция ТекДок()
ТекДок=СписокДокументов.ПолучитьЗначение(СписокДокументов.ТекущаяСтрока());
Возврат ТекДок;
КонецФункции //ТекДок

// ===============================
Процедура СформироватьДокумент()
ТекДок=ТекДок();
Попытка
Док=СоздатьОбъект("Документ."+ТекДок);
Исключение
Предупреждение("Неудачная попытка создания объекта """"Документ."+ТекДок+"""""!
|"+ОписаниеОшибки());
Возврат;
КонецПопытки;

//Док.Новый();
//Док.ДатаДок=ДатаДокумента;
//************* ТОЛЬКО ДЛЯ "ПРОСТОГО УЧЕТА"
//глОбщиеРеквизиты(Док);
//************* ТОЛЬКО ДЛЯ "ПРОСТОГО УЧЕТА"

Если Док.НайтиДокумент(НовыйДокумент)=0 Тогда
Возврат;
КонецЕсли;
Если Док.КоличествоСтрок()>0 Тогда
Рез=Вопрос("Существующие строки документа будут удалены, продолжить?","Да+Нет",10);
Если Рез<>"Да" Тогда
Возврат;
КонецЕсли;
КонецЕсли;

Док.ЗагрузитьТабличнуюЧасть(тбДок);
Док.Записать();
ОткрытьФорму(Док.ТекущийДокумент());
КонецПроцедуры //СформироватьДокумент

// ======================================
Процедура Выполнить()
Если тбНастройка.КоличествоСтрок()=0 Тогда
Предупреждение("Не заданы настройки загрузки");
Возврат;
КонецЕсли;

Попытка
Окно = СоздатьОбъект("Excel.Application");
Исключение
Предупреждение("Неудачная попытка обращения к данным Excel,
|проверьте наличие установленного приложения Microsoft Excel.
|Ошибка: "+ОписаниеОшибки());
Возврат;
КонецПопытки;

Окно.Caption = "Загрузка данных";
НовыеКниги = Окно.Workbooks;
Попытка
РабКнига = НовыеКниги.Open(СокрЛП(ВыбКаталог)+СокрЛП(ВыбФайл));
Исключение
Сообщить("Неудачная попытка открытия файла с именем <"+СокрЛП(ВыбФайл)+">");
Возврат;
КонецПопытки;

ТекДок=ТекДок();

КвоПустых=2;
Пустых = 0; ВсегоСтрок = 1;
Состояние("Подготовка к загрузке");
Для Стр = 1 По 100000 Цикл
Ячейка = Окно.Cells(Стр,1);
Если СокрЛП(Ячейка.Value) <> """" Тогда
ВсегоСтрок = ВсегоСтрок + 1;
Пустых = 0;
Иначе
Пустых = Пустых + 1;
КонецЕсли;
Если Пустых >= КвоПустых Тогда
Прервать;
КонецЕсли;
КонецЦикла;

ЗначениеВФайл(КаталогИБ()+"docload_"+ТекДок+".txt",тбНастройка);

СписокЗагрузки=СоздатьОбъект("СписокЗначений");
Пер=СоздатьОбъект("Периодический");
тбДок.УдалитьСтроки();

Пустых = 0;
Для Стр = 1 По 10000 Цикл
СписокЗагрузки.УдалитьВсе();
Контроль="""";

//---------------- загрузка в список реквизитов из строки
тбНастройка.ВыбратьСтроки();
Пока тбНастройка.ПолучитьСтроку()=1 Цикл
ТекРеквизит =СокрЛП(тбНастройка.Реквизит);
ТекСтолбец =Число(тбНастройка.Столбец);
Тип =СокрЛП(тбНастройка.Тип);
Поиск =СокрЛП(тбНастройка.Поиск);

Если Тип="Справочник" Тогда
ВидСправочника=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(ТекРеквизит).Вид;

//для справочника неопределенного типа ищем по виду значения "по умолчанию"
Если ПустоеЗначение(ВидСправочника)=1 Тогда
_Значение=тбНастройка.ПоУмолчанию;
Если ПустоеЗначение(_Значение)=0 Тогда
ВидСправочника=_Значение.Вид();
Иначе
Поиск=""; //отключение поиска - вид справочника не удалось определить
КонецЕсли;
КонецЕсли;
КонецЕсли;

Если ТекСтолбец>0 Тогда
Значение=Окно.Cells(Стр,ТекСтолбец).Value;
Контроль=Контроль+СокрЛП(Значение);

Если ПустоеЗначение(Значение)=1 Тогда
Значение=тбНастройка.ПоУмолчанию;       //подстановка значения по-умолчанию
ИначеЕсли (Тип="Справочник") и (Поиск<>"") Тогда
// ВидСправочника=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(ТекРеквизит).Вид;
Спр=СоздатьОбъект("Справочник."+ВидСправочника);
Рез=0;
Если Поиск="Код" Тогда
ДлинаКода=Метаданные.Справочник(ВидСправочника).ДлинаКода;
ДлиннаяСтрока=Значение;
_Значение=Лев(ДлиннаяСтрока,ДлинаКода);
Рез=Спр.НайтиПоКоду(_Значение,0);
ИначеЕсли Поиск="Наименование" Тогда
ДлинаНаименования=Метаданные.Справочник(ВидСправочника).ДлинаНаименования;
ДлиннаяСтрока=Значение;
_Значение=Лев(ДлиннаяСтрока,ДлинаНаименования);
Рез=Спр.НайтиПоНаименованию(_Значение,0,1);
Иначе
ДлинаРеквизита=Метаданные.Справочник(ВидСправочника).Реквизит(Поиск).Длина;
ДлиннаяСтрока=Значение;
_Значение=Лев(ДлиннаяСтрока,ДлинаРеквизита);
Рез=Спр.НайтиПоРеквизиту(Поиск,_Значение,1);
КонецЕсли;

Если Рез=1 Тогда
Значение=Спр.ТекущийЭлемент();
КонецЕсли;
ИначеЕсли Тип="Перечисление" Тогда
ВидПер=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(ТекРеквизит).Вид;
Для Инд=1 По Метаданные.Перечисление(ВидПер).Значение() Цикл
Идентификатор=Метаданные.Перечисление(ВидПер).Значение(Инд).Идентификатор;
Если ВРег(СокрЛП(Значение))=ВРег(Идентификатор) Тогда
Значение=Метаданные.Перечисление(ВидПер).Значение(Инд);
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если ТипЗначенияСтр(Значение)="Строка" Тогда
Значение=СокрЛП(Значение);
КонецЕсли;

СписокЗагрузки.Установить(ТекРеквизит,Значение);
КонецЕсли;
КонецЦикла;
//-------------- загрузка в список реквизитов из строки

//-------------- формирование строки
Если СокрЛП(Контроль)="""" Тогда
Сообщить("Строка "+Стр+" не содержит данных");
Пустых = Пустых + 1;
Иначе
тбДок.НоваяСтрока();
тбДок.НомерС=Стр;
ТекСтрока=тбДок.НомерСтроки;
Для Инд=1 По тбДок.КоличествоКолонок() Цикл
ТекРеквизит=тбДок.ПолучитьПараметрыКолонки(Инд);
Значение=СписокЗагрузки.Получить(ТекРеквизит);
тбДок.УстановитьЗначение(ТекСтрока,Инд,Значение);
КонецЦикла;
КонецЕсли;
//-------------- формирование строки

Если Пустых >= КвоПустых Тогда
Прервать;
КонецЕсли;
Состояние("Чтение данных... "+СокрЛП(Стр)+" ("+СокрЛП(Формат(Стр*100/ВсегоСтрок,"Ч10.0"))+"%)");
КонецЦикла;
Окно.Quit();

Предупреждение("Файл "+СокрЛП(ВыбФайл)+" загружен",5);
//Форма.Закрыть();
Форма.ИспользоватьСлой("Общий,Документ",2);
КонецПроцедуры

// ======================================
Процедура ВыбНастройка()
Если тбНастройка.КоличествоСтрок()=0 Тогда
Возврат;
КонецЕсли;
ТекКолонка=тбНастройка.ТекущаяКолонка();
ТекСтрока=тбНастройка.ТекущаяСтрока();
ТекДок=ТекДок();
Если ТекКолонка="Столбец" Тогда
ТекЗначение=тбНастройка.ПолучитьЗначение(ТекСтрока,"Столбец");
НовЗначение=ТекЗначение;
Рез=ВвестиЧисло(НовЗначение,"Номер столбца",10,0,30);
Если (Рез=1) и (НовЗначение<>ТекЗначение) Тогда
тбНастройка.УстановитьЗначение(ТекСтрока,"Столбец",НовЗначение);
КонецЕсли;
ИначеЕсли ТекКолонка="ПоУмолчанию" Тогда
Реквизит=СокрЛП(тбНастройка.ПолучитьЗначение(ТекСтрока,"Реквизит"));

Тип="Строка";
Вид="""";
Длина=60;
Точность=0;

Попытка
Тип=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Тип;
Вид=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Вид;
Длина=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Длина;
Точность=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Точность;
Исключение КонецПопытки;

ТекЗначение=тбНастройка.ПолучитьЗначение(ТекСтрока,"ПоУмолчанию");
НовЗначение=ТекЗначение;
Если ПустоеЗначение(Вид)=0 Тогда
Рез=ВвестиЗначение(НовЗначение,Вид,Тип+"."+Вид,Длина,Точность);
ИначеЕсли Тип="Справочник" Тогда
//построение списка справочников
ВидыСправочников=СоздатьОбъект("СписокЗначений");
Для Инд=1 По Метаданные.Справочник() Цикл
Представление=Метаданные.Справочник(Инд).Синоним;
Идентификатор=Метаданные.Справочник(Инд).Идентификатор;
Если СокрЛП(Представление)="""" Тогда
Представление=Идентификатор;
КонецЕсли;
ВидыСправочников.Установить(Представление,Идентификатор);
КонецЦикла;
Если ВидыСправочников.ВыбратьЗначение(Вид,"Вид справочника",,30,)=1 Тогда
Рез=ВвестиЗначение(НовЗначение,Вид,Тип+"."+Вид,Длина,Точность);
КонецЕсли;
КонецЕсли;
Если Рез=1 Тогда
тбНастройка.УстановитьЗначение(ТекСтрока,"ПоУмолчанию",НовЗначение);
КонецЕсли;
ИначеЕсли ТекКолонка="Поиск" Тогда
Реквизит=СокрЛП(тбНастройка.ПолучитьЗначение(ТекСтрока,"Реквизит"));

Тип="Строка";
Вид="""";
Длина=60;
Точность=0;

Попытка
Тип=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Тип;
Вид=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Вид;
Длина=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Длина;
Точность=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Точность;
Исключение КонецПопытки;

ТекЗначение=тбНастройка.ПолучитьЗначение(ТекСтрока,"Поиск");
Если Тип="Справочник" Тогда
//теперь список реквизитов, которые имеют признак "Сортировка"
спПоиск=СоздатьОбъект("СписокЗначений");
//спПоиск.УдалитьВсе();
//спПоиск.ДобавитьЗначение("_НеИскать","Не искать");
спПоиск.ДобавитьЗначение("Код","Код");
спПоиск.ДобавитьЗначение("Наименование","Наименование");
Если ПустоеЗначение(Вид)=1 Тогда
Попытка
_Значение=тбНастройка.ПолучитьЗначение(ТекСтрока,"ПоУмолчанию");
Вид=_Значение.Вид();
Исключение КонецПопытки;
КонецЕсли;
Если ПустоеЗначение(Вид)=0 Тогда
Для Ном=1 по Метаданные.Справочник(Вид).Реквизит() Цикл
Сортировка=Метаданные.Справочник(Вид).Реквизит(Ном).Сортировка;
Если Сортировка=1 Тогда
//Представление=Метаданные.Справочник(ИмяСправочника).Реквизит(Ном).Синоним;
Идентификатор=Метаданные.Справочник(Вид).Реквизит(Ном).Идентификатор;
спПоиск.ДобавитьЗначение(Идентификатор);//,Представление);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Зн=0;
Рез=спПоиск.ВыбратьЗначение(Зн,,,10,1);
Если Рез=1 Тогда
тбНастройка.УстановитьЗначение(ТекСтрока,"Поиск",Зн);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры

// ===============================
Процедура ЗаполнитьРеквизиты(ТолькоТД=0,СбросНастроек=0)
//Если (тбНастройка.КоличествоСтрок()>0) и (ТолькоТД=0) Тогда
// Рез=Вопрос("Текущие настройки будут удалены, продолжить?","Да+Нет",10);
// Если Рез<>"Да" Тогда
// СтатусВозврата(0);
// Возврат;
// КонецЕсли;
//КонецЕсли;

Если НовыйДокумент.Выбран()=1 Тогда
Если Метаданные.Документ(НовыйДокумент.Вид()).РеквизитТабличнойЧасти()=0 Тогда
Предупреждение("У выбраного документа нет табличной части",10);
НовыйДокумент=0;
Возврат;
КонецЕсли;
Поз=СписокДокументов.НайтиЗначение(НовыйДокумент.Вид());
Если Поз>0 Тогда
СписокДокументов.ТекущаяСтрока(Поз);
КонецЕсли;
КонецЕсли;

Если ТолькоТД=0 Тогда
тбНастройка.УдалитьСтроки();
КонецЕсли;
тбДок.Очистить();
тбДок.НоваяКолонка("НомерС","Число",5,0,"№",5);
ТекДок=ТекДок();
Для Инд=1 по Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти() Цикл
Реквизит=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Идентификатор;
Синоним=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Синоним;
Синоним=?(СокрЛП(Синоним)="""",Реквизит,Синоним);
Тип=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Тип;
Вид=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Вид;
Длина=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Длина;
Точность=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Точность;

Если ТолькоТД=0 Тогда
тбНастройка.НоваяСтрока();
тбНастройка.Реквизит=Реквизит;
тбНастройка.Синоним=Синоним;
тбНастройка.Тип=Тип;
тбНастройка.Поиск=?(Тип="Справочник","","Х");
КонецЕсли;

Ширина=?(Тип="Справочник",30,10);
Если (Тип="Справочник") и (Найти(Вид,"Ед")=1) Тогда
Ширина=10;
КонецЕсли;
тбДок.НоваяКолонка(Реквизит,Тип,Длина,Точность,Синоним,Ширина);
КонецЦикла;

Если СбросНастроек=0 Тогда
ФайлНастроек=КаталогИБ()+"docload_"+ТекДок+".txt";
Если ФС.СуществуетФайл(ФайлНастроек)=1 Тогда
ЗначениеИзФайла(ФайлНастроек,тбНастройка);
КонецЕсли;
КонецЕсли;
КонецПроцедуры //ЗаполнитьРеквизиты

// ======================================
Процедура ПроверитьФайл()
ИмяФайлаЗагрузки=СокрЛП(ВыбКаталог)+СокрЛП(ВыбФайл);
Если ФС.СуществуетФайл(ИмяФайлаЗагрузки)=1 Тогда
РазмерФайла=0; ДатаСоздания=0; ВремяСоздания=0;
ФС.АтрибутыФайла(ИмяФайлаЗагрузки,РазмерФайла,,ВремяСоздания);
//ДатаСоздания=Лев(ВремяСоздания,Найти(ВремяСоздания," "));
ТекстСостояния="создан "+ВремяСоздания+" ("+Окр(РазмерФайла/1024,1)+" кб)";
//ДатаЦены=ДатаСоздания;
СохранитьЗначение("ЗагрузкаФайл",СокрЛП(ВыбФайл));
Иначе
ТекстСостояния="файла не существует";
КонецЕсли;
КонецПроцедуры

// ======================================
Процедура Выбрать()
_ВыбКаталог=СокрЛП(ВыбКаталог);
Если ФС.ВыбратьФайл(0,ВыбФайл,_ВыбКаталог,"Выбор файла для загрузки","Таблица Excel (*.xls)|*.xls") = 0 Тогда
ВыбФайл = """";
Иначе
ВыбКаталог=_ВыбКаталог;
СохранитьЗначение("ЗагрузкаКаталог",_ВыбКаталог);
КонецЕсли;
ПроверитьФайл();
КонецПроцедуры

// ======================================
Процедура ПриВыбореЗакладки(НомерЗакладки,ИмяЗакладки)
Форма.ИспользоватьСлой("Общий,"+ИмяЗакладки,2);
КонецПроцедуры

// ===============================
Процедура ПриОткрытии()
ДатаДокумента=РабочаяДата();
ВыбКаталог=ВосстановитьЗначение("ЗагрузкаКаталог");
ВыбФайл=ВосстановитьЗначение("ЗагрузкаФайл");
Если СокрЛП(ВыбФайл)<>"""" Тогда
ПроверитьФайл();
КонецЕсли;

Форма.ИспользоватьЗакладки(1);
Форма.Закладки.ДобавитьЗначение("Основной");
Форма.Закладки.ДобавитьЗначение("Настройка");
Форма.Закладки.ДобавитьЗначение("Документ");
//Форма.Закладки.ДобавитьЗначение("Дополнительно");
Форма.ИспользоватьСлой("Основной,Общий",2);

спДок=СоздатьОбъект("СписокЗначений");
Для Инд=1 по Метаданные.Документ() Цикл
Если Метаданные.Документ(Инд).РеквизитТабличнойЧасти()=0 Тогда
Продолжить;
КонецЕсли;
ТекДок=Метаданные.Документ(Инд).Идентификатор;
Синоним=Метаданные.Документ(Инд).Синоним;
спДок.ДобавитьЗначение(ТекДок,Синоним);
КонецЦикла;
спДок.Выгрузить(СписокДокументов);
СписокДокументов.ТекущаяСтрока(1);
Если спДок.РазмерСписка()=0 Тогда
Предупреждение("Нет документов с табличной частью",10);
СтатусВозврата(0);
Возврат;
КонецЕсли;

тбНастройка.НоваяКолонка("Реквизит","Строка",40);
тбНастройка.НоваяКолонка("Синоним","Строка",30,,"Реквизит документа",30);
тбНастройка.НоваяКолонка("Тип","Строка",30,,"Тип значения",20);
тбНастройка.НоваяКолонка("Поиск","Строка",60,,"Поиск",10);
тбНастройка.НоваяКолонка("Столбец","Число",10,0,"Столбец",10);
тбНастройка.НоваяКолонка("ПоУмолчанию",,,,"По умолчанию",20);
тбНастройка.НоваяКолонка("Образец","Строка",30);
//тбНастройка.НоваяКолонка("Реквизит","Строка",60);
тбНастройка.ВидимостьКолонки("Реквизит",0,);
ЗаполнитьРеквизиты();

Настройка1=ВосстановитьЗначение("ЗагрузкаДокНастройка1");
Если ПустоеЗначение(Настройка1)=1 Тогда
Настройка1="Набор настроек №1";
КонецЕсли;
Настройка2=ВосстановитьЗначение("ЗагрузкаДокНастройка2");
Если ПустоеЗначение(Настройка2)=1 Тогда
Настройка2="Набор настроек №2";
КонецЕсли;
Настройка3=ВосстановитьЗначение("ЗагрузкаДокНастройка3");
Если ПустоеЗначение(Настройка3)=1 Тогда
Настройка3="Набор настроек №3";
КонецЕсли;
КонецПроцедуры //ПриОткрытии

// ======================================
Процедура ПриЗакрытии()
СохранитьЗначение("ЗагрузкаДокНастройка1",Настройка1);
СохранитьЗначение("ЗагрузкаДокНастройка2",Настройка2);
СохранитьЗначение("ЗагрузкаДокНастройка3",Настройка3);
КонецПроцедуры

// ======================================
Функция ВыбратьНастройку()
Меню=СоздатьОбъект("СписокЗначений");
НомерНастройки=0;
Меню.ДобавитьЗначение(1,СокрЛП(Настройка1));
Меню.ДобавитьЗначение(2,СокрЛП(Настройка2));
Меню.ДобавитьЗначение(3,СокрЛП(Настройка3));
Рез=Меню.ВыбратьЗначение(НомерНастройки,"""",,30,1);
Возврат НомерНастройки;
КонецФункции

// ======================================
Процедура ЗаписатьФайл()
НН=ВыбратьНастройку();
ЗагружаемыйВид=ТекДок();
Рез=ЗначениеВФайл(КаталогИБ()+"sprload"+НН+".txt",тбНастройка);
СохранитьЗначение("ЗагрузкаДок"+НН,ЗагружаемыйВид);
КонецПроцедуры

// ======================================
Процедура ПрочитатьФайл()
НН=ВыбратьНастройку();
Рез=ЗначениеИзФайла(КаталогИБ()+"sprload"+НН+".txt",тбНастройка);
ЗагружаемыйВид=ВосстановитьЗначение("ЗагрузкаДок"+НН);
Рез=СписокДокументов.НайтиЗначение(ЗагружаемыйВид);
Если Рез>0 Тогда
СписокДокументов.ТекущаяСтрока(Рез);
КонецЕсли;
ЗаполнитьРеквизиты(1);
КонецПроцедуры

// ===============================
Функция УстДоступность()
Форма.СписокДокументов.Доступность(?(НовыйДокумент.Выбран()=1,0,1));
Если (тбДок.КоличествоСтрок()=0) или (НовыйДокумент.Выбран()=0) Тогда
Форма.кнДокумент.Доступность(0);
Иначе
Форма.кнДокумент.Доступность(1);
КонецЕсли;
КонецФункции //УстДоступность
// CODE"

 
lerik1
Пост №1
30.03.2009 13:51
 

"Возникла проблема с обработкой пытаюсь её использовать на 05.02.2009 09:25 Бухгалтерия 7.7 ПРОФ для Украины ред.2.5 7.70.272. Не подтягивается строка наименование, помогите пожалуйста.

// CODE
Перем ТекстСостояния,ВыбКаталог,ВыбФайл;

// ===============================
Функция ТекДок()
ТекДок=СписокДокументов.ПолучитьЗначение(СписокДокументов.ТекущаяСтрока());
Возврат ТекДок;
КонецФункции //ТекДок

// ===============================
Процедура СформироватьДокумент()
ТекДок=ТекДок();
Попытка
Док=СоздатьОбъект("Документ."+ТекДок);
Исключение
Предупреждение("Неудачная попытка создания объекта """"Документ."+ТекДок+"""""!
|"+ОписаниеОшибки());
Возврат;
КонецПопытки;

//Док.Новый();
//Док.ДатаДок=ДатаДокумента;
//************* ТОЛЬКО ДЛЯ "ПРОСТОГО УЧЕТА"
//глОбщиеРеквизиты(Док);
//************* ТОЛЬКО ДЛЯ "ПРОСТОГО УЧЕТА"

Если Док.НайтиДокумент(НовыйДокумент)=0 Тогда
Возврат;
КонецЕсли;
Если Док.КоличествоСтрок()>0 Тогда
Рез=Вопрос("Существующие строки документа будут удалены, продолжить?","Да+Нет",10);
Если Рез<>"Да" Тогда
Возврат;
КонецЕсли;
КонецЕсли;

Док.ЗагрузитьТабличнуюЧасть(тбДок);
Док.Записать();
ОткрытьФорму(Док.ТекущийДокумент());
КонецПроцедуры //СформироватьДокумент

// ======================================
Процедура Выполнить()
Если тбНастройка.КоличествоСтрок()=0 Тогда
Предупреждение("Не заданы настройки загрузки");
Возврат;
КонецЕсли;

Попытка
Окно = СоздатьОбъект("Excel.Application");
Исключение
Предупреждение("Неудачная попытка обращения к данным Excel,
|проверьте наличие установленного приложения Microsoft Excel.
|Ошибка: "+ОписаниеОшибки());
Возврат;
КонецПопытки;

Окно.Caption = "Загрузка данных";
НовыеКниги = Окно.Workbooks;
Попытка
РабКнига = НовыеКниги.Open(СокрЛП(ВыбКаталог)+СокрЛП(ВыбФайл));
Исключение
Сообщить("Неудачная попытка открытия файла с именем <"+СокрЛП(ВыбФайл)+">");
Возврат;
КонецПопытки;

ТекДок=ТекДок();

КвоПустых=2;
Пустых = 0; ВсегоСтрок = 1;
Состояние("Подготовка к загрузке");
Для Стр = 1 По 100000 Цикл
Ячейка = Окно.Cells(Стр,1);
Если СокрЛП(Ячейка.Value) <> """" Тогда
ВсегоСтрок = ВсегоСтрок + 1;
Пустых = 0;
Иначе
Пустых = Пустых + 1;
КонецЕсли;
Если Пустых >= КвоПустых Тогда
Прервать;
КонецЕсли;
КонецЦикла;

ЗначениеВФайл(КаталогИБ()+"docload_"+ТекДок+".txt",тбНастройка);

СписокЗагрузки=СоздатьОбъект("СписокЗначений");
Пер=СоздатьОбъект("Периодический");
тбДок.УдалитьСтроки();

Пустых = 0;
Для Стр = 1 По 10000 Цикл
СписокЗагрузки.УдалитьВсе();
Контроль="""";

//---------------- загрузка в список реквизитов из строки
тбНастройка.ВыбратьСтроки();
Пока тбНастройка.ПолучитьСтроку()=1 Цикл
ТекРеквизит =СокрЛП(тбНастройка.Реквизит);
ТекСтолбец =Число(тбНастройка.Столбец);
Тип =СокрЛП(тбНастройка.Тип);
Поиск =СокрЛП(тбНастройка.Поиск);

Если Тип="Справочник" Тогда
ВидСправочника=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(ТекРеквизит).Вид;

//для справочника неопределенного типа ищем по виду значения "по умолчанию"
Если ПустоеЗначение(ВидСправочника)=1 Тогда
_Значение=тбНастройка.ПоУмолчанию;
Если ПустоеЗначение(_Значение)=0 Тогда
ВидСправочника=_Значение.Вид();
Иначе
Поиск=""; //отключение поиска - вид справочника не удалось определить
КонецЕсли;
КонецЕсли;
КонецЕсли;

Если ТекСтолбец>0 Тогда
Значение=Окно.Cells(Стр,ТекСтолбец).Value;
Контроль=Контроль+СокрЛП(Значение);

Если ПустоеЗначение(Значение)=1 Тогда
Значение=тбНастройка.ПоУмолчанию;       //подстановка значения по-умолчанию
ИначеЕсли (Тип="Справочник") и (Поиск<>"") Тогда
// ВидСправочника=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(ТекРеквизит).Вид;
Спр=СоздатьОбъект("Справочник."+ВидСправочника);
Рез=0;
Если Поиск="Код" Тогда
ДлинаКода=Метаданные.Справочник(ВидСправочника).ДлинаКода;
ДлиннаяСтрока=Значение;
_Значение=Лев(ДлиннаяСтрока,ДлинаКода);
Рез=Спр.НайтиПоКоду(_Значение,0);
ИначеЕсли Поиск="Наименование" Тогда
ДлинаНаименования=Метаданные.Справочник(ВидСправочника).ДлинаНаименования;
ДлиннаяСтрока=Значение;
_Значение=Лев(ДлиннаяСтрока,ДлинаНаименования);
Рез=Спр.НайтиПоНаименованию(_Значение,0,1);
Иначе
ДлинаРеквизита=Метаданные.Справочник(ВидСправочника).Реквизит(Поиск).Длина;
ДлиннаяСтрока=Значение;
_Значение=Лев(ДлиннаяСтрока,ДлинаРеквизита);
Рез=Спр.НайтиПоРеквизиту(Поиск,_Значение,1);
КонецЕсли;

Если Рез=1 Тогда
Значение=Спр.ТекущийЭлемент();
КонецЕсли;
ИначеЕсли Тип="Перечисление" Тогда
ВидПер=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(ТекРеквизит).Вид;
Для Инд=1 По Метаданные.Перечисление(ВидПер).Значение() Цикл
Идентификатор=Метаданные.Перечисление(ВидПер).Значение(Инд).Идентификатор;
Если ВРег(СокрЛП(Значение))=ВРег(Идентификатор) Тогда
Значение=Метаданные.Перечисление(ВидПер).Значение(Инд);
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если ТипЗначенияСтр(Значение)="Строка" Тогда
Значение=СокрЛП(Значение);
КонецЕсли;

СписокЗагрузки.Установить(ТекРеквизит,Значение);
КонецЕсли;
КонецЦикла;
//-------------- загрузка в список реквизитов из строки

//-------------- формирование строки
Если СокрЛП(Контроль)="""" Тогда
Сообщить("Строка "+Стр+" не содержит данных");
Пустых = Пустых + 1;
Иначе
тбДок.НоваяСтрока();
тбДок.НомерС=Стр;
ТекСтрока=тбДок.НомерСтроки;
Для Инд=1 По тбДок.КоличествоКолонок() Цикл
ТекРеквизит=тбДок.ПолучитьПараметрыКолонки(Инд);
Значение=СписокЗагрузки.Получить(ТекРеквизит);
тбДок.УстановитьЗначение(ТекСтрока,Инд,Значение);
КонецЦикла;
КонецЕсли;
//-------------- формирование строки

Если Пустых >= КвоПустых Тогда
Прервать;
КонецЕсли;
Состояние("Чтение данных... "+СокрЛП(Стр)+" ("+СокрЛП(Формат(Стр*100/ВсегоСтрок,"Ч10.0"))+"%)");
КонецЦикла;
Окно.Quit();

Предупреждение("Файл "+СокрЛП(ВыбФайл)+" загружен",5);
//Форма.Закрыть();
Форма.ИспользоватьСлой("Общий,Документ",2);
КонецПроцедуры

// ======================================
Процедура ВыбНастройка()
Если тбНастройка.КоличествоСтрок()=0 Тогда
Возврат;
КонецЕсли;
ТекКолонка=тбНастройка.ТекущаяКолонка();
ТекСтрока=тбНастройка.ТекущаяСтрока();
ТекДок=ТекДок();
Если ТекКолонка="Столбец" Тогда
ТекЗначение=тбНастройка.ПолучитьЗначение(ТекСтрока,"Столбец");
НовЗначение=ТекЗначение;
Рез=ВвестиЧисло(НовЗначение,"Номер столбца",10,0,30);
Если (Рез=1) и (НовЗначение<>ТекЗначение) Тогда
тбНастройка.УстановитьЗначение(ТекСтрока,"Столбец",НовЗначение);
КонецЕсли;
ИначеЕсли ТекКолонка="ПоУмолчанию" Тогда
Реквизит=СокрЛП(тбНастройка.ПолучитьЗначение(ТекСтрока,"Реквизит"));

Тип="Строка";
Вид="""";
Длина=60;
Точность=0;

Попытка
Тип=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Тип;
Вид=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Вид;
Длина=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Длина;
Точность=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Точность;
Исключение КонецПопытки;

ТекЗначение=тбНастройка.ПолучитьЗначение(ТекСтрока,"ПоУмолчанию");
НовЗначение=ТекЗначение;
Если ПустоеЗначение(Вид)=0 Тогда
Рез=ВвестиЗначение(НовЗначение,Вид,Тип+"."+Вид,Длина,Точность);
ИначеЕсли Тип="Справочник" Тогда
//построение списка справочников
ВидыСправочников=СоздатьОбъект("СписокЗначений");
Для Инд=1 По Метаданные.Справочник() Цикл
Представление=Метаданные.Справочник(Инд).Синоним;
Идентификатор=Метаданные.Справочник(Инд).Идентификатор;
Если СокрЛП(Представление)="""" Тогда
Представление=Идентификатор;
КонецЕсли;
ВидыСправочников.Установить(Представление,Идентификатор);
КонецЦикла;
Если ВидыСправочников.ВыбратьЗначение(Вид,"Вид справочника",,30,)=1 Тогда
Рез=ВвестиЗначение(НовЗначение,Вид,Тип+"."+Вид,Длина,Точность);
КонецЕсли;
КонецЕсли;
Если Рез=1 Тогда
тбНастройка.УстановитьЗначение(ТекСтрока,"ПоУмолчанию",НовЗначение);
КонецЕсли;
ИначеЕсли ТекКолонка="Поиск" Тогда
Реквизит=СокрЛП(тбНастройка.ПолучитьЗначение(ТекСтрока,"Реквизит"));

Тип="Строка";
Вид="""";
Длина=60;
Точность=0;

Попытка
Тип=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Тип;
Вид=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Вид;
Длина=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Длина;
Точность=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Точность;
Исключение КонецПопытки;

ТекЗначение=тбНастройка.ПолучитьЗначение(ТекСтрока,"Поиск");
Если Тип="Справочник" Тогда
//теперь список реквизитов, которые имеют признак "Сортировка"
спПоиск=СоздатьОбъект("СписокЗначений");
//спПоиск.УдалитьВсе();
//спПоиск.ДобавитьЗначение("_НеИскать","Не искать");
спПоиск.ДобавитьЗначение("Код","Код");
спПоиск.ДобавитьЗначение("Наименование","Наименование");
Если ПустоеЗначение(Вид)=1 Тогда
Попытка
_Значение=тбНастройка.ПолучитьЗначение(ТекСтрока,"ПоУмолчанию");
Вид=_Значение.Вид();
Исключение КонецПопытки;
КонецЕсли;
Если ПустоеЗначение(Вид)=0 Тогда
Для Ном=1 по Метаданные.Справочник(Вид).Реквизит() Цикл
Сортировка=Метаданные.Справочник(Вид).Реквизит(Ном).Сортировка;
Если Сортировка=1 Тогда
//Представление=Метаданные.Справочник(ИмяСправочника).Реквизит(Ном).Синоним;
Идентификатор=Метаданные.Справочник(Вид).Реквизит(Ном).Идентификатор;
спПоиск.ДобавитьЗначение(Идентификатор);//,Представление);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Зн=0;
Рез=спПоиск.ВыбратьЗначение(Зн,,,10,1);
Если Рез=1 Тогда
тбНастройка.УстановитьЗначение(ТекСтрока,"Поиск",Зн);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры

// ===============================
Процедура ЗаполнитьРеквизиты(ТолькоТД=0,СбросНастроек=0)
//Если (тбНастройка.КоличествоСтрок()>0) и (ТолькоТД=0) Тогда
// Рез=Вопрос("Текущие настройки будут удалены, продолжить?","Да+Нет",10);
// Если Рез<>"Да" Тогда
// СтатусВозврата(0);
// Возврат;
// КонецЕсли;
//КонецЕсли;

Если НовыйДокумент.Выбран()=1 Тогда
Если Метаданные.Документ(НовыйДокумент.Вид()).РеквизитТабличнойЧасти()=0 Тогда
Предупреждение("У выбраного документа нет табличной части",10);
НовыйДокумент=0;
Возврат;
КонецЕсли;
Поз=СписокДокументов.НайтиЗначение(НовыйДокумент.Вид());
Если Поз>0 Тогда
СписокДокументов.ТекущаяСтрока(Поз);
КонецЕсли;
КонецЕсли;

Если ТолькоТД=0 Тогда
тбНастройка.УдалитьСтроки();
КонецЕсли;
тбДок.Очистить();
тбДок.НоваяКолонка("НомерС","Число",5,0,"№",5);
ТекДок=ТекДок();
Для Инд=1 по Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти() Цикл
Реквизит=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Идентификатор;
Синоним=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Синоним;
Синоним=?(СокрЛП(Синоним)="""",Реквизит,Синоним);
Тип=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Тип;
Вид=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Вид;
Длина=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Длина;
Точность=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Точность;

Если ТолькоТД=0 Тогда
тбНастройка.НоваяСтрока();
тбНастройка.Реквизит=Реквизит;
тбНастройка.Синоним=Синоним;
тбНастройка.Тип=Тип;
тбНастройка.Поиск=?(Тип="Справочник","","Х");
КонецЕсли;

Ширина=?(Тип="Справочник",30,10);
Если (Тип="Справочник") и (Найти(Вид,"Ед")=1) Тогда
Ширина=10;
КонецЕсли;
тбДок.НоваяКолонка(Реквизит,Тип,Длина,Точность,Синоним,Ширина);
КонецЦикла;

Если СбросНастроек=0 Тогда
ФайлНастроек=КаталогИБ()+"docload_"+ТекДок+".txt";
Если ФС.СуществуетФайл(ФайлНастроек)=1 Тогда
ЗначениеИзФайла(ФайлНастроек,тбНастройка);
КонецЕсли;
КонецЕсли;
КонецПроцедуры //ЗаполнитьРеквизиты

// ======================================
Процедура ПроверитьФайл()
ИмяФайлаЗагрузки=СокрЛП(ВыбКаталог)+СокрЛП(ВыбФайл);
Если ФС.СуществуетФайл(ИмяФайлаЗагрузки)=1 Тогда
РазмерФайла=0; ДатаСоздания=0; ВремяСоздания=0;
ФС.АтрибутыФайла(ИмяФайлаЗагрузки,РазмерФайла,,ВремяСоздания);
//ДатаСоздания=Лев(ВремяСоздания,Найти(ВремяСоздания," "));
ТекстСостояния="создан "+ВремяСоздания+" ("+Окр(РазмерФайла/1024,1)+" кб)";
//ДатаЦены=ДатаСоздания;
СохранитьЗначение("ЗагрузкаФайл",СокрЛП(ВыбФайл));
Иначе
ТекстСостояния="файла не существует";
КонецЕсли;
КонецПроцедуры

// ======================================
Процедура Выбрать()
_ВыбКаталог=СокрЛП(ВыбКаталог);
Если ФС.ВыбратьФайл(0,ВыбФайл,_ВыбКаталог,"Выбор файла для загрузки","Таблица Excel (*.xls)|*.xls") = 0 Тогда
ВыбФайл = """";
Иначе
ВыбКаталог=_ВыбКаталог;
СохранитьЗначение("ЗагрузкаКаталог",_ВыбКаталог);
КонецЕсли;
ПроверитьФайл();
КонецПроцедуры

// ======================================
Процедура ПриВыбореЗакладки(НомерЗакладки,ИмяЗакладки)
Форма.ИспользоватьСлой("Общий,"+ИмяЗакладки,2);
КонецПроцедуры

// ===============================
Процедура ПриОткрытии()
ДатаДокумента=РабочаяДата();
ВыбКаталог=ВосстановитьЗначение("ЗагрузкаКаталог");
ВыбФайл=ВосстановитьЗначение("ЗагрузкаФайл");
Если СокрЛП(ВыбФайл)<>"""" Тогда
ПроверитьФайл();
КонецЕсли;

Форма.ИспользоватьЗакладки(1);
Форма.Закладки.ДобавитьЗначение("Основной");
Форма.Закладки.ДобавитьЗначение("Настройка");
Форма.Закладки.ДобавитьЗначение("Документ");
//Форма.Закладки.ДобавитьЗначение("Дополнительно");
Форма.ИспользоватьСлой("Основной,Общий",2);

спДок=СоздатьОбъект("СписокЗначений");
Для Инд=1 по Метаданные.Документ() Цикл
Если Метаданные.Документ(Инд).РеквизитТабличнойЧасти()=0 Тогда
Продолжить;
КонецЕсли;
ТекДок=Метаданные.Документ(Инд).Идентификатор;
Синоним=Метаданные.Документ(Инд).Синоним;
спДок.ДобавитьЗначение(ТекДок,Синоним);
КонецЦикла;
спДок.Выгрузить(СписокДокументов);
СписокДокументов.ТекущаяСтрока(1);
Если спДок.РазмерСписка()=0 Тогда
Предупреждение("Нет документов с табличной частью",10);
СтатусВозврата(0);
Возврат;
КонецЕсли;

тбНастройка.НоваяКолонка("Реквизит","Строка",40);
тбНастройка.НоваяКолонка("Синоним","Строка",30,,"Реквизит документа",30);
тбНастройка.НоваяКолонка("Тип","Строка",30,,"Тип значения",20);
тбНастройка.НоваяКолонка("Поиск","Строка",60,,"Поиск",10);
тбНастройка.НоваяКолонка("Столбец","Число",10,0,"Столбец",10);
тбНастройка.НоваяКолонка("ПоУмолчанию",,,,"По умолчанию",20);
тбНастройка.НоваяКолонка("Образец","Строка",30);
//тбНастройка.НоваяКолонка("Реквизит","Строка",60);
тбНастройка.ВидимостьКолонки("Реквизит",0,);
ЗаполнитьРеквизиты();

Настройка1=ВосстановитьЗначение("ЗагрузкаДокНастройка1");
Если ПустоеЗначение(Настройка1)=1 Тогда
Настройка1="Набор настроек №1";
КонецЕсли;
Настройка2=ВосстановитьЗначение("ЗагрузкаДокНастройка2");
Если ПустоеЗначение(Настройка2)=1 Тогда
Настройка2="Набор настроек №2";
КонецЕсли;
Настройка3=ВосстановитьЗначение("ЗагрузкаДокНастройка3");
Если ПустоеЗначение(Настройка3)=1 Тогда
Настройка3="Набор настроек №3";
КонецЕсли;
КонецПроцедуры //ПриОткрытии

// ======================================
Процедура ПриЗакрытии()
СохранитьЗначение("ЗагрузкаДокНастройка1",Настройка1);
СохранитьЗначение("ЗагрузкаДокНастройка2",Настройка2);
СохранитьЗначение("ЗагрузкаДокНастройка3",Настройка3);
КонецПроцедуры

// ======================================
Функция ВыбратьНастройку()
Меню=СоздатьОбъект("СписокЗначений");
НомерНастройки=0;
Меню.ДобавитьЗначение(1,СокрЛП(Настройка1));
Меню.ДобавитьЗначение(2,СокрЛП(Настройка2));
Меню.ДобавитьЗначение(3,СокрЛП(Настройка3));
Рез=Меню.ВыбратьЗначение(НомерНастройки,"""",,30,1);
Возврат НомерНастройки;
КонецФункции

// ======================================
Процедура ЗаписатьФайл()
НН=ВыбратьНастройку();
ЗагружаемыйВид=ТекДок();
Рез=ЗначениеВФайл(КаталогИБ()+"sprload"+НН+".txt",тбНастройка);
СохранитьЗначение("ЗагрузкаДок"+НН,ЗагружаемыйВид);
КонецПроцедуры

// ======================================
Процедура ПрочитатьФайл()
НН=ВыбратьНастройку();
Рез=ЗначениеИзФайла(КаталогИБ()+"sprload"+НН+".txt",тбНастройка);
ЗагружаемыйВид=ВосстановитьЗначение("ЗагрузкаДок"+НН);
Рез=СписокДокументов.НайтиЗначение(ЗагружаемыйВид);
Если Рез>0 Тогда
СписокДокументов.ТекущаяСтрока(Рез);
КонецЕсли;
ЗаполнитьРеквизиты(1);
КонецПроцедуры

// ===============================
Функция УстДоступность()
Форма.СписокДокументов.Доступность(?(НовыйДокумент.Выбран()=1,0,1));
Если (тбДок.КоличествоСтрок()=0) или (НовыйДокумент.Выбран()=0) Тогда
Форма.кнДокумент.Доступность(0);
Иначе
Форма.кнДокумент.Доступность(1);
КонецЕсли;
КонецФункции //УстДоступность
// CODE"

 
Денис (САМАРА)
Пост №2
Это обработка из типовой конфигурации или вам ее к...
30.03.2009 16:54
 
 
Prikum
Пост №3
Судя по последней строчке, то кто то сделал!
30.03.2009 17:38
 
 
Daedal
Пост №4
И судя по всему этот кто-то раньше писал на ассемб...
31.03.2009 05:37
 
 
Daedal
Пост №5
">Не подтягивается строка наименование, помогите п...
31.03.2009 05:57
 

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Учет, налогообложение, автоматизация
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Интернет-конференция: Оформление командировок по новым правилам
  • ЕГАИС

1С бесплатно 1С-Отчетность 1С-Такском 1С:ERP Управление предприятием 1С:Бесплатно 1С:Бухгалтерия 8 1С:Бухгалтерия 8 КОРП 1С:Бухгалтерия автономного учреждения 1С:Бухгалтерия государственного учреждения 1С:Бюджет муниципального образования 1С:Бюджет поселения 1С:Вещевое довольствие 1С:Деньги 1С:Документооборот 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и кадры государственного учреждения 1С:Зарплата и управление персоналом 1С:Зарплата и управление персоналом КОРП 1С:Комплексная автоматизация 8 1С:Лекторий 1С:Предприятие 1С:Предприятие 7.7 1С:Предприятие 8 1С:Розница 1С:Управление небольшой фирмой 1С:Управление производственным предприятием 1С:Управление торговлей 1СПАРК-Риски 1СПредприятие 8 2-НДФЛ 3-НДФЛ 4-ФСС 5 минут 6-НДФЛ CRM Агентский договор. Учет административная ответственность адресный классификатор акцизы алкоголь алкогольная продукция амортизационная премия амортизация арбитражная практика аттестация рабочих мест аудит аудиторские организации база 1с база для начисления страховых взносов база по страховым взносам база по налогу на прибыль банк и касса в 1с банкротство безнадежная задолженность безналичные расчеты бланки строгой отчетности больничное пособие больничный листок бухгалтер бухгалтерия автономного учреждения бухгалтерская отчетность бухгалтерские события бухгалтерский баланс бухгалтерский учет бухучет Бытовые услуги. Учет бюджет муниципального образования бюджет поселения бюджетная отчетность бюджетный учет ВАС РФ Вахтовый метод.Оплата ввоз товаров взаимозависимые_лица взноcы в ПФР взносы в ФОМС взносы в ФСС взносы на травматизм видео 1С водный налог возврат переплаты восстановление НДС вывоз товаров выездная налоговая проверка выездная проверка выплата зарплаты выплаты иностранному работнику выплаты работникам выплаты физическим лицам высококвалифицированные специалисты вычет НДС вычеты по НДФЛ ВЭД ГК РФ госпошлина государственная регистрация государственные и муниципальные закупки гражданско-правовой договор графики работы двойное налогообложение дебиторка декларация по алкоголю декларация по ЕНВД декларация по НДС денежные документы День Бухгалтерии детские пособия ДиректБанк договор комиссии договор подряда договор поставки договор транспортной экспедиции договорная политика документальное оформление документооборот долговые обязательства должная осмотрительность доходы организации ЕГАИС ЕГРЮЛ ежемесячная отчетность ЕНВД ЕСН ЕСХН задержка заработной платы задолженность по налогам займы закон о бухгалтерском учете занимательная бухгалтерия заработная плата зарплата зарплатные налоги зарубежная командировка защита персональных данных заявление о постановке на учет земельный налог изменения 2015 изменения в законодательстве изменения в законодательстве 2012 изменения в законодательстве 2013 имущественные вычеты имущественный налоговый вычет индивидуальный предприниматель иностранные компании иностранный работник интернет-компании интернет-магазины ИП ИП на ЕНВД ИС 1С:ИТС исправление бухгалтерских ошибок исправление ошибок ИТС ИФНС кадастровая стоимость кадровое оформление камеральная проверка кассовая дисциплина кассовые операции КБК квоты на иностранных рабочих КИК ККТ КЛАДР ключевая ставка книга на УСН книга покупок книга продаж КоАП РФ коды видов продукции командировка командировочные расходы компенсации работникам компенсационные выплаты компенсация за отпуск консервация основных средств консолидированная группа контролируемые сделки корректировочный счет-фактура коэффициент-дефлятор крупнейшие налогоплательщики курортный сбор курсовые разницы лизинг лизинговое имущество ликвидация организации лицензирование льготы по ндс малый бизнес маркировка изделий маркировка изделий из натурального меха маркировка меховых изделий маркировка товара материальная выгода материальная помощь материнский капитал международные стандарты миниденьги модернизация основных средств МРОТ МСФО наличные расчеты налог на игорный бизнес налог на имущество налог на имущество физических лиц налог на прибыль налоги физических лиц налоговая база по налогу на прибыль налоговая база по ндс налоговая база по НДС налоговая декларация налоговая ответственность налоговая отчетность налоговая политика налоговая проверка налоговое администрирование налоговые каникулы налоговые льготы налоговые проверки налоговый агент налоговый агент НДФЛ налоговый агент по НДС налоговый агент по НДФЛ налоговый агент по ндфл налоговый вычет налоговый контроль налоговый мониторинг налоговый учет налогообложение доходов налогоплательщик начисление пени НДПИ НДС НДС по ставке 10% НДС при ввозе НДС при экспорте НДС-2015 НДФЛ некоммерческие организации учет неотделимые улучшения нерезиденты НИОКР НК РФ НМА новая форма декларации новая форма расчета новости нормы естественной убыли нулевая декларация нулевая ставка обзор обзор бухгалтерских событий обзор новостей обмен документами обновление КЛАДР обособленное подразделение обособленные подразделения обучение 1с оказание услуг ОКВЭД2 ОКПД2 онлайн-касса онлайн-ккт онлайн-ККТ освобождение от налогообложения освобождение от ндс освобождение от НДС основные средства отпускные отходы отчетность в ПФР отчетность в росстат отчетность в Росстат отчетность организации отчетность по страховым взносам отчетность предпринимателя оформление счета-фактуры охрана труда патентная система ПБУ 18 первичные документы перенос убытков персонифицированный учет план счетов плата за негативное воздействие на окружающую среду плата за проезд грузовиков платежи платежное поручение платежные документы 1с платежный агент платежный терминал повышение ставок подакцизные товары подтверждающие документы подтверждение расходов полномочия налоговых органов пониженные тарифы поправки в НК РФ поправки в тк рф поправки в ТК РФ порядок маркировки товаров пособие по беременности и родам пособие по временной нетрудоспособности пособие по нетрудоспособности пособия за счет ФСС посреднические договоры постановка на учет постановка на учет в налоговом органе права налогоплательщика представление сведений приказ Минфина применение ККТ приостановление операций по счету проверка ИНН/КПП проверка контрагентов продажа алкогольной продукции производственный календарь проф. Пятов профессиональные вычеты ПСН псн путевой лист работники-иностранцы раздельный учет расходы на ГСМ расходы на рекламу расходы организации расчет больничного листа расчет заработной платы расчет НДПИ расчет отпускных расчет себестоимости расчет страховых взносов расчетный счет расчеты с работниками регистрация недвижимости регистрация юридических лиц реконструкция основных средств ремонт основных средств реорганизация росалкогольрегулирование РСВ-1 рыночные цены самозанятые граждане свод отчетов сдача имущества в аренду секреты 1С:ЗУП сельскохозяйственный товаропроизводитель система "Платон" служебная командировка снижение ставок совместители совмещение налоговых режимов составление и сдача отчетности составление и сдача отчетности социальное страхование социальные вычеты социальный налоговый вычет спецоценка условий труда средний заработок ставка НДС Ставка НДФЛ ставка рефинансирования ставка УСН стандартные вычеты стандарты бухучета статистика статистическая отчетность статотчетность страхование страховые взносы страховые взносы в пфр страховые взносы в фсс страховые взносы в ФСС страховые взносы для самозанятых страховые взносы на травматизм страховые тарифы судебные издержки суммовые разницы суточные счет-фактура такси таможенные платежи таможенный союз ТК РФ торг-12 торговый сбор транспортный налог трудовая книжка трудовой договор увольнение по инициативе руководителя увольнение по соглашению сторон уголовная ответственность удержание алиментов УКД универсальный корректировочный документ УПД уплата налога уплата налогов упрощенная система налогообложения УСН уставный капитал уточненка утрата права на усн учет аренды учет в АО учет в ООО учет в сельском хозяйстве учет в строительстве учет в туризме учет дивидендов учет доходов при УСН учет доходов при усн учет импорта учет лизинга учет МПЗ учет на производстве учет ОС учет основных средств учет премий учет расходов учет расходов при УСН учет расходов при усн учет реализации учет скидок учет субсидий учет товаров учет ценных бумаг учет экспорта учетная политика учредительные документы факсимиле ФИАС финансовый анализ финансовый результат ФНС РФ форма 6-НДФЛ формы документов ФСС штрафные санкции ЭДО экологические платежи экспорт в страны ЕАЭС экспорт продукции электронная отчетность электронная подпись электронные счета-фактуры электронный документооборот электронный формат энциклопедия проверок

Все теги
X

Яндекс-виджет: Новости
Яндекс-виджет: Полезные материалы
Информеры