Ошибка при выполнении обработки
17.08.2010
10:02
#1
"Есть обработка которая переносит проводки из ЗУПа в Бух (код ниже) при выполнении выдает ошибку
{Форма.Форма(73)}: Поле объекта не обнаружено (ПолныйКодЭлемента)
СубконтоДт1=Справочники.СтатьиРасходов.НайтиПоРеквизиту("ПолныйКодЭлемента",СокрЛП(Выборка.СубконтоДт2.ПолныйКодЭлемента));
Я так понимаю это связано с тем что com-соединений не видит это поле
Процедура ПереносЗПНажатие(Элемент)
Состояние("подключение ..");
кнТест = Новый COMОбъект("V81.COMConnector");
соед = кнТест.connect(ПодключениекБУ);
Состояние("запрос ..");
Запрос = соед.NewObject("Запрос");
Запрос.Текст ="ВЫБРАТЬ
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетДт,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт1,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт2,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт3,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетКт,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт1,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт2,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт3,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Сумма
|ИЗ
| Документ.ОтражениеЗарплатыВРеглУчете.ОтражениеВУчете КАК ОтражениеЗарплатыВРеглУчетеОтражениеВУчете
|ГДЕ
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
| И ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Ссылка.Проведен = ИСТИНА";
Запрос.УстановитьПараметр("ДатаНач", НачалоМесяца(ДатаКон));
Запрос.УстановитьПараметр("ДатаКон", КонецМесяца(ДатаКон));
Выборка = Запрос.Выполнить().Выбрать();
// НАЧАЛО Булгаков А.В.: Добавил запрос 2009-08-17
ЗапросСоответствия = Новый Запрос;
ЗапросСоответствия.Текст =
"ВЫБРАТЬ
| ТаблицаСоответствияЗП.Наименование,
| ТаблицаСоответствияЗП.Субконто,
| ТаблицаСоответствияЗП.СчетЗП,
| ТаблицаСоответствияЗП.СчетБух
|ИЗ
| Справочник.ТаблицаСоответствияЗП КАК ТаблицаСоответствияЗП";
ВыборкаСоответствия = ЗапросСоответствия.Выполнить().Выбрать();
СтруктураПоиска = Новый Структура("Наименование, СчетЗП");
// КОНЕЦ Булгаков А.В.: Добавил запрос 2009-08-17
Состояние("обработка ..");
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("СчетДт");
ТЗ.Колонки.Добавить("СубконтоДт1");
ТЗ.Колонки.Добавить("СубконтоДт2");
ТЗ.Колонки.Добавить("СубконтоДт3");
ТЗ.Колонки.Добавить("СчетКт");
ТЗ.Колонки.Добавить("СубконтоКт1");
ТЗ.Колонки.Добавить("СубконтоКт2");
ТЗ.Колонки.Добавить("СубконтоКт3");
ТЗ.Колонки.Добавить("Сумма");
n=0;
Пока Выборка.Следующий() Цикл
n=n+1;
СубконтоДт1 = Неопределено; СубконтоДт2 = Неопределено; СубконтоДт3 = Неопределено;
СубконтоКт1 = Неопределено; СубконтоКт2 = Неопределено; СубконтоКт3 = Неопределено;
СчетДт = Неопределено;СчетКт = Неопределено;
Если (Выборка.СчетДт.Код = "20.01")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("25");
//Сообщить (ТипЗнч(соед.String(Выборка.СубконтоДт2)));
СубконтоДт1=Справочники.СтатьиРасходов.НайтиПоРеквизиту("ПолныйКодЭлемента",СокрЛП(Выборка.СубконтоДт2.ПолныйКодЭлемента));//Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоДт1.Наименование)).Субконто;
//СубконтоДт2=Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование).Субконто;
// НАЧАЛО Булгаков А.В.: Добавил фрагмент 2009-08-17
// СубконтоДт2=Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование).Субконто; // ЗАКОММЕНТИРОВАЛ
СтруктураПоиска.Наименование = Выборка.СубконтоДт1.Наименование;
СтруктураПоиска.СчетЗП = Выборка.СчетДт.Код;
ВыборкаСоответствия.Сбросить();
Пока ВыборкаСоответствия.НайтиСледующий(СтруктураПоиска) Цикл
СубконтоДт2 = ВыборкаСоответствия.Субконто;
КонецЦикла;
// КОНЕЦ Булгаков А.В.: Добавил фрагмент 2009-08-17
Если СубконтоДт2 = Неопределено Тогда
СубконтоДт2=Справочники.Подразделения.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование);
КонецЕсли;
ИначеЕсли (Выборка.СчетДт.Код = "20.60")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("20.10");
СубконтоДт1=Справочники.СтатьиРасходов.НайтиПоРеквизиту("ПолныйКодЭлемента",СокрЛП(Выборка.СубконтоДт3.ПолныйКодЭлемента));
//Справочники.СтатьиРасходов.НайтиПоНаименованию("Оплата по окладу, тарифным ставкам");
(Выборка.СубконтоДт1.Наименование);//Справочники.ВидыДеятельности.НайтиПоНаименованию("Выдача технических условий и проектные работы");Подразделения.НайтиПоРеквизиту("ВнешнийКлюч",Выборка.СубконтоДт1.Код);
//КонецЕсли;
// НАЧАЛО Булгаков А.В.: Добавил фрагмент 2009-08-17
// СубконтоДт2=Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование).Субконто; // ЗАКОММЕНТИРОВАЛ
СтруктураПоиска.Наименование = Выборка.СубконтоДт1.Наименование;
СтруктураПоиска.СчетЗП = Выборка.СчетДт.Код;
ВыборкаСоответствия.Сбросить();
Пока ВыборкаСоответствия.НайтиСледующий(СтруктураПоиска) Цикл
СубконтоДт2 = ВыборкаСоответствия.Субконто;
КонецЦикла;
// КОНЕЦ Булгаков А.В.: Добавил фрагмент 2009-08-17
Если СубконтоДт2 = Неопределено Тогда
СубконтоДт2=Справочники.Подразделения.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование);
КонецЕсли;
ИначеЕсли (Выборка.СчетДт.Код = "20.93")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("20.20");
СубконтоДт1=Справочники.ВидыДеятельности.НайтиПоНаименованию("Выдача технических условий и проектные работы");
//СубконтоДт2=Справочники.СтатьиРасходов.НайтиПоНаименованию("Оплата по окладу, тарифным ставкам");
СубконтоДт2=Справочники.СтатьиРасходов.НайтиПоРеквизиту("ПолныйКодЭлемента",Выборка.СубконтоДт3.ПолныйКодЭлемента);
// НАЧАЛО Булгаков А.В.: Добавил фрагмент 2009-08-17
//СубконтоДт3=Справочники.Подразделения.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование); // ЗАКОММЕНТИРОВАЛ
//СубконтоДт3=Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование).Субконто; // ЗАКОММЕНТИРОВАЛ
СтруктураПоиска.Наименование = Выборка.СубконтоДт1.Наименование;
СтруктураПоиска.СчетЗП = Выборка.СчетДт.Код;
ВыборкаСоответствия.Сбросить();
Пока ВыборкаСоответствия.НайтиСледующий(СтруктураПоиска) Цикл
СубконтоДт3 = ВыборкаСоответствия.Субконто;
КонецЦикла;
// КОНЕЦ Булгаков А.В.: Добавил фрагмент 2009-08-17
Если СубконтоДт3 = Неопределено Тогда
СубконтоДт3=Справочники.Подразделения.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование);
КонецЕсли;
ИначеЕсли (Выборка.СчетДт.Код = "23")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("23");
// НАЧАЛО Булгаков А.В.: Добавил фрагмент 2009-08-17
// СубконтоДт1=Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоДт2.Наименование)).Субконто; // ЗАКОММЕНТИРОВАЛ
СтруктураПоиска.Наименование = Выборка.СубконтоДт2.Наименование;
СтруктураПоиска.СчетЗП = Выборка.СчетДт.Код;
ВыборкаСоответствия.Сбросить();
Пока ВыборкаСоответствия.НайтиСледующий(СтруктураПоиска) Цикл
СубконтоДт1 = ВыборкаСоответствия.Субконто;
КонецЦикла;
// КОНЕЦ Булгаков А.В.: Добавил фрагмент 2009-08-17
Если СубконтоДт1 = Неопределено Тогда
СубконтоДт1=Справочники.Подразделения.НайтиПоНаименованию(Выборка.СубконтоДт2.Наименование);
КонецЕсли;
СубконтоДт2=Справочники.СтатьиРасходов.НайтиПоРеквизиту("ПолныйКодЭлемента",Выборка.СубконтоДт3.ПолныйКодЭлемента);
СубконтоДт3=Справочники.Подразделения.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование);
ИначеЕсли (Выборка.СчетДт.Код = "25")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("25");
СубконтоДт1=Справочники.СтатьиРасходов.НайтиПоРеквизиту("ПолныйКодЭлемента",СокрЛП(Выборка.СубконтоДт2.ПолныйКодЭлемента));//Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоДт2.Наименование)).Субконто;
(Выборка.СубконтоДт1.Наименование);//Справочники.ВидыДеятельности.НайтиПоНаименованию("Выдача технических условий и проектные работы");Подразделения.НайтиПоРеквизиту("ВнешнийКлюч",Выборка.СубконтоДт1.Код);
//КонецЕсли;
// НАЧАЛО Булгаков А.В.: Добавил фрагмент 2009-08-17
// СубконтоДт2=Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование).Субконто; // ЗАКОММЕНТИРОВАЛ
СтруктураПоиска.Наименование = Выборка.СубконтоДт1.Наименование;
СтруктураПоиска.СчетЗП = Выборка.СчетДт.Код;
ВыборкаСоответствия.Сбросить();
Пока ВыборкаСоответствия.НайтиСледующий(СтруктураПоиска) Цикл
СубконтоДт2 = ВыборкаСоответствия.Субконто;
КонецЦикла;
// КОНЕЦ Булгаков А.В.: Добавил фрагмент 2009-08-17
Если СубконтоДт2 = Неопределено Тогда
СубконтоДт2=Справочники.Подразделения.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование);
КонецЕсли;
ИначеЕсли (Выборка.СчетДт.Код = "26")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("26");
СубконтоДт1=Справочники.СтатьиРасходов.НайтиПоРеквизиту("ПолныйКодЭлемента",СокрЛП(Выборка.СубконтоДт2.ПолныйКодЭлемента));
//СубконтоДт1=Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоДт2.Наименование)).Субконто;//Справочники.СтатьиРасходов.НайтиПоНаименованию("Оплата по окладу, тарифным ставкам");
//СубконтоДт2=Справочники.Подразделения.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование);
//СубконтоДт2=Справочники.Подразделения.НайтиПоРеквизиту("ВнешнийКлюч",Выборка.СубконтоДт1.Код);
// НАЧАЛО Булгаков А.В.: Добавил фрагмент 2009-08-17
// СубконтоДт2=Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование).Субконто; // ЗАКОММЕНТИРОВАЛ
СтруктураПоиска.Наименование = Выборка.СубконтоДт1.Наименование;
СтруктураПоиска.СчетЗП = Выборка.СчетДт.Код;
ВыборкаСоответствия.Сбросить();
Пока ВыборкаСоответствия.НайтиСледующий(СтруктураПоиска) Цикл
СубконтоДт2 = ВыборкаСоответствия.Субконто;
КонецЦикла;
// КОНЕЦ Булгаков А.В.: Добавил фрагмент 2009-08-17
Если СубконтоДт2 = Неопределено Тогда
СубконтоДт2=Справочники.Подразделения.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование);
КонецЕсли;
ИначеЕсли (Выборка.СчетДт.Код = "69.01")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("69.50.01");
СубконтоДт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоДт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетДт.Код = "70")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("70");
СубконтоДт1=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетДт.Код = "92.40")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("92.40");
СубконтоДт1=Справочники.ПрочиеДоходыРасходы.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование);
СубконтоДт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетДт.Код = "97.01")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("97.10");
СубконтоДт1=Справочники.РасходыБудущихПериодов.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоДт1.Наименование));
СубконтоДт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетДт.Код = "76.09")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("76.90.18");
СубконтоДт1=Справочники.Контрагенты.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоДт1.Наименование));
СубконтоДт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетДт.Код = "68.01")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("68.10.03");
СубконтоДт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоДт2=Перечисления.ВидыБюджета.МИНВЕД1;
СубконтоДт3=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетДт.Код = "71.20")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("71.20");
ИначеЕсли (Выборка.СчетДт.Код = "96")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("96");
СубконтоДт1=Справочники.Резервы.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоДт1.Наименование));
КОнецЕсли;
Если СчетДт=Неопределено ТОгда
Сообщить("Дт "+Выборка.СчетДт.Код+" не найден",СтатусСообщения.Важное)
КонецЕсли;
Если (Выборка.СчетКт.Код = "69.01")Тогда //
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("69.50.01");
СубконтоКт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "69.04")Тогда //
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("69.10.02");
СубконтоКт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "69.03.1")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("69.50.03");
СубконтоКт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "69.03.2")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("69.50.04");
СубконтоКт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "69.02.1")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("69.50.05");
СубконтоКт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "69.02.2")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("69.50.06");
СубконтоКт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "69.11")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("69.20");
СубконтоКт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "70")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("70");
СубконтоКт1=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "73.03")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("73.90");
СубконтоКт1=Справочники.ФизическиеЛица.НайтиПоНаименованию(Выборка.СубконтоКт1.Наименование);
СубконтоКт3=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "76.09")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("76.90.18");
СубконтоКт1=Справочники.Контрагенты.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоКт1.Наименование));
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "76.41")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("76.90.13");
СубконтоКт1=Справочники.Контрагенты.НайтиПоНаименованию(Выборка.СубконтоКт1.Наименование);
СубконтоКт2=Справочники.Договоры.НайтиПоКоду(Выборка.СубконтоКт1.Код);
ИначеЕсли (Выборка.СчетКт.Код = "76.90.1")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("76.90.17");
СубконтоКт1=Справочники.Контрагенты.НайтиПоНаименованию(Выборка.СубконтоКт1.Наименование);
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "68.01")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("68.10.03");
СубконтоКт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоКт2=Перечисления.ВидыБюджета.МИНВЕД1;
СубконтоКт3=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "71.20")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("71.20");
ИначеЕсли (Выборка.СчетКт.Код = "97.01")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("97.10");
СубконтоКт1=Справочники.РасходыБудущихПериодов.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоКт1.Наименование));
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
КОнецЕсли;
Если СчетКт=Неопределено ТОгда
Сообщить("Кт "+Выборка.СчетКт.Код+" не найден",СтатусСообщения.Важное)
КонецЕсли;
новстр = ТЗ.Добавить();
новстр.СчетДт = СчетДт;
новстр.СубконтоДт1 = СубконтоДт1;
новстр.СубконтоДт2 = СубконтоДт2;
новстр.СубконтоДт3 = СубконтоДт3;
новстр.СчетКт = СчетКт;
новстр.СубконтоКт1 = СубконтоКт1;
новстр.СубконтоКт2 = СубконтоКт2;
новстр.СубконтоКт3 = СубконтоКт3;
новстр.Сумма = Выборка.Сумма;
КонецЦикла;
//ТЗ.Свернуть("СчетДт,СубконтоДт1,СубконтоДт2,СубконтоДт3,СчетКт,СубконтоКт1,СубконтоКт2,СубконтоКт3","Сумма");
НаборПроводок = РегистрыБухгалтерии.Основной.СоздатьНаборЗаписей();
Для Каждого стр Из ТЗ Цикл
Если Строка(стр.СчетДт)=""""Тогда
продолжить;
КОнецЕсли;
НоваяПроводка = НаборПроводок.Добавить();
НоваяПроводка.Период = ДатаКон;
НоваяПроводка.СчетДт = стр.СчетДт;
НоваяПроводка.СчетКт = стр.СчетКт;
НоваяПроводка.Сумма = стр.Сумма;
БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт,НоваяПроводка.СубконтоДт,1,стр.СубконтоДт1);
БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт,НоваяПроводка.СубконтоДт,2,стр.СубконтоДт2);
БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт,НоваяПроводка.СубконтоДт,3,стр.СубконтоДт3);
БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт,НоваяПроводка.СубконтоКт,1,стр.СубконтоКт1);
БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт,НоваяПроводка.СубконтоКт,2,стр.СубконтоКт2);
БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт,НоваяПроводка.СубконтоКт,3,стр.СубконтоКт3);
КонецЦикла;
Если НаборПроводок.Количество()>0 Тогда
ДокОперация = Документы.Операция.СоздатьДокумент();
ДокОперация.Дата = ДатаКон;
ДокОперация.Организация = Справочники.Организации.НайтиПоНаименованию("Астраханский филиал");
ДокОперация.Содержание = "Перенос проводок из ЗУП";
ДокОперация.Записать();
НаборПроводок.Отбор.Регистратор.Значение = ДокОперация.Ссылка;
НаборПроводок.Записать();
Сообщить("Операция: "+ДокОперация);
"
{Форма.Форма(73)}: Поле объекта не обнаружено (ПолныйКодЭлемента)
СубконтоДт1=Справочники.СтатьиРасходов.НайтиПоРеквизиту("ПолныйКодЭлемента",СокрЛП(Выборка.СубконтоДт2.ПолныйКодЭлемента));
Я так понимаю это связано с тем что com-соединений не видит это поле
Процедура ПереносЗПНажатие(Элемент)
Состояние("подключение ..");
кнТест = Новый COMОбъект("V81.COMConnector");
соед = кнТест.connect(ПодключениекБУ);
Состояние("запрос ..");
Запрос = соед.NewObject("Запрос");
Запрос.Текст ="ВЫБРАТЬ
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетДт,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт1,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт2,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт3,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетКт,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт1,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт2,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт3,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Сумма
|ИЗ
| Документ.ОтражениеЗарплатыВРеглУчете.ОтражениеВУчете КАК ОтражениеЗарплатыВРеглУчетеОтражениеВУчете
|ГДЕ
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
| И ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Ссылка.Проведен = ИСТИНА";
Запрос.УстановитьПараметр("ДатаНач", НачалоМесяца(ДатаКон));
Запрос.УстановитьПараметр("ДатаКон", КонецМесяца(ДатаКон));
Выборка = Запрос.Выполнить().Выбрать();
// НАЧАЛО Булгаков А.В.: Добавил запрос 2009-08-17
ЗапросСоответствия = Новый Запрос;
ЗапросСоответствия.Текст =
"ВЫБРАТЬ
| ТаблицаСоответствияЗП.Наименование,
| ТаблицаСоответствияЗП.Субконто,
| ТаблицаСоответствияЗП.СчетЗП,
| ТаблицаСоответствияЗП.СчетБух
|ИЗ
| Справочник.ТаблицаСоответствияЗП КАК ТаблицаСоответствияЗП";
ВыборкаСоответствия = ЗапросСоответствия.Выполнить().Выбрать();
СтруктураПоиска = Новый Структура("Наименование, СчетЗП");
// КОНЕЦ Булгаков А.В.: Добавил запрос 2009-08-17
Состояние("обработка ..");
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("СчетДт");
ТЗ.Колонки.Добавить("СубконтоДт1");
ТЗ.Колонки.Добавить("СубконтоДт2");
ТЗ.Колонки.Добавить("СубконтоДт3");
ТЗ.Колонки.Добавить("СчетКт");
ТЗ.Колонки.Добавить("СубконтоКт1");
ТЗ.Колонки.Добавить("СубконтоКт2");
ТЗ.Колонки.Добавить("СубконтоКт3");
ТЗ.Колонки.Добавить("Сумма");
n=0;
Пока Выборка.Следующий() Цикл
n=n+1;
СубконтоДт1 = Неопределено; СубконтоДт2 = Неопределено; СубконтоДт3 = Неопределено;
СубконтоКт1 = Неопределено; СубконтоКт2 = Неопределено; СубконтоКт3 = Неопределено;
СчетДт = Неопределено;СчетКт = Неопределено;
Если (Выборка.СчетДт.Код = "20.01")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("25");
//Сообщить (ТипЗнч(соед.String(Выборка.СубконтоДт2)));
СубконтоДт1=Справочники.СтатьиРасходов.НайтиПоРеквизиту("ПолныйКодЭлемента",СокрЛП(Выборка.СубконтоДт2.ПолныйКодЭлемента));//Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоДт1.Наименование)).Субконто;
//СубконтоДт2=Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование).Субконто;
// НАЧАЛО Булгаков А.В.: Добавил фрагмент 2009-08-17
// СубконтоДт2=Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование).Субконто; // ЗАКОММЕНТИРОВАЛ
СтруктураПоиска.Наименование = Выборка.СубконтоДт1.Наименование;
СтруктураПоиска.СчетЗП = Выборка.СчетДт.Код;
ВыборкаСоответствия.Сбросить();
Пока ВыборкаСоответствия.НайтиСледующий(СтруктураПоиска) Цикл
СубконтоДт2 = ВыборкаСоответствия.Субконто;
КонецЦикла;
// КОНЕЦ Булгаков А.В.: Добавил фрагмент 2009-08-17
Если СубконтоДт2 = Неопределено Тогда
СубконтоДт2=Справочники.Подразделения.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование);
КонецЕсли;
ИначеЕсли (Выборка.СчетДт.Код = "20.60")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("20.10");
СубконтоДт1=Справочники.СтатьиРасходов.НайтиПоРеквизиту("ПолныйКодЭлемента",СокрЛП(Выборка.СубконтоДт3.ПолныйКодЭлемента));
//Справочники.СтатьиРасходов.НайтиПоНаименованию("Оплата по окладу, тарифным ставкам");
(Выборка.СубконтоДт1.Наименование);//Справочники.ВидыДеятельности.НайтиПоНаименованию("Выдача технических условий и проектные работы");Подразделения.НайтиПоРеквизиту("ВнешнийКлюч",Выборка.СубконтоДт1.Код);
//КонецЕсли;
// НАЧАЛО Булгаков А.В.: Добавил фрагмент 2009-08-17
// СубконтоДт2=Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование).Субконто; // ЗАКОММЕНТИРОВАЛ
СтруктураПоиска.Наименование = Выборка.СубконтоДт1.Наименование;
СтруктураПоиска.СчетЗП = Выборка.СчетДт.Код;
ВыборкаСоответствия.Сбросить();
Пока ВыборкаСоответствия.НайтиСледующий(СтруктураПоиска) Цикл
СубконтоДт2 = ВыборкаСоответствия.Субконто;
КонецЦикла;
// КОНЕЦ Булгаков А.В.: Добавил фрагмент 2009-08-17
Если СубконтоДт2 = Неопределено Тогда
СубконтоДт2=Справочники.Подразделения.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование);
КонецЕсли;
ИначеЕсли (Выборка.СчетДт.Код = "20.93")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("20.20");
СубконтоДт1=Справочники.ВидыДеятельности.НайтиПоНаименованию("Выдача технических условий и проектные работы");
//СубконтоДт2=Справочники.СтатьиРасходов.НайтиПоНаименованию("Оплата по окладу, тарифным ставкам");
СубконтоДт2=Справочники.СтатьиРасходов.НайтиПоРеквизиту("ПолныйКодЭлемента",Выборка.СубконтоДт3.ПолныйКодЭлемента);
// НАЧАЛО Булгаков А.В.: Добавил фрагмент 2009-08-17
//СубконтоДт3=Справочники.Подразделения.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование); // ЗАКОММЕНТИРОВАЛ
//СубконтоДт3=Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование).Субконто; // ЗАКОММЕНТИРОВАЛ
СтруктураПоиска.Наименование = Выборка.СубконтоДт1.Наименование;
СтруктураПоиска.СчетЗП = Выборка.СчетДт.Код;
ВыборкаСоответствия.Сбросить();
Пока ВыборкаСоответствия.НайтиСледующий(СтруктураПоиска) Цикл
СубконтоДт3 = ВыборкаСоответствия.Субконто;
КонецЦикла;
// КОНЕЦ Булгаков А.В.: Добавил фрагмент 2009-08-17
Если СубконтоДт3 = Неопределено Тогда
СубконтоДт3=Справочники.Подразделения.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование);
КонецЕсли;
ИначеЕсли (Выборка.СчетДт.Код = "23")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("23");
// НАЧАЛО Булгаков А.В.: Добавил фрагмент 2009-08-17
// СубконтоДт1=Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоДт2.Наименование)).Субконто; // ЗАКОММЕНТИРОВАЛ
СтруктураПоиска.Наименование = Выборка.СубконтоДт2.Наименование;
СтруктураПоиска.СчетЗП = Выборка.СчетДт.Код;
ВыборкаСоответствия.Сбросить();
Пока ВыборкаСоответствия.НайтиСледующий(СтруктураПоиска) Цикл
СубконтоДт1 = ВыборкаСоответствия.Субконто;
КонецЦикла;
// КОНЕЦ Булгаков А.В.: Добавил фрагмент 2009-08-17
Если СубконтоДт1 = Неопределено Тогда
СубконтоДт1=Справочники.Подразделения.НайтиПоНаименованию(Выборка.СубконтоДт2.Наименование);
КонецЕсли;
СубконтоДт2=Справочники.СтатьиРасходов.НайтиПоРеквизиту("ПолныйКодЭлемента",Выборка.СубконтоДт3.ПолныйКодЭлемента);
СубконтоДт3=Справочники.Подразделения.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование);
ИначеЕсли (Выборка.СчетДт.Код = "25")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("25");
СубконтоДт1=Справочники.СтатьиРасходов.НайтиПоРеквизиту("ПолныйКодЭлемента",СокрЛП(Выборка.СубконтоДт2.ПолныйКодЭлемента));//Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоДт2.Наименование)).Субконто;
(Выборка.СубконтоДт1.Наименование);//Справочники.ВидыДеятельности.НайтиПоНаименованию("Выдача технических условий и проектные работы");Подразделения.НайтиПоРеквизиту("ВнешнийКлюч",Выборка.СубконтоДт1.Код);
//КонецЕсли;
// НАЧАЛО Булгаков А.В.: Добавил фрагмент 2009-08-17
// СубконтоДт2=Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование).Субконто; // ЗАКОММЕНТИРОВАЛ
СтруктураПоиска.Наименование = Выборка.СубконтоДт1.Наименование;
СтруктураПоиска.СчетЗП = Выборка.СчетДт.Код;
ВыборкаСоответствия.Сбросить();
Пока ВыборкаСоответствия.НайтиСледующий(СтруктураПоиска) Цикл
СубконтоДт2 = ВыборкаСоответствия.Субконто;
КонецЦикла;
// КОНЕЦ Булгаков А.В.: Добавил фрагмент 2009-08-17
Если СубконтоДт2 = Неопределено Тогда
СубконтоДт2=Справочники.Подразделения.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование);
КонецЕсли;
ИначеЕсли (Выборка.СчетДт.Код = "26")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("26");
СубконтоДт1=Справочники.СтатьиРасходов.НайтиПоРеквизиту("ПолныйКодЭлемента",СокрЛП(Выборка.СубконтоДт2.ПолныйКодЭлемента));
//СубконтоДт1=Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоДт2.Наименование)).Субконто;//Справочники.СтатьиРасходов.НайтиПоНаименованию("Оплата по окладу, тарифным ставкам");
//СубконтоДт2=Справочники.Подразделения.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование);
//СубконтоДт2=Справочники.Подразделения.НайтиПоРеквизиту("ВнешнийКлюч",Выборка.СубконтоДт1.Код);
// НАЧАЛО Булгаков А.В.: Добавил фрагмент 2009-08-17
// СубконтоДт2=Справочники.ТаблицаСоответствияЗП.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование).Субконто; // ЗАКОММЕНТИРОВАЛ
СтруктураПоиска.Наименование = Выборка.СубконтоДт1.Наименование;
СтруктураПоиска.СчетЗП = Выборка.СчетДт.Код;
ВыборкаСоответствия.Сбросить();
Пока ВыборкаСоответствия.НайтиСледующий(СтруктураПоиска) Цикл
СубконтоДт2 = ВыборкаСоответствия.Субконто;
КонецЦикла;
// КОНЕЦ Булгаков А.В.: Добавил фрагмент 2009-08-17
Если СубконтоДт2 = Неопределено Тогда
СубконтоДт2=Справочники.Подразделения.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование);
КонецЕсли;
ИначеЕсли (Выборка.СчетДт.Код = "69.01")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("69.50.01");
СубконтоДт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоДт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетДт.Код = "70")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("70");
СубконтоДт1=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетДт.Код = "92.40")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("92.40");
СубконтоДт1=Справочники.ПрочиеДоходыРасходы.НайтиПоНаименованию(Выборка.СубконтоДт1.Наименование);
СубконтоДт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетДт.Код = "97.01")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("97.10");
СубконтоДт1=Справочники.РасходыБудущихПериодов.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоДт1.Наименование));
СубконтоДт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетДт.Код = "76.09")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("76.90.18");
СубконтоДт1=Справочники.Контрагенты.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоДт1.Наименование));
СубконтоДт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетДт.Код = "68.01")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("68.10.03");
СубконтоДт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоДт2=Перечисления.ВидыБюджета.МИНВЕД1;
СубконтоДт3=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетДт.Код = "71.20")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("71.20");
ИначеЕсли (Выборка.СчетДт.Код = "96")Тогда
СчетДт=ПланыСчетов.Основной.НайтиПоКоду("96");
СубконтоДт1=Справочники.Резервы.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоДт1.Наименование));
КОнецЕсли;
Если СчетДт=Неопределено ТОгда
Сообщить("Дт "+Выборка.СчетДт.Код+" не найден",СтатусСообщения.Важное)
КонецЕсли;
Если (Выборка.СчетКт.Код = "69.01")Тогда //
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("69.50.01");
СубконтоКт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "69.04")Тогда //
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("69.10.02");
СубконтоКт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "69.03.1")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("69.50.03");
СубконтоКт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "69.03.2")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("69.50.04");
СубконтоКт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "69.02.1")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("69.50.05");
СубконтоКт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "69.02.2")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("69.50.06");
СубконтоКт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "69.11")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("69.20");
СубконтоКт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "70")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("70");
СубконтоКт1=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "73.03")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("73.90");
СубконтоКт1=Справочники.ФизическиеЛица.НайтиПоНаименованию(Выборка.СубконтоКт1.Наименование);
СубконтоКт3=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "76.09")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("76.90.18");
СубконтоКт1=Справочники.Контрагенты.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоКт1.Наименование));
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "76.41")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("76.90.13");
СубконтоКт1=Справочники.Контрагенты.НайтиПоНаименованию(Выборка.СубконтоКт1.Наименование);
СубконтоКт2=Справочники.Договоры.НайтиПоКоду(Выборка.СубконтоКт1.Код);
ИначеЕсли (Выборка.СчетКт.Код = "76.90.1")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("76.90.17");
СубконтоКт1=Справочники.Контрагенты.НайтиПоНаименованию(Выборка.СубконтоКт1.Наименование);
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "68.01")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("68.10.03");
СубконтоКт1=Перечисления.ПлатежиВБюджет.Налог;
СубконтоКт2=Перечисления.ВидыБюджета.МИНВЕД1;
СубконтоКт3=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
ИначеЕсли (Выборка.СчетКт.Код = "71.20")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("71.20");
ИначеЕсли (Выборка.СчетКт.Код = "97.01")Тогда
СчетКт=ПланыСчетов.Основной.НайтиПоКоду("97.10");
СубконтоКт1=Справочники.РасходыБудущихПериодов.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоКт1.Наименование));
СубконтоКт2=Справочники.Подразделения.НайтиПоНаименованию("Астраханский филиал");
КОнецЕсли;
Если СчетКт=Неопределено ТОгда
Сообщить("Кт "+Выборка.СчетКт.Код+" не найден",СтатусСообщения.Важное)
КонецЕсли;
новстр = ТЗ.Добавить();
новстр.СчетДт = СчетДт;
новстр.СубконтоДт1 = СубконтоДт1;
новстр.СубконтоДт2 = СубконтоДт2;
новстр.СубконтоДт3 = СубконтоДт3;
новстр.СчетКт = СчетКт;
новстр.СубконтоКт1 = СубконтоКт1;
новстр.СубконтоКт2 = СубконтоКт2;
новстр.СубконтоКт3 = СубконтоКт3;
новстр.Сумма = Выборка.Сумма;
КонецЦикла;
//ТЗ.Свернуть("СчетДт,СубконтоДт1,СубконтоДт2,СубконтоДт3,СчетКт,СубконтоКт1,СубконтоКт2,СубконтоКт3","Сумма");
НаборПроводок = РегистрыБухгалтерии.Основной.СоздатьНаборЗаписей();
Для Каждого стр Из ТЗ Цикл
Если Строка(стр.СчетДт)=""""Тогда
продолжить;
КОнецЕсли;
НоваяПроводка = НаборПроводок.Добавить();
НоваяПроводка.Период = ДатаКон;
НоваяПроводка.СчетДт = стр.СчетДт;
НоваяПроводка.СчетКт = стр.СчетКт;
НоваяПроводка.Сумма = стр.Сумма;
БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт,НоваяПроводка.СубконтоДт,1,стр.СубконтоДт1);
БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт,НоваяПроводка.СубконтоДт,2,стр.СубконтоДт2);
БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт,НоваяПроводка.СубконтоДт,3,стр.СубконтоДт3);
БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт,НоваяПроводка.СубконтоКт,1,стр.СубконтоКт1);
БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт,НоваяПроводка.СубконтоКт,2,стр.СубконтоКт2);
БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт,НоваяПроводка.СубконтоКт,3,стр.СубконтоКт3);
КонецЦикла;
Если НаборПроводок.Количество()>0 Тогда
ДокОперация = Документы.Операция.СоздатьДокумент();
ДокОперация.Дата = ДатаКон;
ДокОперация.Организация = Справочники.Организации.НайтиПоНаименованию("Астраханский филиал");
ДокОперация.Содержание = "Перенос проводок из ЗУП";
ДокОперация.Записать();
НаборПроводок.Отбор.Регистратор.Значение = ДокОперация.Ссылка;
НаборПроводок.Записать();
Сообщить("Операция: "+ДокОперация);
"
Зарплата+Кадры, редакция 2.3 (7.70.298) Как отправить снова сотрудницу в отпуск по уходуВыкидывает из 1С Предприятие 7 ред 4.5
Читают тему
(гостей: 1)