Программно заполнить субконто в полученных проводках
Здравствуйте! Подскажите пожалуйста, при проведении документа, захожу в проводки и нажимаю отразить в рег. учете.Проводки у меня сформировались, но есть одно но! в счете указалось только субконто1, а субконто2 стало с типом неопределено, каким образом я могу откорректировать программно,чтобы постоянно было заполнение.
я пыталась разными способами, но видимо плохо старалась значение не заполняется, тип по прежнему неопределенно .
Написала отдельно процедуру, в которой я получаю таблицу значений из своих проводок, а как эту корректировку, как вместо типа неопределенно у меня выводился нужный тип и субконто.
То что закомментировано, это мои попытки,которые были напрасны(
я пыталась разными способами, но видимо плохо старалась значение не заполняется, тип по прежнему неопределенно .
Написала отдельно процедуру, в которой я получаю таблицу значений из своих проводок, а как эту корректировку, как вместо типа неопределенно у меня выводился нужный тип и субконто.
Процедура КЗ_ОтражениеСписание(ДокументСсылка, ТаблицаПроводок)
Для каждого ЗаписьБУ из ТаблицаПроводок Цикл
ЗапросОС = Новый Запрос;
ЗапросОС.Текст = "ВЫБРАТЬ
| МестонахождениеОССрезПоследних.ОсновноеСредство КАК ОсновноеСредство,
| МестонахождениеОССрезПоследних.Арендатор КАК Арендатор
|ИЗ
| РегистрСведений.МестонахождениеОС.СрезПоследних(, ) КАК МестонахождениеОССрезПоследних
|ГДЕ
| МестонахождениеОССрезПоследних.ОсновноеСредство = &ОсновноеСредство";
ЗапросОС.УстановитьПараметр("ОсновноеСредство",ЗаписьБУ.СубконтоДт1);
РезультатОС = ЗапросОС.Выполнить().Выбрать();
РезультатОС.Следующий();
Если ЗаписьБУ.СчетКт = ПланыСчетов.Хозрасчетный.ПрочиеДоходныеВложения Тогда
// для переборов субконто
//ЗаписьБУ.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = Справочники.Контрагенты.НайтиПоНаименованию(РезультатОС.Арендатор);
ЗаписьБУ.СубконтоКт2 =ЗаписьБУ.СчетКт.ВидыСубконто[0].ВидСубконто.ТипЗначения.ПривестиЗначение(ЗаписьБУ.СубконтоКт1);
//ВидСубк = ЗаписьБУ.СчетКт.ВидыСубконто[0].ВидСубконто;
//ЗаписьБУ.СубконтоКт1[ВидСубк] = Справочники.Контрагенты.НайтиПоНаименованию(РезультатОС.Арендатор) ;
//Запись.СубконтоКт2[Запись.СчетКт.ВидыСубконто[0]] = РезультатОС.Арендатор;
//Запись.СубконтоКт2[Запись.СчетКт.ВидыСубконто[2]] = Запись.СубконтоДт1;
КонецЕСли;
КонецЦикла;
КонецПроцедуры
ПоказатьТо что закомментировано, это мои попытки,которые были напрасны(
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Так не пробовали?
Запись.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = РезультатОС.Арендатор;
Запись.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства] = РезультатОС.ОсновноеСредство;
(2)
Да прописывала и Запись.СубконтоКт1[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = РезультатОС.Арендатор;
и там где значение неопределенно Запись.СубконтоКт2[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = РезультатОС.Арендатор;
но не выходит
Запись.Субконто[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства] = РезультатОС.Арендатор;
Да прописывала и Запись.СубконтоКт1[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = РезультатОС.Арендатор;
и там где значение неопределенно Запись.СубконтоКт2[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = РезультатОС.Арендатор;
но не выходит
(3) Какая-то путаница.
Если Вы работаете с таблицей значений, и Запись - это строка таблицы значений, то если мне не изменяет память обращения по индексу не требуется. У Вас уже колонки в именах содержат индекс субконто, важно только знать порядок видов субконто:
Если же Вы работаете непосредственно с набором записей движений, то здесь уже не используются индексы, а используются виды субконто:
Если Вы работаете с таблицей значений, и Запись - это строка таблицы значений, то если мне не изменяет память обращения по индексу не требуется. У Вас уже колонки в именах содержат индекс субконто, важно только знать порядок видов субконто:
Запись.СубконтоКт1 = РезультатОС.Арендатор;
Запись.СубконтоКт2 = РезультатОС.ОсновноеСредство;
Если же Вы работаете непосредственно с набором записей движений, то здесь уже не используются индексы, а используются виды субконто:
Запись.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = РезультатОС.Арендатор;
Запись.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства] = РезультатОС.ОсновноеСредство;
ВОт конечный результат)
Процедура КЗ_ОтражениеСписаниеОС(ДокументСсылка, ТаблицаПроводок)
Для каждого ЗаписьБУ из ТаблицаПроводок Цикл
ЗапросОС = Новый Запрос;
ЗапросОС.Текст = "ВЫБРАТЬ
| МестонахождениеОССрезПоследних.ОсновноеСредство КАК ОсновноеСредство,
| МестонахождениеОССрезПоследних.Арендатор КАК Арендатор
|ИЗ
| РегистрСведений.МестонахождениеОС.СрезПоследних(, ) КАК МестонахождениеОССрезПоследних
|ГДЕ
| МестонахождениеОССрезПоследних.ОсновноеСредство = &ОсновноеСредство";
ЗапросОС.УстановитьПараметр("ОсновноеСредство",ЗаписьБУ.СубконтоДт1);
РезультатОС = ЗапросОС.Выполнить().Выбрать();
РезультатОС.Следующий();
Если ЗаписьБУ.СчетКт = ПланыСчетов.Хозрасчетный.ПрочиеДоходныеВложения Тогда
ЗаписьБУ.ВидСубконтоКт1 = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты;
ЗаписьБУ.СубконтоКт1 = РезультатОС.Арендатор;
ЗаписьБУ.ВидСубконтоКт2 = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства;
ЗаписьБУ.СубконтоКт2 = РезультатОС.ОсновноеСредство;
КонецЕСли;
КонецЦикла;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот