Столкнулся с проблемой: при проведении перемещений товаров вылетает ошибка:
Запись не верна! Вид субконто "Контрагенты" не доступен для данной записи! (Регистр бухгалтерии: Журнал проводок (бухгалтерский и налоговый учет); Номер строки: ...)
По отладке нашел: В конфигурации в общем модуле УчетНДСБП, в процедуре СформироватьПроводкиВключениеНДСВСтоимостьЗапасов есть золотые слова:
Проводка.СчетКт = СтрокаТаблицы.СчетУчетаНДС;
Проводка.СубконтоКт.Контрагенты = СтрокаТаблицы.Поставщик;
Проводка.СубконтоКт.СФПолученные = СтрокаТаблицы.СчетФактура;
Здесь Проводка.СчетКт заточен жестко под счет с аналитикой, аналогичной например счету 19.03, но СтрокаТаблицы.СчетУчетаНДС в ошибочном варианте представляет собой счет 68.02, где по аналитике ни контрагентами, ни счетами фактур не пахнет.
Сама СтрокаТаблицы в данном случае выдергивается по циклу из СтрокиТаблицыУменьшениеВычета, что является ТЗ, полученной из запроса к остаткам по регистру НДСПоПриобретеннымЦенностям с определенным отбором и последующей фильтрацией и СчетУчетаНДС = 68.02 приезжает напрямую оттуда же, при условии наличия записей в регистре, связанных с возвратами от покупателей в качестве партий, а не поступлений товаров.
В самих возвратах в БД какого-то "криминала" с ходу не видно, в регистраторах записей (реализация товаров) также.
Но, коль скоро технически допустимо наличие в выборке по остаткам счетов с разной аналитикой, то на первый взгляд может стоило бы здесь применить если не универсальные процедуры определения этой аналитики, какие в общем-то есть в конфигурации, то хотя бы конструкцию типа:
СчетКт_ = СтрокаТаблицы.СчетУчетаНДС;
Проводка.СчетКт = СтрокаТаблицы.СчетУчетаНДС;
Если СчетКт_ = ПланыСчетов.Хозрасчетный.НДСпоПриобретеннымМПЗ Тогда
Проводка.СубконтоКт.Контрагенты = СтрокаТаблицы.Поставщик;
Проводка.СубконтоКт.СФПолученные = СтрокаТаблицы.СчетФактура;
ИначеЕсли СчетКт_ = ПланыСчетов.Хозрасчетный.НДС Тогда
Проводка.СубконтоКт.ВидыПлатежейВГосБюджет = Перечисления.ВидыПлатежейВГосБюджет.Налог;
Иначе
Сообщить(СчетКт_ + " еще что-то новое!",СтатусСообщения.Внимание);
КонецЕсли;
или аналогичное вместо золотых слов, и забыть проблему как минимум до следующего обновления, но что-то подсказывает - тут зарыт глубокий смысл авторами конфы 3.0.42.90, а заодно и нарушение методики учета в БД и вариант "забыть" может привести к неверным фин.результатам. Вот только где эти нарушения искать, какой тут смысл и как правильно проводить перемещения?