Специалист-консультант 1С:Документооборот. Решение задачи 1.6

Привет! Меня зовут Медведев Николай. Видео для тех, кто готовится к экзамену Специалист-консультант по конфигурации 1С:Документооборот
Задача 1.6 из сборника 18 года, актуального на январь 2020
В задаче требуется, чтобы документы автоматически категоризовались в зависимости от статуса контрагента, указанного в них. Скажу сразу, что эту задачу я не решил в полном объёме. Дело в том, что в исходящих документах контрагенты - это табличная часть. Поэтому, во-первых, требуется дополнительное уточнение у заказчика - какой статус должен присваиваться документу, если в нём указаны контрагенты с разными с разными статусами. Во-вторых, я не до конца рассмотрел нюансы встроенного языка, поэтому посчитал, что при необходимости, можно оставить исходящие документы как задачу программисту - написать выражение. Если кто-то знает, как это сделать - напишите, пожалуйста в комментариях
Давайте решать!
И удачи на экзамене)
Чат для обсуждения подготовки (не мой, просто совет):
t.me/spec1cdo
Связаться со мной:
1csolomon@mail.ru
Поддержать канал:
money.yandex.ru/to/4100162008...
Выражение на встроенном языке, использованное в видео:
Результат = ложь;
СтатусВип = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "ВИП_535c5fa517024922acd8c2dab65688ef");
Если ЗначениеЗаполнено(СтатусВип) тогда
СтрокаСОСвойством = Источник.Контрагент.ДополнительныеРеквизиты.Найти(СтатусВип,"Свойство");
Если Не СтрокаСОСвойством = Неопределено тогда
Результат = СтрокаСОСвойством.Значение;
Иначе
Результат = ложь;
КонецЕсли;
КонецЕсли;

Пікірлер: 9

  • @alinabarinova6536
    @alinabarinova65364 жыл бұрын

    Николай, спасибо за Ваши видео! Для исходящих документов я сделала, чтобы категория "ВИП" присваивалась, если хотя бы один из получателей с признаком "ВИП". Выражение на встроенном языке вот такое: Результат = Ложь; СвойствоВИП = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "Статус_VIP"); Если ЗначениеЗаполнено(СвойствоВИП) Тогда Для каждого СтрокаПолучателя Из Источник.Получатели Цикл СтрокаСвойства = СтрокаПолучателя.Получатель.ДополнительныеРеквизиты.Найти(СвойствоВИП, "Свойство"); Если СтрокаСвойства Неопределено Тогда Результат = Результат Или СтрокаСвойства.Значение; КонецЕсли; КонецЦикла; КонецЕсли; P.S. Имя для разработчика у доп.реквизита можно задать "удобоваримое" при создании, но только до того, как доп.реквизит будет записан. Но это уже детали.

  • @user-rc2rt1ln4u
    @user-rc2rt1ln4u2 жыл бұрын

    Николай, спасибо за видео. Могу для готовящихся предложить процедуру присвоения категории ВИП исходящему немного проще: обращаемся к экспортной процедуре АвтозаполнениеШаблоновФайловСервер.ПолучитьЗначениеДопРеквизитаОбъекта(Объект, ИмяРеквизита), Объект это ссылка на контрагента, ИмяРеквизита - как вы назвали дополнительный реквизит для справочника контрагенты (не для разработчиков, а наименование, просто "ВИП"), эта процедура вернет Истина, для ВИП контрагентов или Неопределено для остальных: Результат=ложь; Для каждого Стр из Источник.Получатели цикл ЗначениеВИП = АвтозаполнениеШаблоновФайловСервер.ПолучитьЗначениеДопРеквизитаОбъекта(Стр.Получатель, "ВИП"); Если ЗначениеВИП Неопределено тогда Результат=ЗначениеВИП; Прервать; КонецЕсли; КонецЦикла; Аналогично для внутренних документов: Результат=ложь; ЗначениеВИП = АвтозаполнениеШаблоновФайловСервер.ПолучитьЗначениеДопРеквизитаОбъекта(Источник.Контрагент, "ВИП"); Если ЗначениеВИП Неопределено тогда Результат=ЗначениеВИП; КонецЕсли;

  • @user-gq4jn8ib7m
    @user-gq4jn8ib7m4 жыл бұрын

    Вопрос: на экзамене выражения на встроенном языке нужно самостоятельно прописывать, или указать что это задача для разработчиков? По логике действий в примере все верно.

  • @user-yd9sj3yx4s

    @user-yd9sj3yx4s

    4 жыл бұрын

    Если получится запомнить, лучше прописать, я думаю. На крайний случай как задачу оставить

  • @user-yd9sj3yx4s
    @user-yd9sj3yx4s4 жыл бұрын

    Ссылка на базу yadi.sk/d/J0iy17Fav8jDDg

  • @AngryHOBBIT666
    @AngryHOBBIT6664 жыл бұрын

    Как включить ИМЯ ДЛЯ РАЗРАБОТЧИКОВ? У меня в пустой базе этого нет ((((

  • @natalislukhay7173

    @natalislukhay7173

    3 жыл бұрын

    наверно от конфы зависит. В Казахстанском ДО тоже нет такого реквизита. я прописала НайтиПоНаименованию(...) вместо НайтиПоРеквизиту(...)

  • @AngryHOBBIT666

    @AngryHOBBIT666

    3 жыл бұрын

    Natali Slukhay спасибо 🙏🏻

  • @rjoker6270
    @rjoker6270 Жыл бұрын

    Результат=ложь; Если ТипЗнч(Источник) = Тип("СправочникСсылка.ИсходящиеДокументы") тогда Для каждого Стр из Источник.Получатели цикл ЗначениеВИП = АвтозаполнениеШаблоновФайловСервер.ПолучитьЗначениеДопРеквизитаОбъекта(Стр.Получатель, "ВИП"); Если ЗначениеВИП Неопределено тогда Результат=ЗначениеВИП; Прервать; КонецЕсли; КонецЦикла; иначеесли ТипЗнч(Источник) = Тип("СправочникСсылка.ВнутренниеДокументы") тогда ЗначениеВИП = АвтозаполнениеШаблоновФайловСервер.ПолучитьЗначениеДопРеквизитаОбъекта(Источник.Контрагент, "ВИП"); Если ЗначениеВИП Неопределено тогда Результат=ЗначениеВИП; КонецЕсли; иначеесли ТипЗнч(Источник) = Тип("СправочникСсылка.ВходящиеДокументы") тогда ЗначениеВИП = АвтозаполнениеШаблоновФайловСервер.ПолучитьЗначениеДопРеквизитаОбъекта(Источник.Отправитель, "ВИП"); Если ЗначениеВИП Неопределено тогда Результат=ЗначениеВИП; КонецЕсли; конецесли;

Келесі