#0
by tixis
Кто писал сообщения для риб программно? В общем ситуация такая, есть риб, в некоторых случаях получается так, что в файл обмена сначала записывается например документ, а потом договор контрагента, из за этого при загрузке документа появляется ошибка, т.к. договора еще нет. Переписал на выгрузку программно, примерно как в той теме , но у меня ошибки при выгрузке из центра и соответственно мне нужно контролировать изменения конфы и выгружать конфу в случае необходимости.
#1
by impulse9
В плане обмен апоставь галочку "Распределенная ИБ", система сама будет отслеживать изменения конфигурации
#2
by Serg_1960
"... есть риб... в файл обмена сначала записывается например документ, а потом договор контрагента, из за этого при загрузке документа появляется ошибка" - у Вас одно из двух: или у Вас не РИБ, или Вы заблуждаетесь насчет причин возникновения ошибки. Для РИБ не имеет принципиального значения порядок изменений в сообщении обмена.
#3
by Serg_1960
Третий вариант возникновения ошибки (наиболее распространённый) - это внесение изменений в типовую конфигурацию, не учитывающих признак обработки сообщений обмена - пресловуто-знаменитое "Объект.ОбменДаннми.Загрузка = Истина".
#5
by tixis
Ошибки такие начали встречаться, после конвертации базы с 8.1 на 8.3 (конвертировали из за того, что для 8.1 нет программных лицензий)
#6
by Фрэнки
а может быть вся проблема в том, что изменения конфигурации хоть и приняты в приемнике, но никто не догадался их применить к базе? Сидят себе полученные изменения, а некому перезапустить базу в конфигураторе и отжмакнуть F7
#7
by tixis
нет, если программно формировать файл обмена , то изменения конфы и не записываются. Весь вопрос в том как определить что нужно выгрузить конфу и как собственно выгрузить саму конфу
#8
by Фрэнки
У меня нет под руками того примера, где самостоятельно было прописана вся кухня для РИБ. Там есть специально предопределенные процедуры в модуле Пална обмена, при прохождении которых изменения конфигурации в файл выгрузки попадают. Т.е. включил РИБ = включил использование предопределенных процедур Сформировал желаемый файлик измененных данных "программно" = не использовал процедуры РИБ (грубо говоря, поломал, похе.р.ил)
#9
by Рэйв
>>из за этого при загрузке документа появляется ошибка, т.к. договора еще нет. Неправда.Все заполненные ссылки приходят вместе с документами. Просто объекты приходят потом. Ты бы хоть текст ошибки выложил.
#10
by tixis
текст ошибки: Проведение документа: Расходный кассовый ордер 00007939 от 15.12.2017 13:46:28 (Оплата поставщику) Выбран договор контрагента, не соответствующий организации, указанной в документе! Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): В данной транзакции уже происходили ошибки! если смотреть в отладчике, то в договоре "ОбъектНенайден"
#11
by tixis
Если снять с регистрации данный документ, провести обмен, потом поставить на регистрацию данный документ, то все пройдет как надо, т.к. договор уже будет в базе применике
#12
by Фрэнки
как-то странно, что принимаемый из обмена документ перепроводится. Это же ни фига не РИБ, а какая-то самодеятельность. Зачем такой обмен обзываете РИБ? Хотите мозги людям запудрить?
#13
by Serg_1960
Если мне память не изменяет, то я встречал темы про ошибки обновления платформы 8.3, когда механизм платформы переставал обрабатывать изменения конфигурации...
#16
by Фрэнки
вангую, что он свою собственную загрузку данных из пакета сделал, в которой к объектам не приписывается Загрузка=Истина
#20
by Serg_1960
и РИБ вообще и миграция изменений конфигурации в частности - это внутриплатформенный механизм. Делаешь выгрузку по плану обмена РИБ ==> платформа вписывает зарегистрированное изменение конфигурации перед записью данных.
#22
by Фрэнки
об том и речь, что он "ПРОГРАММНО" записал файл обмена. Не может платформа вписать изменение в формируемый пакет, т.к. не используется механизм платформы, реализованный во время вызова предопределенных процедур из модуля плана обмена.
#24
by Serg_1960
Ооо... действительно "программно" - это ключевое слово темы :) Тут всяко может быть. Безграничный простор фантазии - от разумного до премии Дарвина :))
#25
by tixis
пока программно ничего не записывается, это только в процессе реализации, пока работают стандартные механизмы РИБ
#27
by tixis
это из модуля ПроцедурыОбменаДанными, на сколько я вижу, здесь ничего не комментровалось и не изменялось, работает стандартный механизм
#30
by Serg_1960
В принципе, можно только читать зарегистрированные изменения по плану, а остальное формировать "вручную" как обычный файл XML. Можно даже сформировать любой заголовок, в том числе - якобы от имени плана обмена РИБ. Кстати это дело неподсудное. Я так делал. Когда надо было передать данные любой ценой, а обмен блокировало по ошибкам типа "конфигурация не соответствует ожидаемой". Или когда возникала необходимость залить данные из архива с устаревшей конфигурацией...
#33
by Фрэнки
я стараюсь разделять обмены на системную часть (РИБ и самые нужные общие данные) и обмены по подсистемам, которые не имеют флага РИБ. На стороне получателя в перифрийной базе стоит опрос каталога на появление файла. Таким образом, если конфиг по РИБ прилетит, то его тоже обработает.
#34
by Serg_1960
, фишка в том, что имея типовой функционал - при обмена данным невозможно нарваться на ошибки проведения - во время РИБ-обмена документы не проводятся. Максимум отложенное проведение. Но и оно после обмена. Смотри свои изменения в конфигурации, проверяй подписки, регламентные и фоновые.
#36
by tixis
такие ошибки появились после конвертации на 8.3, раньше все штатно работало, решили перейти на лицензию и тут вылезли косяки
#38
by tixis
Сейчас проверил в самом документе, действительно не у всех прилетевших документов флаг ОбменДанными.загрзука установлен. У каких то есть, у каких то нет.
#39
by Serg_1960
Забудь про платформу, забудь про алгоритмы самого обмена - имхо, это всё не то, это всё не там. Почему во время обмена вдруг возникает перепроведение расходного кассового ордера? Так не должно быть. Вот в чём ключевой вопрос.
#40
by Serg_1960
Кстати, а проверка платформы была сделана после обновления платформы? Ну, та которая "Конфигурация" - "Проверка конфигурации...".
#42
by tixis
проверка была после, ничего криминального нет, есть неиспользуемые функции (ну проверка выдавала что типа не обнаружено ссылок на функция или процедуру такую то)
#43
by Serg_1960
А эти документы, те которые без флага обмена, - они точно с обменом прилетают, они точно в обмене есть? Может быть (не исключено) проведение кассового ордера "порождает" другой документ в обмене?
#45
by tixis
в самом плане обмена, есть процедура Процедура ПриПолученииДанныхОтГлавного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад), в нее уже прилетает ЭлементДанных.ОбмеДнными.Загрузка = Ложь; по поводу, почему проводятся документы, в этой же процедуре это все прописано, если тип документ такой то, тогда режимЗаписи.Провдение. хз зачем так сделано, но делалось это судя по комментариям 01.03.2013
#46
by Фрэнки
ну вот это ЭлементДанных.ОбмеДанными.Загрузка = Ложь; и врубает проверку всех реквизитов в процедурах, где обычно указано Если ОбмеДанными.Загрузка = Истина Тогда Возврат; КонецЕсли;
#48
by Serg_1960
"тогда РежимЗаписи.Проведение" - бинго :) Сравни на всякий случай с конфигурацией поставщика на предмет типового функционала.
#49
by tixis
А как быть с документами. которые реально надо проводить? Ест в этой процедуре переопределение документа, т.е. прилетает реализация, если это реализация для данного филиала, то вместо реализации создается поступление и его надо провести. В этом документе может пристуствовать новая номенклатура, которая была только что создана, и вместо нее будет объект не найден и документ не проведется. Видать все таки придется программно формировать самому файл выгрузки
#50
by Фрэнки
как быть, как быть... я писал выше - отделяйте котлеты от мух. Изменение конфигурации делать по одному плану обмена, а обмен, сопровождающийся конвертацией данных - по другому. Соответственно, либо при выгрузке (имхо, при выгрузке это проще сделать) сложить все объекты в файл обмена, либо при загрузке. Как адекватно сделать при загрузке даже затрудняюсь придумать.
#51
by Фрэнки
все объекты в начале выгрузки выбрать в список и отсортировать в нужной последовательности, т.е. назначить при первом проходе очередность записи в файл, затем повторно пробежать по этому же списку и сложить все в файл.
#52
by Serg_1960
"А как быть с документами. которые реально надо проводить?" - изучить и творчески :) применить типовой функционал "отложенное проведение" (допроведение). Погугли.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Обмен данными. Как настроить обмен между базами с разными метаданными?
- 1С 8.1 УПП Обмен данными по 1С. ? - Обмен возможен только на одном ПК.
- Добавить в обмен РИБ, обмен по электронной почте. на основе ст "УРБД на v8 за 4 шага"
- обмен БУХ - УТ. Обмен ОбменУправлениеТорговлейБухгалтерия
- Как передать изменения в конфигурации, если обмен не РИБ, а универсальный XML?
- УТ10. Обмен между разными базами через РИБ со снятием галочки "РИБ"
- COM - обмен через Универсальный обмен данными
- Обмен с помощью плана обмена и правил обмена.
- Обмен РИБ УТ 11 не идет обмен записи
- обмен РИБ: приоритет узлов вносящих изменения
- Не правильный происходит обмен документов (Обмен РИБ в УТ 10.3)
- Обмен данными КД2: Как записать данные в протокол обмена?
В этой группе 1С
- автоподбор 8.3
- Значок для внешних отчетов 1с изменился после установки фотошопа
- УТ11 Запрос по периодам
- Куда делся Тимур Шамиладзе?
- Учет затрат по госконтракту. УПП.
- "не определен каталог для размещения получаемых файлов" Ubuntu 16.04
- ККТ с передачей данных ФФД 1.0.5
- УПП: большие суммы в проводке отчета производства за смену по БУ
- Недопустимое значение параметра (параметр номер '1') в типовой Бухгалтерии 3
- УТ 11.3 - помогите с рлс
- Как узнать кто качает файл по сети в терминале?
- Получение цен из Регистра Сведений с отбором
- УТ11.3.4 Округление после автомат. скидок
- Атол 30Ф - ККТ с передачей данных
- БП 3 Ошибка при работе с сервисом (вэб клиент)
- Штрих-М + 1С после перепрошивки
- Передаю таблицу по com соединению, используя сериализацию. Как получить таблицу назад
- Можно ли в пионе (sklearn) сохранить результат обучения модели?
- v7: Хранение картинок, непосредственно в БД 1с 77
- УТ11 Адресный классификатор