![]() |
![]() |
![]() |
|
Заполнение нетипового субконто Ногаминебить, who respawn, Анютик, berkoot, Amra, Джордж1, shuhard, Волшебник, Vostochnick, Михаил_, Chameleon1980, RomanYS, Irbis, DimVad, Гена, Mankubus, Олдж, ptiz, Мультук
| ☑ | ||
---|---|---|---|---|
0
berkoot
18.09.25
✎
15:23
|
БП корп 3.0.181.31 типовая, 8.3.27.1606
В расширении(режим совместимости 8.3.24) добавлен тип субконто "Сотрудники" для ПВХ ВидыСубконтоХозрасчетные. Тип данных - Справочник Сотрудники. В этом же расширении документу Выдача денежных документов добавлен реквизит "Сотрудник" В этом же расширении есть обработка, в ее модуле объекта есть процедура &НаСервере Процедура ЗаполнитьСотрудника(ДокСсылка) экспорт ПВХСотрудник = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НайтиПоНаименованию("Сотрудник"); НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(ДокСсылка); НаборЗаписей.Прочитать(); Для каждого Запись Из НаборЗаписей Цикл Если Лев(Запись.СчетКт.Код,5) = "50.03" Тогда БухгалтерскийУчет.УстановитьСубконто(Запись.СчетКт, Запись.СубконтоКт, ПВХСотрудник, ДокСсылка.Сотрудник); КонецЕсли; КонецЦикла; НаборЗаписей.Записать(); КонецПроцедуры Если эту процедуру запускать из этой внешней обработки, то код работает и аналитика заполняется. Если эту процедуру запустить из расширения "после" "ОбработкаПроведения" документа Выдача денежных документов, то код отрабатывает, но субконто не заполняется. что сделать для решения? |
|||
1
Amra
18.09.25
✎
15:25
|
Потому что движения в момент проведения еще не записаны, по идее. Надо перебирать Движения.Хозрасчетный
|
|||
2
berkoot
18.09.25
✎
15:51
|
(1) Если бы движения не были записаны, то набор записей был бы пуст и код внутри цикла не исполнялся бы. На деле в обоих случаях набор записей не пуст и код внутри цикла исполняется.
|
|||
3
Мультук
гуру
18.09.25
✎
16:01
|
(2)
Тогда давайте сократим высказывание (1) до Надо перебирать Движения.Хозрасчетный |
|||
4
Ботаник Гарден Меран
18.09.25
✎
16:37
|
Что-то как-то не очень развернулись.
Не хватает еще видов субконто "Поставщики", "Покупатели", "ИФНСы", "БанкиИОбменники", "НоменклатураНаКомиссии", "РБПпоОтпускам". |
|||
5
Ботаник Гарден Меран
18.09.25
✎
16:41
|
У 50.03 уже есть нужное субконто, и нужно писать:
БухгалтерскийУчет.УстановитьСубконто(Запись.СчетКт, Запись.СубконтоКт, "РаботникиОрганизаций", |
|||
6
Гена
гуру
18.09.25
✎
17:10
|
(5) Разве в типовой БП Корп есть второе субконто на 50.03 кроме первого "Денежные документы"?
|
|||
7
Волшебник
18.09.25
✎
17:52
|
(6) Наверное, имелось в виду вид субконто
|
|||
8
Волшебник
18.09.25
✎
17:53
|
Мне кажется, тут нужна корреспонденция со счётом 71
|
|||
9
Гена
гуру
18.09.25
✎
18:02
|
(8) Похоже у них не билеты, а что-то другое, что не в под отчёт, а в подарок раздаётся.
|
|||
10
berkoot
18.09.25
✎
18:06
|
(3) в процедуру, описанную выше, добавил код:
ДокОбъект = ДокСсылка.получитьОбъект(); Проводки = ДокОбъект.Движения.Хозрасчетный; Проводки.Записывать = Истина; Проводки.Прочитать(); Для каждого Проводка Из Проводки Цикл БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, ПВХСотрудник, ДокСсылка.Сотрудник); КонецЦикла; Проводки.Записать(); ситуация не изменилась. (6) в типовой нет. конфа была нетиповой. я привел к типовой, а субконто осталось, хоть и с пометкой на удаление. а если бы его не было, то через ИР можно добавить. тип субконто, как и писал выше, нетиповой и добавлен через расширение. да, я знаю, что это не самый оптимальный способ учета, но этот случай, когда цель определяет заказчик, а методы исполнитель. заказчику проще будет заполнить аналитику внешней обработкой, чем жить без привычной за 10 лет аналитики. расширение одно, в нем и нетиповой тип субконто, и вышеупомянутая обработка, и модуль объекта документа тоже "расширен" через это же расширение. (8) поясните пожалуйста, причем тут корреспонденция? если суть вопроса в том почему код работающий из обработки, не работает при вызове его же из модуля документа. |
|||
11
Волшебник
18.09.25
✎
18:09
|
(10) Сначала нужно понять, нужно ли субконто на счёте 50.03
|
|||
12
Гена
гуру
18.09.25
✎
18:12
|
(11) Да можно, если очень надо. Например, условно, накупили лотерейных билетов и раздали работникам. Проводка 91-50.03 и не видно кому дали.
|
|||
13
Гена
гуру
18.09.25
✎
18:15
|
Помогите уж человеку... скорее всего минутное дело...
|
|||
14
Волшебник
18.09.25
✎
18:21
|
(10) счёт ДТ и субконто ДТ
Как гипотеза |
|||
15
shuhard
18.09.25
✎
18:20
|
(13) уже два раза объяснили, что в ОбработкаПроведения этот код не работает и нужно использовать Движения.Хозрасчетный
|
|||
16
Волшебник
18.09.25
✎
18:22
|
(15) и это тоже
|
|||
17
berkoot
18.09.25
✎
19:35
|
(11) нужно.
(14) Дт 71.01. да, там физ лица, но на 51.03 нужен сотрудник. для этого и создан доп реквизит в документе. так исторически сложилось у клиента, много лет назад разраб предложил(или клиент настоял) писать сотрудника на 51.03, клиент привык и сейчас имеем то, что имеем. правильно это или нет это не важно сейчас. вопрос совсем не в этом. ранее разраб все эти проводки правил просто в модифицированной конфе. сейчас поставлена задача сделать конфу типовой, а все прежние доработки сделать расширением. (15) так в (10) я написал, что правка Движения.Хозрасчетный не дала результата. или Вы хотите сказать, что в "после" "обработкаПроведения" этот код в принципе работать не будет? |
|||
18
Волшебник
18.09.25
✎
19:38
|
Значит несоответствие типов
|
|||
19
berkoot
18.09.25
✎
20:00
|
решено.
процедуру вызвал из расширения "после" "ПослеЗаписи"(из событий формы). через НаборЗаписей сработало благодарю всех за участие |
|||
20
Волшебник
18.09.25
✎
20:04
|
(19) жуть
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |