S
SeverBap
Вообщем ситуация такова:
Есть учет в ЗУП по нескольким организациям в одной базе, организации как на ОСН и УСН!
С выгрузкой в ОСН проблем нет так как стандартными средствами выгружаю в Бух 4.5. Но с выгрузкой в УСН появились проблемы так как как таковой я штатной реализации не нашел пришлось писать с нуля.
Дошел до собственой фиксации данных в УСН натолкнулся на проблемы при которых не получается проставить правильно проводки (реальзую выгрузку через ОLЕ, написал запрос получения из ЗУП)
Запрос:
При присвоении субконтоКт и СубконтоДТ сваливается на ошибки:
Листинг после запроса урезаный:
Уже все поперепробовал всеравно вываливается...
У кого нибудь есть либо план обмена или подскажите как тут исправить - очень буду благодарен!
Есть учет в ЗУП по нескольким организациям в одной базе, организации как на ОСН и УСН!
С выгрузкой в ОСН проблем нет так как стандартными средствами выгружаю в Бух 4.5. Но с выгрузкой в УСН появились проблемы так как как таковой я штатной реализации не нашел пришлось писать с нуля.
Дошел до собственой фиксации данных в УСН натолкнулся на проблемы при которых не получается проставить правильно проводки (реальзую выгрузку через ОLЕ, написал запрос получения из ЗУП)
Запрос:
Код:
"ВЫБРАТЬ
| ОтражениеЗарплатыВРеглУчете.Организация,
| ОтражениеЗарплатыВРеглУчете.Ссылка,
| ОтражениеЗарплатыВРеглУчете.Дата,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетДт,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт1,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт2,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт3,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетКт,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт1,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт2,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт3,
| СУММА(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Сумма) КАК Сумма
|ИЗ
| Документ.ОтражениеЗарплатыВРеглУчете.ОтражениеВУчете КАК ОтражениеЗарплатыВРеглУчетеОтражениеВУчете
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтражениеЗарплатыВРеглУчете КАК ОтражениеЗарплатыВРеглУчете
| ПО ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Ссылка = ОтражениеЗарплатыВРеглУчете.Ссылка
|ГДЕ
| ОтражениеЗарплатыВРеглУчете.Дата <= &Дата2
| И ОтражениеЗарплатыВРеглУчете.Дата >= &Дата1
| И ОтражениеЗарплатыВРеглУчете.Организация = &Организация
|
|СГРУППИРОВАТЬ ПО
| ОтражениеЗарплатыВРеглУчете.Дата,
| ОтражениеЗарплатыВРеглУчете.Ссылка,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетДт,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт2,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт3,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетКт,
| ОтражениеЗарплатыВРеглУчете.Организация,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт1,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт1,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт2,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт3";
Листинг после запроса урезаный:
Код:
Запрос.УстановитьПараметр("Дата1", НачалоДня(ЭлементыФормы.ДатаНачала.Значение));
Запрос.УстановитьПараметр("Дата2", КонецДня(ЭлементыФормы.ДатаЗавершения.Значение));
Запрос.УстановитьПараметр("Организация",Организация);
ЭлементыФормы.Индикатор1.МаксимальноеЗначение = Запрос.Выполнить().Выгрузить().Количество();
йуукеку = Запрос.Выполнить().Выгрузить();
Выборка = Запрос.Выполнить().Выбрать();
Сотрудники = СерверOLE.CreateObject("Справочник.Сотрудники");
РасходыБудущихПериодов=СерверOLE.CreateObject("Справочник.РасходыБудущихПериодов");
Счет = СерверOLE.CreateObject("Счет");
СтараяДата=1;
Опер = СерверOLE.CreateObject("Операция");
Пока Выборка.Следующий() Цикл
ЭлементыФормы.Индикатор1.Значение = ЭлементыФормы.Индикатор1.Значение + 1;
Если СтараяДата=1 Тогда
Опер.Новая();
Опер.Содержание = "Перенос отражения зарплаты из ЗУП";
Опер.ДатаОперации = Выборка.Дата;
СуммаИтог = 0;
ИначеЕсли Не СтараяДата=Выборка.Дата Тогда
Опер.СуммаОперации = СуммаИтог;
Опер.Записать();
Опер.Новая();
Опер.Содержание = "Перенос отражения зарплаты из ЗУП";
Опер.ДатаОперации = Выборка.Дата;
СуммаИтог = 0;
КонецЕсли;
СтараяДата=Выборка.Дата;
Опер.НоваяПроводка();
Дт = Опер.Д*цензура*;
Кт = Опер.Кредит;
Если ВыБорка.СчетДт.Код="97.01" Тогда
Если Счет.НайтиПоКоду("97.1") = 1 Тогда
СчетДт = Счет.ТекущийСчет();
КонецЕсли;
Если ТипЗнч(Выборка.СубконтоДТ2)=Тип("СправочникСсылка.ФизическиеЛица") Тогда
Если Сотрудники.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоДТ2)) = 1 Тогда
Сотрудник = Сотрудники.ТекущийЭлемент();
Кт.СубконтоКт = Сотрудник; ///тут ошибка что нет СубконтоКт
ИначеЕсли Сотрудники.НайтиПоНаименованию(СокрЛП(Выборка.СубконтоДТ2)) = 0 Тогда
Сотрудники.Новый();
Сотрудники.Наименование = СокрЛП(Выборка.СубконтоДТ2);
Сотрудники.Записать();
Сотрудник = Сотрудники.ТекущийЭлемент();
Кт.СубконтоКт = Сотрудник; ///тут ошибка что нет СубконтоКт
КонецЕсли;
КонецЕсли;
Если Выборка.СчетКт.Код="69.02.2" Тогда
Если Счет.НайтиПоКоду("69.22")=1 Тогда
СчетКт=Счет.ТекущийСчет();
КонецЕсли;
КонецЕсли;
КонецЕсли;
Дт.Счет = СчетДт;
Кт.Счет = СчетКт;
КонецЦикла;
Опер.СуммаОперации = СуммаИтог;
Опер.Записать();
У кого нибудь есть либо план обмена или подскажите как тут исправить - очень буду благодарен!