Конвертация данных - Справочник - Перечисление #747909


#0 by tabarigen
Переношу справочник номенкратура, в реквизитах есть СтавкаНДС, которая тоже создает ПКО. На этом ПКО и зациклился. Смотрел книжку Бояркина там обратный пример Перечисления - Справочник. ОбъектИсточник - СправочникСсылка.СтавкиНДС ОбъектПриемник - ПеречислениеСсылка.СтавкиНДС. Приемник имеет предопределенные значения НДС18, НДС18_118, НДС10, НДС10_110, НДС0, БезНДС. Источник же имеет реквизиты - НалоговаяГруппаФР, Наименование, Ставка, ПометкаНаУдаление, а также предопределенные значения: ОснованяСтавкаНДС и БезНДС. Так вот КД сама сопоставила предопределенное значение справочника БезНДС, соответствующему значению из перечисления. ОсноннаяСтатья соответсвует НДС10. А как быть с теми значениями в приемнике для которых нету предопределенных значений. Их надо устанавливать в обработчиках событий (каких? ПКО? ПКС я не настраиваю, а обработчиков у ПКЗ нету). Ясен пень, что их надо брать из Справочника.СтавкиНДС (содержит значения [10%, 18%, БезНДС]). Но как это сделать.
#1 by tabarigen
скрин настроек ПКЗ
#2 by daniel63
В демо базе есть пример, число в перечисление, тут тоже самое.
#3 by ixijixi
Обработчики "Правила конвертации свойств" Перед выгрузкой Значение - Неопределено. Конвертируемое значение свойства. Если значение определить в теле обработчика, то стандартная процедура получения значения не будет происходить.
#4 by tabarigen
Спасибо за наводку. В демо базе действительно есть полностью идентичный пример. В ПКО СтавкиНДС в обработчике перед выгрузкой прописал. Вы выгрузке данных выдается ошибка Начало выгрузки:   14.07.2015 16:08:36 Ошибка в обработчике события ПослеВыгрузкиОбъекта     Обработчик             =  ПослеВыгрузкиОбъекта     ОписаниеОшибки         =  Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(1,6)}: Процедура или функция с указанным именем не определена (ПустоеЗначение) Ошибка при выгрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1620)}: Ошибка в обработчике события ПослеВыгрузкиОбъекта     Обработчик             =  ПослеВыгрузкиОбъекта     ОписаниеОшибки         =  Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(1,6)}: Процедура или функция с указанным именем не определена (ПустоеЗначение) p.s Как тут форматировать текст??
#5 by MadJhey
Процедура или функция с указанным именем не определена (ПустоеЗначение)
#6 by MadJhey
Куда засунул ПустоеЗначение?
#7 by tabarigen
в ПКО обработчик ПослеВыгрузки
#8 by MadJhey
Выгрузка из 7.7? Если из 8 то не ЗначениеЗаполнено а зачем городить такой огород не проще ли использовать в приВыгрузке Если ставка=18 Тогда иначе ....
#9 by tabarigen
Выгрузка из 8. Управление Аптекой -> Управление Аптечной сетью
#10 by MadJhey
Нет в 8.2 функции -  ПустоеЗначение, это 7.7
#11 by Naumov
Демопример для 8.0 еще написан. с 8.1 ПустоеЗначение меняли на "не ЗначениеЗаполнено"
#12 by tabarigen
Уфф... Только что Номенкоатура переносилась иерархически, и вдруг перестала. Что трогал не помню, но вроде в настройках порядок. Скрин с настройками ниже . Что за крестик у ПКО номенклатура?
#13 by VikingKosmo
Крестик означает, что поиск будет идти не только по ссылке, а и по полям поиска ЕМНИП
#14 by tabarigen
а почему не переходят группы?? Галочка напротив этогрупа и родитель стоят.
#15 by VikingKosmo
ну ты спросил... Я ж понятия не имею, что там в правилах нарисовано то
#16 by tabarigen
ссылку дал ведь с настройками.
#17 by tabarigen
В общем дела такие парни.  Запарился я с вашей Конвертацией)) плюнул бы на все если бы не имел привычку доводить дело до конца. В ПКО Перед выгрузкой пишу: В ПКО После выгрузки пишу: Если Не ЗначениеЗаполнено(Источник) = 1 Тогда В итоге у меня переносятся только НДС18%. Та номенклатура у которой в базе источника стоит БезНДС принимает значение 0%. НДС10% вообще не переносится. Единственное отличие в базе источника НДС 10% и 18% в том что 18% предопределенное значение. Куда бы копнуть еще? Истина то рядом.
#18 by MadJhey
А ты настойчивый :). Отлаживать планы обмены умеешь? На Хотя косяк и так видно: У безндс в источнике какая ставка?
#19 by MadJhey
планы обмена
#20 by tabarigen
А нет никакой ставки у БезНДС. Пусто.
#21 by tabarigen
Пробую отладчиком перехватить обработчик ПКО. В формируемом отладчиком модуле приемника нет моего кода обработчика ПКО, для того чтоб поставить точку останова. В формируемом отладчиком модуле источника такой код есть, но там событие не перехватывается ибо событие это после выгрузки. Как быть то?
#22 by Абыр
В ПКО для ставок в обработчике "Перед выгрузкой" задавай в Приемник строковый идентификатор значения перечисления в базе-приемнике.
#23 by tabarigen
че нить полегче для моего мозга сказали бы что ле)
#24 by MrKartez
У тебя каждый раз условие попадает в ЕСЛИ Смотри, будет ставка 0, оно у тебя войдет во все ЕСЛИ, 0 же будет и меньше 5 и меньше 19 одновременно. Следовательно, будет возвращено последнее значение при <19. Самое простое что приходит на ум, сделать двойное условие. 5<СтавкаНДС и СтавкаНДС<19.
#25 by tabarigen
Так и не удалось правильно прописать условие (((( В итоге всей номенклатуре установил НДС10. Благо ставка ндс одинаковая у всех.
#26 by tabarigen
Если кому интеречно как все решилось. То надо было галочку поставить не запоимнать выгруженные. Хз как но это помогло.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С