• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Проводки документов

  • Автор темы nMagz
  • Дата начала
N

nMagz

Добрый день! Поставили задачу но так глубоко с 1С еще незнаком.

Стандартная Конфигурация Бухгалтерия 7.7 редакция 4.5

Документ "Услуги сторонних организаций" требуеться чтобы при Субконто1 = некоторым наименованиям с видом "Прочие операционные доходы и расходы" проводкой по налоговому учету падало на счет Н01.05 (Прямые расходы)...

Наведите на мысль либо ткните на мануал который можно покурить :)
 
V

vbs

Изучай в модуле документа процедуру

СформироватьПроводкиДляЦелейНалоговогоУчета(ОбъектыАналитикиНУ, СтоимостьУслуг, Услуга)
 
N

nMagz

Вот кусок кода
Если Субконто1.ВидПрочихДоходовИРасходов=Перечисление.ВидыПрочихДоходовИРасходов.Проч
иеОперационныеДоходыРасходы Тогда
ОбъектыАналитикиНУ.Установить("Счет", СчетПоКоду("Н01.5"));
ОбъектыАналитикиНУ.Установить("ВидыНоменклатуры", Субконто1);
ОбъектыАналитикиНУ.Установить("ГруппыВидыРасходов", Перечисление.ВидыРасходов.ПрямыеРасходы);
КонецЕсли;

но при запуске выдает ошибку Значение не представляет агрегатный объект (ВидПрочихДоходовИРасходов)

Каким образом можно узнать что Субконто1 при проводке именно то
 
H

Hryv

Скорее всего Субконто1 пустое, либо другого типа, чем вы ожидаете и у Субконто1 нет такого реквизита ВидПрочихДоходовИРасходов

Можно проверить пройдя в отладчике
 
N

nMagz

Дело в том что Субконто1 является реквизитом неопределенного типа табличной части документа, каким образом можно узнать что значение этого реквизита (в данной ситуации это Справочник ПрочиеДоходыИРасходы) именно того вида

Субконто1.ВидПрочихДоходовИРасходов = Перечисление.ВидыПрочихДоходовИРасходов.ПрочиеОперационныеДоходыРасходы
 
H

Hryv

1 вариант

Код:
Попытка
//Ваш код
Исключение
//ничего или какой-то код, когда Субконто1 не имеет реквизита ВидПрочихДоходовИРасходов
Конец попытки;

2 вариант

Код:
Если ТипЗначения(Субконто1)=11 Тогда // то есть это Справочник
Если Субконто1.Вид()="ПрочиеДоходыИРасходы" Тогда
Если ПустоеЗначение(Субконто1)=0 Тогда
//ваш код
КонецЕсли;
КонецЕсли;
КонецЕсли;
 
V

vbs

Или изначально проверить Субконто1 на Непустое значение
 
H

Hryv

vbs, если
Субконто1 является реквизитом неопределенного типа
то чисто теоретически Субконто1 может быть строкой или числом и не быть пустым
Тогда проверка на ПустоеЗначение ничего полезного не даст, и для полной надежности ее не хватит
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!