Конвертация как Перечисление в Справочник найти по наименованию?

1. XelOla 17 19.07.21 11:28 Сейчас в теме
Здравствуйте!
в КД
в ПКО При выгрузке
Если Строка(Источник) = "Запас" Тогда
	УзелСсылки = "Товары"
Иначе УзелСсылки  = "Услуги"
КонецЕСли;	



Ошибка
Ссылка = Менеджер[Значение];
где Менеджер это СправочникМенеджер.ВидыНоменклатуры
Значение "Услуги" - это не предопределенный элемент.
не пойму как сделать правильно(((
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. titanium2008 42 19.07.21 11:39 Сейчас в теме
Если Источник.Наименование = "Запас" Тогда
Значение = "Товары"
Иначе
Значение = "Услуги"
КонецЕсли;

или я что то не понял?
3. XelOla 17 19.07.21 11:43 Сейчас в теме
(2) ну так тоже было.
без разницы, поиск в базе приемнике не осуществляется. в номенклатуре Вид номенклатуры не заполняется
4. XelOla 17 19.07.21 11:47 Сейчас в теме
Объект-источник ПеречислениеСсылка.ТипыНоменклатуры
Объект-приемник СправочникСсылка.ВидыНоменклатуры
Имя Правила ВидыНоменклатуры
При Выгрузке
Если Строка(Источник) = "Запас" Тогда
	Значение = "Товары"
Иначе Значение  = "Услуги"
КонецЕСли;

и в Номенклатуре
Правило конвертации свойств ТипНоменклатуры->ВидНоменклатуры
Правило ВидыНоменклатуры
5. Sashares 34 19.07.21 12:26 Сейчас в теме
(4)
Объект-источник ПеречислениеСсылка.ТипыНоменклатуры
Объект-приемник СправочникСсылка.ВидыНоменклатуры


А то что в теме наоборот "СПР в Перечисления", кому какая разница. Действительно.
Merkalov; +1 Ответить
7. XelOla 17 19.07.21 12:36 Сейчас в теме
6. titanium2008 42 19.07.21 12:32 Сейчас в теме
8. XelOla 17 19.07.21 12:37 Сейчас в теме
(6) да, делала ж по видео уроку.
не заполнилось
Прикрепленные файлы:
9. maks_20 164 19.07.21 13:26 Сейчас в теме
(8) вот пример, а в ПКС уже передаете нужное значение, например "Товары", ну либо можете написать не Значение = Источник, а свои условия по определению значения
Прикрепленные файлы:
12. XelOla 17 19.07.21 14:38 Сейчас в теме
(9)
Если Строка(Источник) = "Запас" Тогда
	Значение = "Товары"
Иначе Значение  = "Услуги"
КонецЕСли;	

Вот это?
10. Sashares 34 19.07.21 13:30 Сейчас в теме
(8)На скрине у вас правило из справочника в перечисление.
Вы понимаете разницу между источником и приемником?
11. XelOla 17 19.07.21 14:31 Сейчас в теме
(10) да просто в обе стороны не получается,
НИ СправочникСсылка.СтавкиНДС в ПеречислениеСсылка.СтавкиНДС
Если Источник.Наименование = "Без НДС" Тогда
	Значение = "БезНДС"
Иначе Значение  = "НДС20"
КонецЕСли;	

НИ ПеречислениеСсылка.ТипыНоменклатуры в СправочникСсылка.ВидыНоменклатуры
Если Строка(Источник) = "Запас" Тогда
	Значение = "Товары"
Иначе Значение  = "Услуги"
КонецЕСли;	
Показать


Думаю в обе стороны, и не пойму что я делаю не так...
13. XelOla 17 19.07.21 14:43 Сейчас в теме
(10) а зачем вы два раза делаете замечание? думаете с первого раза не дошло?
больше по теме, то сказать нечего??
15. Sashares 34 19.07.21 14:49 Сейчас в теме
(13)Если вы не знаете что вам надо, вы какой ответ от других ожидаете получить?
В одном сообщении пишете про одно, в следующем противоположное, скрины прикладываете тоже не соответствующие сообщениям.
Вам уже написали как и что надо сделать чтобы и перечисление в справочник перенести и справочник в перечисление.
16. XelOla 17 19.07.21 14:52 Сейчас в теме
(15)
вы еще ничего существенного не написали, тем более другие реально помогли.
так вот, помогите пожалуйста.
СправочникСсылка.СтавкиНДС в ПеречислениеСсылка.СтавкиНДС
ПКО При выгрузке
Если Источник.Наименование = "Без НДС" Тогда
Значение = "БезНДС"
Иначе Значение = "НДС20"
КонецЕСли;
17. nomad_irk 72 19.07.21 15:08 Сейчас в теме
(16)правило конвертации пустое?
18. XelOla 17 19.07.21 15:18 Сейчас в теме
(17)
вот сейчас как сделала
Прикрепленные файлы:
20. Sashares 34 19.07.21 15:22 Сейчас в теме
(18)Смысл конвертации из чего угодно в перечисление - нужно переменной Значение Перед выгрузкой или При выгрузке присвоить Имя нужного значения перечисления. Это можно сделать непосредственно в ПКС, без создания отдельного правила конвертации. То есть в самом документе, где вы НДС переносите.
Если таких мест 1 - 2 можно непосредственно в них написать, без создания отдельного правила.

У вас в приемнике такие значения перечисления есть, которые вы присваиваете?
Прикрепленные файлы:
22. XelOla 17 19.07.21 15:40 Сейчас в теме
(20)
да, это БП обычная
а источник - УНФ 1.3
23. nomad_irk 72 19.07.21 15:41 Сейчас в теме
(18) Вам не нужно правило конвертации "СтавкиНДС_Конверт" совсем

В том поле, которое должно превратится в значение ставки НДС весь код пишите, в "ПриВыгрузке"

Так понимаю, в ПКО самого документа, для поля со ставкой НДС:

Источник - сам документ

Если Источник.СтавкаНДС = Справочник.СтавкиНДС.НДС10_110 Тогда
    Значение = "НДС10_110";
Иначе
    Значение = "НДС20_120"
КонецЕсли;
24. XelOla 17 19.07.21 15:47 Сейчас в теме
(23)
к сожалению, так тогда при загрузке правил в УНФ

Ошибка в обработчике события ПриВыгрузке (свойства)
ПКО = ПоступлениеТоваровУслуг (Документ: Приходная накладная)
ПКС = 33 (СтавкаНДС --> СтавкаНДС)
Объект = Приходная накладная НФ-00000009 от 05.01.2021 12:00:00 (Приходная накладная)
СвойствоПриемника = СтавкаНДС (ПеречислениеСсылка.СтавкиНДС)
КонвертируемоеЗначение = 20% (Ставка НДС)
Обработчик = ПриВыгрузкеСвойства
ОписаниеОшибки = Поле объекта не обнаружено (Наименование)
ПозицияМодуля = (1)
КодСообщения = 56
Прикрепленные файлы:
25. nomad_irk 72 19.07.21 15:50 Сейчас в теме
(24)Потому что у источника, в данном конкретном случае - это документ, нет реквизита "Наименование".


я ж вам в (23) дал можно сказать рабочий код, адаптируйте его под реалии самостоятельно.
32. Sashares 34 19.07.21 16:01 Сейчас в теме
(24)Вы не правильно пишите.
У вас СтавкаНДС это реквизит табличной части. Для обращения к реквизиту табличной части надо писать
ОбъектКоллекции.ИмяРеквизита.

То есть в вашем случае ОбъектКоллекции.СтавкаНДС.Наименование.
Замените как показано на скрине и попробуйте еще раз.
Прикрепленные файлы:
37. XelOla 17 19.07.21 16:14 Сейчас в теме
(32) Там "папочка" Запасы - конвертируется в Товары (УНФ-БП), просто галочки Номенклатура-Номенклатура, я ж не пишу для них ОбъектКоллекция.
39. Sashares 34 19.07.21 16:17 Сейчас в теме
(37)Если в ПКС явно сопоставлен источник и приемник и никаких доп.действий выполнять не надо, этого достаточно, ничего более кодом в таких ПКС соответственно писать тоже не надо.
А когда надо кодом что-то прописать, тогда надо учитывать - если это реквизит источника используется Источник.ИмяРеквизита, если это реквизит ТЧ, то ОбъектКоллекции.ИмяРеквизита.
41. XelOla 17 19.07.21 16:19 Сейчас в теме
(39)
так, с тем я сейчас разберусь.
Еще, как искать значение в Справочнике приемнике?
Т.е. 26 счет - он предопределенный, я уставнолю,
а вот Статью затрат найти по имени - "Расход на мобильник"? Субконто1, если быть конкретной
43. Sashares 34 19.07.21 16:27 Сейчас в теме
(41)
а вот Статью затрат найти по имени - "Расход на мобильник"? Субконто1, если быть конкретной

Чтобы в ПКО при загрузке выполнялся поиск по какому либо реквизиту или сочетанию реквизитов, для этих реквизитов надо поставить флаг в колонке Поиск.
Прикрепленные файлы:
47. XelOla 17 19.07.21 16:57 Сейчас в теме
(43) В приемнике есть ведь Счет затрат
в пкс ПриВыгрузке Значение = ПланыСчетов.Хозрасчетный.НайтиПоКоду("26")
Источник = Пусто, а Приемник = СчетЗатрат

Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1693)}: Ошибка получения значения свойства подчиненного объекта (по имени свойства приемника)
ПКО = ПоступлениеТоваровУслуг (Документ: Приходная накладная)
ПКС = 38 (--> СчетЗатрат)
Объект = Приходная накладная НФ-00000095 от 07.04.2021 12:00:00 (Приходная накладная)
СвойствоПриемника = СчетЗатрат (ПланСчетовСсылка.Хозрасчетный)
ОписаниеОшибки = Поле объекта не обнаружено (СчетЗатрат)
ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8282)
КодСообщения = 17
48. Sashares 34 19.07.21 16:59 Сейчас в теме
(47)При выгрузке выполняется в базе источнике.
Если вам надо, чтобы код выполнился в приемнике, надо в ПКО в ПослеЗагрузки прописать обработчик.
В ПослеЗагрузки объект уже будет загружен, и можно дозаполнить реквизиты и реквизиты ТЧ.

Для таких реквизитов, которые заполняются после загрузки, ПКС создавать не надо, такие ПКС можно отключить.
44. nomad_irk 72 19.07.21 16:27 Сейчас в теме
(41)тут только поиском по наименованию для Справочник.СтатьиЗатрат.

Но если у вас это дело в Субконто, то необходимо определять тип значения субконто и указывать нужное имя ПКО для этого типа значений в ПКС, в "ПриВыгрузке"

что-то типа такого:

Если ТипЗнч(Источник.Субконто1) = Тип("Подразделения") Тогда
     ИмяПКО = "Подразделения";
Иначе
     ИмяПКО = "СтатьиЗатрат";
КонецЕсли;
45. XelOla 17 19.07.21 16:39 Сейчас в теме
(32)
ОбъектКоллекции.

фух, вы правы, все же

Если СокрЛП(ОбъектКоллекции.СтавкаНДС.Наименование) = "Без НДС" Тогда
Значение = "БезНДС"
Иначе Значение = "НДС20"
КонецЕСли;
все, и без ндс зашли и с 20% зашли
46. Sashares 34 19.07.21 16:46 Сейчас в теме
(45) Вот и хорошо, а если бы вы сразу написали, что это для реквизита табличной части управились бы быстрее))
26. XelOla 17 19.07.21 15:54 Сейчас в теме
(23)
в УНФ в спр СтавкиНДС нет предопределенных даннх
Прикрепленные файлы:
27. nomad_irk 72 19.07.21 15:54 Сейчас в теме
(26)хорошо, как определяется числовое значение ставки НДС?
29. XelOla 17 19.07.21 15:58 Сейчас в теме
(27)
Без НДС - Наименование, Не облагается - галочка
Прикрепленные файлы:
31. nomad_irk 72 19.07.21 16:01 Сейчас в теме
(29)ну вот, по значению привязывайтесть.

код будет таким:

Если Источник.СтавкаНДС.Ставка = 10 
                   И Источник.СтавкаНДС.Облагается Тогда
    Значение = "НДС10_110";
ИначеЕсли Источник.СтавкаНДС.Ставка = 18
                  И Источник.СтавкаНДС.Облагается Тогда
    Значение = "НДС18_118";
ИначеЕсли Источник.СтавкаНДС.Облагается Тогда
    Значение = "НДС20_120";
ИначеЕсли Источник.СтавкаНДС.Ставка = 0
             И НЕ Источник.СтавкаНДС.Облагается Тогда
    Значение = "НДС0";
Иначе 
    Значение = "БезНДС".
КонецЕсли;
Показать
34. XelOla 17 19.07.21 16:05 Сейчас в теме
(31)
ПКС Ставка НДС - Ставка НДС
При выгрузке 
Если Источник.Ставка = 20 Тогда
	Значение = "НДС20"
Иначе Значение  = "БезНДС"
КонецЕСли;	

Ведь ставка в табличной части Запасы

Ошибка в обработчике события ПриВыгрузке (свойства)
ПКО = ПоступлениеТоваровУслуг (Документ: Приходная накладная)
ПКС = 25 (СтавкаНДС --> СтавкаНДС)
Объект = Приходная накладная НФ-00000002 от 10.01.2021 12:00:00 (Приходная накладная)
СвойствоПриемника = СтавкаНДС (ПеречислениеСсылка.СтавкиНДС)
КонвертируемоеЗначение = 20% (Ставка НДС)
Обработчик = ПриВыгрузкеСвойства
ОписаниеОшибки = Поле объекта не обнаружено (Ставка)
ПозицияМодуля = (1)
КодСообщения = 56
35. Sashares 34 19.07.21 16:06 Сейчас в теме
(34)
Ведь ставка в табличной части Запасы

Источник.Ставка

См. 32
40. nomad_irk 72 19.07.21 16:18 Сейчас в теме
(34) Будьте внимательнее.
Если ставка указывается в шапке документа, то

Источник.СтавкаНДС(РеквизитДокумента).Ставка(Реквизит Справочник.СтавкиНДС)

если в ТабличнойЧасти - то

ОбъектКоллекции.СтавкаНДС(Реквизит.ТабличнойЧасти).Ставка(реквизит Справочник.СтавкиНДС)
36. XelOla 17 19.07.21 16:07 Сейчас в теме
(31)
СтавкаНДС
не обнаружена


Ошибка в обработчике события ПриВыгрузке (свойства)
ПКО = ПоступлениеТоваровУслуг (Документ: Приходная накладная)
ПКС = 25 (СтавкаНДС --> СтавкаНДС)
Объект = Приходная накладная НФ-00000002 от 10.01.2021 12:00:00 (Приходная накладная)
СвойствоПриемника = СтавкаНДС (ПеречислениеСсылка.СтавкиНДС)
КонвертируемоеЗначение = 20% (Ставка НДС)
Обработчик = ПриВыгрузкеСвойства
ОписаниеОшибки = Поле объекта не обнаружено (СтавкаНДС)
ПозицияМодуля = (1)
КодСообщения = 56
42. nomad_irk 72 19.07.21 16:22 Сейчас в теме
(36)Судя по скриншоту из (24), СтавкаНДС - это реквизит ТабличнойЧасти "Расходы".

Значит в коде, вместо Источник используйте ОбъектКоллекции.
28. XelOla 17 19.07.21 15:54 Сейчас в теме
(23)
и если бы эта система работала - хотябы 20% бы заполнялось.
30. XelOla 17 19.07.21 16:00 Сейчас в теме
(23)
вот вы говорите в ПКО самого документа, а
куда его? Какое Значение будет принято "НДС20"?
Прикрепленные файлы:
33. nomad_irk 72 19.07.21 16:03 Сейчас в теме
(30)Я говорю в ПКО самого документа для реквизита самой ставки НДС.

Вы в (24) правильно сделали, но неправильно написали сам код.
38. XelOla 17 19.07.21 16:15 Сейчас в теме
(23)
Если Строка(Источник) = "20%" Тогда
Значение = "НДС20"
Иначе Значение = "БезНДС"
КонецЕСли;
Вот так , там где 20 - поставил наконец Хотя бы БЕЗ НДС.
Это ПКС для СтавкаНДС
19. XelOla 17 19.07.21 15:20 Сейчас в теме
(17) ндс в документ не садится. Приходную накладную пытаюсь перенести. (с сопутствующими)
14. XelOla 17 19.07.21 14:49 Сейчас в теме
о божиии, товары стали садиться... ура!
а вот ндс еще неее
49. XelOla 17 19.07.21 22:08 Сейчас в теме
Еще... ну добавила же РеализациюТоваровУслуг, СчетФактуры.
А чой та, когда гружу правила - у меня все равно, одна только ПоступлениеТоваровУслуг?!??!?!
50. nomad_irk 72 20.07.21 06:00 Сейчас в теме
(49)необходимо правило выгрузки объектов добавить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот