Как записать программно БазоваяЕдиница и ОсновнаяЕдиница справочникаНоменклатура #525693


#0 by Khaliff
После переноса данных с помощью TRANREF в 1С 7.7 комплексной остался один нерешенный вопрос: надо заполнить у всей номенклатуры поля БазоваяЕдиница и ОсновнаяЕдиница (автоматически они не заполнились). Мне бы внешнюю обработку, которая это выполнит. Код обработки почти готов, т.к. есть в архиве обсуждение подобной проблемы ( там есть большие куски кода, которые это выполняют. Кто поможет?
#0 by Khaliff
После переноса данных с помощью TRANREF в 1С 7.7 комплексной остался один нерешенный вопрос: надо заполнить у всей номенклатуры поля БазоваяЕдиница и ОсновнаяЕдиница (автоматически они не заполнились). Мне бы внешнюю обработку, которая это выполнит. Код обработки почти готов, т.к. есть в архиве обсуждение подобной проблемы ( там есть большие куски кода, которые это выполняют. Кто поможет?
#1 by andrewks
написать самому не предлагать?
#2 by Khaliff
умел бы, не спрашивал
#3 by Khaliff
вот здесь тоже код но почему нельзя это сделать в виде внешней обработки? а если делать программно (как там пишет топикстартер) - это разве не с помощью внешней обработки?
#4 by ботаникус
так сделай обработку
#5 by Khaliff
ок, попробую сделать первую в своей жизни обработку сам
#6 by Khaliff
#7 by ДенисЧ
типы, НЯП, разные...
#8 by Khaliff
Блин, NOMENEDIN.ERT}: Переменная не определена (ТекНоменклатура) NOMENEDIN.ERT}: Переменная не определена (СпрН) NOMENEDIN.ERT}: Переменная не определена (СпрЕ) NOMENEDIN.ERT}: Ожидается ключевое слово 'КонецЦикла' ('EndDo') NOMENEDIN.ERT}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure') надо что-то править...
#9 by Khaliff
если в начале добавлю СпрЕ=СоздатьОбъект("Справочник.ОКЕИ"); правильно? и надо еще цикл организовать, НЯД.
#10 by Khaliff
сомневаюсь, правильно ли задал СпрЕ, может быть так надо:
#11 by Kondarat
Ага, так.
#12 by Khaliff
итак, вот что сейчас получилось:
#13 by Kondarat
Этот код убрать совсем //*** вот этот код где правильно разместить?
#14 by Kondarat
Это
#15 by Khaliff
да, это неопределенная переменная, но она встречается не только в строках 12 и 13, но и в строке 34. Что делать со строкой 34? Переменная не определена (ТекНоменклатура)
#16 by Kondarat
Сделать как в
#17 by Khaliff
вижу
#18 by Khaliff
теперь обработка выглядит так:
#19 by Khaliff
получил ошибку: Значение = глПользователь.ПолучитьАтрибут(ИмяРеквизита); {Глобальный модуль}: Неверное имя атрибута
#20 by Kondarat
А так?
#21 by Kondarat
Извини, вот так?
#22 by Khaliff
сейчас обработка запустилась!!! пару раз выскочило сообщение "бяка", но дальше идет, не прерывается!!!
#23 by Khaliff
нет, много раз выскочило "бяка", жду что получится в результате...
#24 by andrewks
если "Процедуре конец"  то автор явно не молодец...
#25 by Khaliff
вполне возможно, что это сообщение надо поставить в другое место, куда?
#26 by Khaliff
обработка прошла, открыл одну из позиций номенклатуры - заполнено поле Базовая ед. (Основная - пустое поле) Но это уже хорошо! Мы сдвинулись в нужном направлении!
#27 by andrewks
вот этот блок: в переводе на русский: если есть у данной номенклатуры единица с заданным ОКЕИ, то используем её в качестве базовой. вопрос - а если её нет - почему бяка-то? может, просто надо её создать?
#28 by Khaliff
проблема не решилась, т.к. при создании Заявки покупателя, при выборе номенклатуры, нажимаем ОК, и позиция не попадает в ТЧ заявки, ошибка: В подборе выбрана единица другого элемента справочника Номенклатура. Проверьте правильность указания базовой и основной единицы для элемента "ХХХХХХ", а также правильность указания единиц измерения в справочниках единиц и цен для данной позиции номенклатуры.
#29 by Khaliff
напиши как создать
#30 by Khaliff
сейчас после обработки - у номенклатуры появилась БазоваяЕдиница, но не заполнена ОсновнаяЕдиница ...?
#31 by Kondarat
Так:
#32 by Kondarat
У номенклатуры стоит галка Использовать только базовую единицу?
#33 by Khaliff
да
#34 by Kondarat
В таком случае ее просто не видно. На самом деле она равна базовой.
#35 by andrewks
угу-мц
#36 by Khaliff
между двумя КонецЕсли было: у тебя в коде между двумя КонецЕсли - пусто. Закомментировать?
#37 by Kondarat
Ничего не надо. Я там вставил Иначе.
#38 by Kondarat
+37 Если ты имеешь ввиду у себя, то да.
#39 by Neg
Вы что тут приболели, Новый год тут уже скоро, а они БазовыеЕдиницы пишут программно. Пипец.:)
#40 by Kondarat
Вишь чел мучается - надо помочь.
#41 by Khaliff
обработка прошла, но нет ожидаемого: у номенклатуры появилась БазоваяЕдиница, но не заполнена ОсновнаяЕдиница
#42 by andrewks
чо ты там хошь увидеть?
#43 by andrewks
ну не всем так повезло с кирпичами...
#44 by Khaliff
вот как выглядит сейчас:
#45 by Kondarat
Не заполнена точно? или ? Как прверил?
#46 by andrewks
директива компилятору: :-)
#47 by Khaliff
хочу чтобы ОсновнаяЕдиница была = шт, если у БазоваяЕдиница = шт, так как было у всех позиций до переноса данных. Перенос осуществил - контрагенты и номенклатура, но не заполнены единицы - из-за этого нельзя в подборе добавлять номенклатуру в заявки покупателя.
#48 by aka AMIGO
перенес в комплексную, а откуда?
#49 by Khaliff
Основная - пусто, и при нажатии на ... не появляется ниспадающее меню (в Базовой - "шт" и при нажатии ... появляется список единиц)
#50 by Khaliff
из комплексной в комплексную, только в свежую
#51 by Kondarat
Ну поснимай галки у номенклатуры использовать только базовую единицу, если хочешь видеть. Проделай эксперимент: открой карточку номенклатуры, сними галку и увидиш основную единицу.
#52 by Kondarat
Так она не появляется только потому, что при установленной галке это поле не доступно для выбора.
#53 by Khaliff
эксперимент удался. У одной позиции убрал галку. Эту позицию удалось добавить в заявку покупателя. А как со всеми позициями - десятки тысяч позиций! Но в старой базе проверил - там галка стоит, но при этом номенклатуру можно добавлять в заявку!
#54 by Khaliff
значит, неправильно я диагностировал проблему, не в этом дело было. ПРОБЛЕМА такая: проблема не решилась, т.к. при создании Заявки покупателя, при выборе номенклатуры, нажимаем ОК, и позиция не попадает в ТЧ заявки, ошибка: В подборе выбрана единица другого элемента справочника Номенклатура. Проверьте правильность указания базовой и основной единицы для элемента "ХХХХХХ", а также правильность указания единиц измерения в справочниках единиц и цен для данной позиции номенклатуры.
#55 by Lesha1C
#56 by Khaliff
это куда вставить? или это отдельная обработка? вообще-то я пользовался TRANREF и если этот транреф создавал справочники, то видимо там и надо править в этом транрефе?
#57 by Kondarat
ХЗ что там у тебя произошло. Ну поступи след способом. Грохни все единицы у номенклатуры и затем пройдись еще раз обработкой. Должно все быть ОК.
#58 by Kondarat
Ну и на худой конец попробуй это:
#59 by Khaliff
Вот нашел в другом форуме: Справочник "Единицы" подчинен справочнику "Номенклатура", т.е. Номенклатура является владельцем. В номенкалтуре, которую используешь в подборе, выбрана единица измерения другого владельца, в этом и заключается ошибка. В обработке подбора написано так: Если ТекНоменклатура <> ТекЕдиница.Владелец Тогда Сообщить("В подборе выбрана единица другого элемента |справочника Номенклатура. Проверьте правильность указания базовой и основной единицы для элемента |""" + СокрЛП(ТекНоменклатура) + """, а также правильность указания единиц измерения А надо чтобы владельцы совпадали! Зачем копаться в ДБФках, не проще ли написать обработку которая поправит неправильно записавшихся единиц!!!
#60 by Khaliff
вот такую простую обработку надо.
#61 by KRV
Куча клоунов. перенеси все подчиненные справочники к номенклатуре. Затем повторно запусти загрузку
#62 by МимохожийОднако
"А надо чтобы владельцы совпадали!" Зачем? Показывай код формирования Заявки. Обычно Единица из ТЧ документа = Номенклатура.БазоваяЕдиница.
#63 by Skylark
Жесть. Сюр какой-то...
#64 by KRV
Клоунада.. Цирк зловещих клоунов, главная антерприза.. МимохожийОднако "А надо чтобы владельцы совпадали!" Зачем? с торговлей знаком понаслышке?
#65 by Khaliff
всё сообщение является цитатой, скопировано из другого форума, если тот совет неверный, то хочется увидеть верный. Главное, что проблема одинаковая: после окончания переноса данных (tranref.ert), добавления единиц к каждой позиции номенклатуры (nomenedin.ert), всё равно осталась проблема: при подборе номенклатуры для заявки покупателя error: "В подборе выбрана единица другого элемента справочника Номенклатура. Проверьте правильность указания базовой и основной единицы для элемента "ХХХХХХ", а также правильность указания единиц измерения в справочниках единиц и цен для данной позиции номенклатуры." Кто знает, в чем причина проблемы и как избавиться от этой проблемы?
#66 by Злопчинский
ты задрал. 1. универсально обработкой подбора объектов пометить на удаление все единицы измерения (предполагаем что документов - нет, если доки есть - то это совсем чуть-чуть усложняет) 2. этой же обработкой почистить реквизиты "базовая" и "основная" единицы измерения в товарах. 3. обработкой в 10 строк прописать базовую и основную единицы. . все. . проблемы в чем?
#67 by Злопчинский
п.3 написан в
#68 by Khaliff
вот это сразу видно - дельный совет, попробую завтра! еще поясни, пожалуйста, универсальная обработка подбора объектов -где-то в стандартных менюшках? P.S. документов нет, только справочники переносил.
#69 by Злопчинский
с диска ИТС установить набор универсальных отчетов и обработок, далее меню-сервис-дополнительные возможности-Универсальная обработка подбора объектов. . для выполнения пп.1.2 можно и руками набросать обработки в 5-10 строк.
#70 by Khaliff
"Грохни все единицы у номенклатуры" и "пометить на удаление все единицы измерения" совет понятный. Запустил UChoice.ert, выбрал единицы, а вот кнопки типа "удалить" не нашел... Там вообще нет никаких действий. Нажимаю ОК - просто закрывается окно и всё.
#71 by Злопчинский
надо установить не просто одну обработку Учойс а весь набор - там типа плугины есть. если есть установленные плугины - справа от ОК есть выпадающий списочек действий...
#72 by Злопчинский
в плане обучаловки: ознакомься на досуге:
#73 by Khaliff
еще не пробовал, но вот вопрос, если сделать "обработкой в 10 строк прописать базовую и основную единицы", то цены номенклатуры будут ли нормально привязаны? ведь у цен есть привязка к единице измерения, которые я удалю, а потом обработкой пропишу какую-то новую (как я понимаю) единицу и к ней не будет привязки в ценах, возможна такая проблема потом?
#74 by Злопчинский
да, возможна. . п.4 следует также обнулить единицу измерения в ценах номенклатуры. . после выполнения пп.1-3 - также обработкой в 10 строк в цены номенклатуры прописать базовую единицу номенклатуры. . вышеизложенное справедливо если цены номенклатуры были выражены за базовую единицу.
#75 by Злопчинский
опять же - если ты помечаешь на удаление единицы измерения номенклатуры - и они не удалились ПОЛНОСТЬЮ ШТАТНОЙ ОБРАБОТКОЙ - это значит - где-то еще используются. . как посмотреть все ли цены удалились? меню-операции-справочники-цены - отключить отображение "по иерархии"
#76 by Khaliff
еще мысль до того, как попробовал: при выполнении п.2 при наличии нескольких тысяч наименований в номенклатуре - как их выбрать все, по-моему там выбирать придется по каждой позиции?
#77 by Khaliff
вот перечитал припоминаю, что так и делал: переносил несколько раз справочники, специально делал сначала все подчиненные, потом еще раз накатывал номенклатуру, но в результате получал: в номенклатуре БазоваяЕдиница не проставлена и в ценах номенклатуры есть цены, но к какой единице относятся - там пустое значение, т.е. если у номенклатуры несколько цен, то несколько строк в ценах с цифрами цен, но названия единиц пустые. Только Партии ТМЦ не переносил, это могло являться причиной ошибки?
#78 by KRV
ТранРефом все переносится влет. Даже думать ненадо. Только галку поставить "исправлять существующие" ну и два раза загонять
#79 by Злопчинский
Сейчас точно не помню? но в каком-то переносе то ли транреф, то ли экспорт/импорт есть бяка, связангная с переносом справочников, у которых нет ни кода, не наименования...
#80 by Злопчинский
#81 by KRV
транреф. настойчиво повторяю, что надо прогонять два раза с перезаписыванием существующих элементов.
#82 by Злопчинский
угумс, можно и так наверное, но я предпочитаю научный метод, а не шаманские пляски с бубнами ;-)
#83 by KRV
все просто.. создаются элементы, а при втором проходе они подчиняются :)
#84 by KRV
+ у номенклатуры там подчиненные еденицы, и штрихкоды там-же
#85 by KRV
единицы. Пиво аднака..
#86 by sidalexsandr
При отладке попробуй: Исключение
#87 by sidalexsandr
Ошибки потому что между справочниками  система подчинения. По порядку: 1) Справочник Номенклатура 2) Справочник Единицы. Подчинён Справочнику из 1).
#88 by sidalexsandr
Если для всех товаров надо проставить одну и ту же еденицу измерения, то решается очень просто:
#89 by sidalexsandr
Не ужели все 7.7 забыли стандартная задача и столько возни?
#90 by Злопчинский
основную единицу забыл... . а мы услышим "начальника транспортного цеха"?
#91 by Khaliff
приступаю к . если не поможет, то попробую
#92 by Khaliff
кстати, если Партии ТМЦ не буду переносить, это не помешает?
#93 by DEVIce
Три года стаж у автора на мисте. ;)
#94 by Khaliff
и еще: в новой базе я решил не использовать Свойства номенклатуры. Сейчас посмотрел какие подчиненные справочники к номенклатуре: там есть и Партии ТМЦ, и Свойства номенклатуры. Не помешает нормальному переносу?
#95 by smaharbA
реплвал вроде есть а есть еще неплохая (даже очень) обработка Универсам (Универсал) хотя она по сути платная
#96 by Khaliff
не получился даже 1-й проход из 2-х... кажется начинаю понимать, что перед тем как выгружать из старой базы, надо провести тестирование и исправление, т.к. справочник единиц измерения кажется подпорчен: Если СпЗнач.Получить("ТипЭлемента") = "Элемент" Тогда
#97 by zak555
код покажи
#98 by Khaliff
в смысле код транрефа? вот:
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Back to top