#0
by illuzia
Добрый день! Подскажите, пжалста...Есть Процедура ПриОтправкеДанныхПодчиненному.Делаю отбор движений документа по регистрам, как мне после отбора эти движения записать в файл обмена. Вот процедура в кратце:
#2
by illuzia
нет, это специально, т.к. все движения регистров мне там не нужны, нужны только строго по документам, кот выгружаются...долго думала как лучше сделать, почму-то решила так, если есть более умные мысли как это реализовать, я тока за...
#4
by MORRoz
Ну так если стоит выгружать движения документа, то они выгружаются только для тех документов, которые выгружаются. (звучит бредово =), но это нак)
#6
by illuzia
Так вот я и интересуюсь, как мне эти движения зарегистрировать или сразу выгрузить. Да но регистрируются то у меня все доки например "Внутренний заказ", а уже при выгрузке отбираются по конкретному складу, то есть получится что записи регистра зарегистрированы все равно все... Только вот мне наоборот надо выгрузить, заранее они зарегистрированы не были...
#7
by illuzia
если наоборот делать и поставить авторегистрацию на все регистры накопления, а потом отбирать их, то тут 100% можно что-нить пропустить...это придется перебирать все зарегистрированные записи каждого регистра по регистратору...
#8
by MORRoz
Так ты пробовала: у тебя действительно выгружаются движения по документам, которые не выгружаются сами? или ты теоретически подходишь?
#10
by illuzia
ПланыОбмена.ЗарегистрироватьИзменения(Узел,Движения); запуталась, то есть мне прям эту строку можно вставить вместо "Сообщить(Движение);"? Сейчас пробую, до этого подходила теоретически...
#12
by illuzia
Последний вопрос: У меня допустим начинается выгрузка в какой-либо узел, доходит он до этого места, регистрирует изменения, эти изменения уйдут с этим же файлом обмена, или уже со следующим?
#13
by maxar
зачем делать в момент выгрузки делай в модуле регистра - перед записью тогда в выгрузке уже будет то что необходимо
#15
by illuzia
Ошибка при вызове метода контекста (ЗарегистрироватьИзменения): Недопустимое значение параметра (параметр номер '2')
#17
by illuzia
Для Каждого НаборЗаписей Из ЭлементДанных.Движения Цикл А что здесь не так?Тот же самый НаборЗаписей...
#21
by illuzia
да, сейчас обмены идут, но идут не так как хотелось бы...изначально план обмена был настроен не правильно и из-за этого куча ошибок, которые нужно срочно исправлять...
#22
by illuzia
я уже сделала просто внешнюю обработку что бы понять, может он не хочет регистрировать именно при выгрузке какого-либо элемента, но обработка тоже вылетает с этой ошибкой... код обработки: Процедура КнопкаВыполнитьНажатие(Кнопка) В параметре Набор передается значение тип РегистрНакопленияНаборЗаписей, по идее должен регистрировать, но не хочет...
#23
by illuzia
Дошла до маразма, создала новый план обмена, задала все те же самые параметры, в новом плане работает...
#26
by illuzia
Интересно, а если пойти другим путем и сделать например вот так: Может это вызвать какие-либо ошибки?кто как думает?
#28
by MORRoz
Мое мнение: Опиши проблему подробнее, все эти шаманства до добра не доведут. Что есть, как сейчас работает, как определяется "что выгружать, а что нет", что не нравится, как должно. Так можно будет принять правильное решение, и уже думать о том как его исполнить... вот..
#29
by illuzia
есть несколько магазинов, нужен обмен с ними, но документы туда должны выгружаться не все и только по складу магазина, ну а регистры только тех доков кот. выгрузились...если кратко то вот...
#32
by illuzia
сейчас константы, справочники, документы, регистры сведений регистрируются автоматом, регистры накопления не выгружаются вообще, и им приходится все доки перепроводить, а если док был в офисе помечен на удаление, то в их базе все его движения остаются... да конфигурации одинаковые, обычная распределенная база...
#33
by Vitello
Посмотрите ка как в типовых сделана регистрация регистров накопления. Ваши вопросы сразу же отпадут. И не путайте понятия регистрация изменений и непосредственно выгрузка.
#34
by MORRoz
Предлагаю снять авторегистрацию с документов, создать Подписку на событие , "При записи":
#35
by MORRoz
+изменить условие когда у вас что-то выгружается, а когда нет +не забыть что на перефирии код должен быть другой, так что там что-нибудь типа ..... Иначе .... КонецЕсли
#37
by mikecool
и тут повторюсь : не надо использовать ПриОтправке/ПриПолучении для фильтрации данных используй подписки на события для регистрации
#43
by Serg_1960
(имхо) "...регистрируются то у меня все доки...а уже при выгрузке отбираются по конкретному складу" - если сделать соответствие складов и узлов, - тогда можно убрать авторегистрацию и регистрировать изменения только для конкретного узла(склада) при изменении документа (через подписку на событие). Для примера - можно смотреть в типовых функционал обмена "по организациям".
#44
by MORRoz
я то и имелл виду, и привел упрощенный вариант кода. Вместо "Источник.Склад = Константы.СкладДляОбмена.Получить" вставить правильное сравнение, а вместо: " НаборДвижений = Источник.Движения.Остатки;" в цикле перебрать движения.
#45
by Serg_1960
Я, так, - мимо проходил. Я - третий кто порекомендовал автору настроить грамотно регистрацию изменений.
#46
by illuzia
Подскажи мне пжалста... А если у меня 2 плана обмена вообще в принципе, по одному идет полный, а вот второй уже по магазинам. Вот этой строкой он по всем планам обмена получателей очистит? Источник.ОбменДанными.Получатели.Очистить;
#47
by illuzia
разобралась.. Но теперь такая проблема, дело в том, что такой реквизит как Организация он всегда один в документе, но у меня то отбор идет по складам, а их может быть несколько(ПеремещениеТоваров), они могут перечисляться в табличной части(УстановкаСкидокНоменклатуры), а может и вообще не быть, если только в документе основании(ОтменаСкидокНоменклатуры), может не быть вообще (УстановкаЦенНоменклатуры, кот используется в ПереоценкеТоваровВРознице), вот как быть с этим? как тогда правильно реализовать отбор?
#48
by illuzia
Подскажите, пожалуйста, где хоть почитать про это, просто с обменами столкнулась первый раз, а делать надо срочно...
#49
by MORRoz
Описывый каждую ситуацию отдельно: 1. Есть реквизит "Склад", "СкладПолучатель", "СкладОрдер","СкладОтправитель" 2. Если есть реквизит в основании 3. Если реквизита нет. Вообще если такая сложная система, то лучше использовать обмен не РИБ, а по правилам обмена, которые надо писать в Конвертации. Если делать надо срочно, то рекомендую следовать моему совету: создать подписку на событие и описать ситуации когда документ регистрируется, а когда нет. Вариант более универсален и правелен с методической точки зрения, но труднее в исполении.
#50
by illuzia
Просто хочется сделать сразу по человечески, а легких путей я не ищу...хочется все таки пусть медленно, но сделать 1 раз и чтоб работало...в мне не понятно только как мне потом запрос делат,ь если у меня будет не 1 СкаладДокумента, а несколько ведь в той же установке скидок может быть 1 получатель, а может и 50...
#51
by MORRoz
"Делать надо срочно" "хочется все таки пусть медленно, но сделать" Ну если хочешь делать как в , тогда Описывай различные отборы для разных регистров. Раздели на категории и по значению условия выполняй различные действия. Если СпискоРегистровСоСкладом.Найти(Источник.Метаданные.Имя) <> Неопределено Тогда ... ИначеЕсли СпискоРегистровСоСкладомВОсновании.Найти(Источник.Метаданные.Имя) <> Неопределено
#52
by illuzia
Нашла твою статью, она мне оч помогла...но никак не въеду вот в этот кусок: Подскажи что например ты у тебя скрывается вот например под этой функцией: ДокументыТипВсеСсылки
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- ? Регистрация в плане обмена пустого набора записей регистра ?
- Выборочная регистрация наборов записей регистра сведений в плане обмена
- Регистрация V7Plus.dll под Vista
- Выгрузка из БП 1.6.11 в УТ 10.3 регистрация измененых объектов в базе БП
- Ручная регистрация изменения в плане обмена
- Регистрация движений Регистра накопления при Регистрации документа
- Не отменяется регистрация в обр. Регистрация изменений для обмена
- Проблема с РИБ. Регистрация изменений без движений
В этой группе 1С
- УСН в 1С Комплексная 7.7
- Драйвера Атол
- Страхование от несчастных случаев в ЗУП
- Можно ли вести несколько Юр лиц в 1С Комплексная 7.7.
- Бух. Изменение реквизитов элементов в табличной части документа
- Можно-ли заставить Windows Server 2003 R2 Standard Edition увидеть больше 4ГБ ОЗУ ?
- Торговля 7. Количество по ПартииНаличие <> Количество по Остатки ТМЦ. Это нормально?
- Программно добавить обработчик события к программно добавленному элементу формы
- Не могу зарегистрировать библиотеку Scaner1C.dll в терминале
- Как уменьшить ldf файл?
- Как определить тип в строках для незаполненных субконто при конвертации 2.0
- В форму списка справочника добавить столбец с данными из регистра сведений
- при изменении конечной даты меняется начальный остаток
- epson lx 300 не работает при загрузке позиционируется
- Как обратиться к табличной части документа в 8.1
- Выборка при помощи регистра остатков
- Как вывести имя базы в верхней части окна "1С:Предприятие - Бухгалтерский учет"
- Не получается пробросить порт на роутере d-link dir-320
- v7: В "НазначитьВид() Возможно ли назначить несколько видов?
- Обмен между 1С ТиС 7.7 и 1С Комплексная 7.7 с Помощью Менеджера обмена данными