Вывести номер счета плана счетов хозрасчетный в табличную часть формы документа
Добрый день!
В 1С 8.3 УПП нужно вывести номер счета из плана счетов хозрасчетный в поле СчетУчетаБУ табличной части товары формы документа Заказ Поставщику при добавлении новой номенклатуры. Реквизит в документе уже был создан, но в модулях никаких процедур я не нашел. Подскажите пожалуйста :
---- Какой процедурой и каким методом это лучше реализовать( если можно пример кода)
---- Как связать номенклатуру и план счетов, если в номенклатуре не заполняется номер счета. Как делать запрос?
-----В документе Поступление товаров и услуг в табличной части товары это уже реализовано разработчиками 1С. Пытался скопировать процедуры ,по примеру этого документа ---ничего не получилось(((
Спасибо.
В 1С 8.3 УПП нужно вывести номер счета из плана счетов хозрасчетный в поле СчетУчетаБУ табличной части товары формы документа Заказ Поставщику при добавлении новой номенклатуры. Реквизит в документе уже был создан, но в модулях никаких процедур я не нашел. Подскажите пожалуйста :
---- Какой процедурой и каким методом это лучше реализовать( если можно пример кода)
---- Как связать номенклатуру и план счетов, если в номенклатуре не заполняется номер счета. Как делать запрос?
-----В документе Поступление товаров и услуг в табличной части товары это уже реализовано разработчиками 1С. Пытался скопировать процедуры ,по примеру этого документа ---ничего не получилось(((
Спасибо.
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
Скопировал процедуру номенклатуры при изменении, ничего не произошло ---поле счет учета не заполняется
СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные;
Если ЗначениеЗаполнено(Звит1С_DOC_ID) И ЗначениеЗаполнено(СтрокаТабличнойЧасти.НаименованиеПоставщика) Тогда
// док получен из Звит. При выборе "нашей" номенклатуры не нужно ничего перезаполнять и пересчитывать, кроме заполнения единицы измерения/коэффициента, если их не заполнили при загрузке
Если НЕ ЗначениеЗаполнено(СтрокаТабличнойЧасти.ЕдиницаИзмерения) Тогда
СтрокаТабличнойЧасти.ЕдиницаИзмерения = СтрокаТабличнойЧасти.Номенклатура.ЕдиницаХраненияОстатков;
СтрокаТабличнойЧасти.Коэффициент = СтрокаТабличнойЧасти.ЕдиницаИзмерения.Коэффициент;
ИначеЕсли НЕ ЗначениеЗаполнено(СтрокаТабличнойЧасти.Коэффициент) Тогда
// поищем коэффициент в ТЧ с единицами измерения в товаре
СтрокаЕдиниц = СтрокаТабличнойЧасти.Номенклатура.ЕдиницыИзмерения.Найти(СтрокаТабличнойЧасти.ЕдиницаИзмерения);
Если НЕ СтрокаЕдиниц = Неопределено Тогда
СтрокаТабличнойЧасти.Коэффициент = СтрокаЕдиниц.Коэффициент;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(Контрагент)
И ЗначениеЗаполнено(СтрокаТабличнойЧасти.Номенклатура)Тогда
Попытка
НоменклатураПоставщика = РегистрыСведений.НоменклатураКонтрагентов.СоздатьМенеджерЗаписи();
НоменклатураПоставщика.Контрагент = Контрагент;
НоменклатураПоставщика.Номенклатура = СтрокаТабличнойЧасти.Номенклатура;
Если ЗначениеЗаполнено(СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры) Тогда
НоменклатураПоставщика.ХарактеристикаНоменклатуры = СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры;
КонецЕсли;
НоменклатураПоставщика.Прочитать();
Если НЕ НоменклатураПоставщика.Выбран() Тогда
НоменклатураПоставщика.Контрагент = Контрагент;
НоменклатураПоставщика.Номенклатура = СтрокаТабличнойЧасти.Номенклатура;
Если ЗначениеЗаполнено(СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры) Тогда
НоменклатураПоставщика.ХарактеристикаНоменклатуры = СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры;
КонецЕсли;
НоменклатураПоставщика.НаименованиеНоменклатурыКонтрагента = СтрокаТабличнойЧасти.НаименованиеПоставщика;
ПозКода = Найти(СтрокаТабличнойЧасти.НаименованиеПоставщика, " (код: ");
Если ПозКода > 0 Тогда
НоменклатураПоставщика.КодНоменклатурыКонтрагента = Сред(СтрокаТабличнойЧасти.НаименованиеПоставщика, ПозКода + 7);
НоменклатураПоставщика.КодНоменклатурыКонтрагента = Лев(НоменклатураПоставщика.КодНоменклатурыКонтрагента, Найти(НоменклатураПоставщика.КодНоменклатурыКонтрагента, ")") - 1);
Иначе
ПозАртикула = Найти(СтрокаТабличнойЧасти.НаименованиеПоставщика, " (артикул: ");
Если ПозАртикула > 0 Тогда
НоменклатураПоставщика.АртикулНоменклатурыКонтрагента = Сред(СтрокаТабличнойЧасти.НаименованиеПоставщика, ПозАртикула + 11);
НоменклатураПоставщика.АртикулНоменклатурыКонтрагента = Лев(НоменклатураПоставщика.АртикулНоменклатурыКонтрагента, Найти(НоменклатураПоставщика.АртикулНоменклатурыКонтрагента, ")") - 1);
КонецЕсли;
КонецЕсли;
НоменклатураПоставщика.Записать();
КонецЕсли;
Исключение
ТекстОписанияОшибки = ОписаниеОшибки();
КонецПопытки;
КонецЕсли;
Возврат;
КонецЕсли;
// Выполнить общие действия для всех документов при изменении номенклатуры.
ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);
// Заполняем реквизиты табличной части.
ОбработкаТабличныхЧастей.ЗаполнитьСтавкуНДСТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект, "Приобретение");
СтруктураШапкиДокумента = Новый Структура("Контрагент, ТипЦен, ДоговорКонтрагента, ДатаДокумента, ВалютаДокумента, УчитыватьНДС, СуммаВключаетНДС",
Контрагент, ТипЦен, ДоговорКонтрагента, Дата,ВалютаДокумента, УчитыватьНДС,СуммаВключаетНДС);
ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуЦенуПокупкиТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект, СтруктураШапкиДокумента, мВалютаРегламентированногоУчета);
// Рассчитываем реквизиты табличной части.
ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);
ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);
ЗаполнитьСчетаУчетаВСтрокеТабЧастиРегл(СтрокаТабличнойЧасти, "Товары", ОтражатьВБухгалтерскомУчете);
УчетСерийныхНомеров.ПроверитьСерийныеНомера(СтрокаТабличнойЧасти, ЭтотОбъект);
КонецПроцедуры
ПоказатьСкопировал процедуру номенклатуры при изменении, ничего не произошло ---поле счет учета не заполняется
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот