подскажите пожалуйста, как правильно написать код 1С:Предприятие 8.3 (8.3.18.1289):
мне надо отобрать не конкретного контрагента, а всех в группе "реконструкция"
мне надо отобрать не конкретного контрагента, а всех в группе "реконструкция"
Если
Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ")
тогда СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ");
КонецЕсли;
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)Проще через запрос
Родитель = Справочники.Контрагенты.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| Контрагенты.Ссылка
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.Ссылка В ИЕРАРХИИ(&Ссылка)";
Запрос.УстановитьПараметр("Ссылка", Родитель);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Вставить обработку выборки ВыборкаДетальныеЗаписи
КонецЦикла;
Показать
(2)
Я не программист, как этот запрос в код вставить?
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
Контрагенты.Ссылка
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
Контрагенты.Ссылка В ИЕРАРХИИ(&Ссылка)
Контрагенты.Ссылка
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
Контрагенты.Ссылка В ИЕРАРХИИ(&Ссылка)
Я не программист, как этот запрос в код вставить?
Если
Контрагент = Справочники.Контрагенты.НайтиПоНаименованию ("РЕКОНСТРУКЦИЯ")
тогда
СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию ("РЕКОНСТРУКЦИЯ");
КонецЕсли;
(5)
Хотим, чтобы в документе ПЛАТЕЖНОЕ ПОРУЧЕНИЕ при изменении ВидОперации на "ПрочийРасход" для контрагентов которые в группе "реконструкция" подставлялась СтатьяЗатрат "реконструкция", а для остальных "прочий расход".
Увеличенный кусок кода:
тку?
Хотим, чтобы в документе ПЛАТЕЖНОЕ ПОРУЧЕНИЕ при изменении ВидОперации на "ПрочийРасход" для контрагентов которые в группе "реконструкция" подставлялась СтатьяЗатрат "реконструкция", а для остальных "прочий расход".
Увеличенный кусок кода:
Если ВидОперации = Перечисления.ВидыОперацийПлатежноеПоручение.ПеречислениеНалога Тогда
СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.ПеречислениеНалога;
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийПлатежноеПоручение.ПрочийРасход Тогда
СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.ПрочиеРасходыДенежныхСредств;
///+++реконструкция
Если
Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ") тогда
СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ");
иначе
СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("ПРОЧИЙ РАСХОД");
КонецЕсли;
///---реконструкция
Иначе
СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.ОплатаПоставщику;
КонецЕсли;
Показать
(6)
Это если по быстрому и без проверок. Единственное посмотрите в переменной с каким именем доступен Ваш контрагент.
Родитель = Справочники.Контрагенты.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ");
Если Контрагент.Родитель = Родитель Тогда
СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ");
Иначе
СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("ПРОЧИЙ РАСХОД");
КонецЕсли;
Это если по быстрому и без проверок. Единственное посмотрите в переменной с каким именем доступен Ваш контрагент.
ПапкаКонтрагент = Справочники.Контрагенты.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ");
Если Контрагент.Родитель = ПапкаКонтрагент Тогда
СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ");
иначе
СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("ПРОЧИЙ РАСХОД");
КонецЕсли;
Показать
А лучше так ,это на случай если справочник многоуровневый
ПапкаКонтрагент = Справочники.Контрагенты.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ");
Если Контрагент.ПринадлежитЭлементу ( ПапкаКонтрагент) Тогда
СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("РЕКОНСТРУКЦИЯ");
иначе
СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("ПРОЧИЙ РАСХОД");
КонецЕсли;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот