#0
by almyaev
Добрый день! Подскажите как выполнить конвертацию: Источник: документ с табличной частью; Приемник: документ и регистр сведений, у которого измерением является ссылка на документ, отстальные измерения соответствуют реквизитам ТЧ источника. ПКО Документ->Документ сделал. А вот как перегнать ТЧ в регистр сведений, и ещё сослаться на документ никак не пойму.
#1
by agarych
1. В базе приемнике при проведении документа делаешь движения по нужному РС. 2. В ПКО после записи делаешь движения по РС. 3. В ПВД для данного документа табличную часть выгружаешь в таблицу значений, записываешь ее в ИсходящиеДанные и вызываешь ВыгрузитьПоПравилу("ВыгрузкаРС",,ИсходящиеДанные) (по поводу синтаксиса не уверен под рукой книжки нет) Имхо самый правильный вариант это №2. Так как в №1 нужно дорабатывать конфигурацию, что может быть нельзя делать. в №3 если у тебя будет выгружаться этот документ по ссылкам, то у тебя не будет выполняться процедуры ПВД для данного документа.
#2
by almyaev
Да, конфу приемник изменять не могу. Я не понял во что мне выгрузить ТЧ, чтобы иметь к этим данным доступ со стороны получателя на обработчиках. "В ПВД для данного документа табличную часть выгружаешь в таблицу значений, записываешь ее в ИсходящиеДанные." А таблица значений нормально выгрузиться и перетащится? На каком событии её потом ловить? В ПКО ПослеЗагрузки не нашел подобного параметра.
#3
by agarych
Ты меня не правильно понял, это три варианта. Вопрос: в базе приемнике у документа есть табличная часть или нет? Если есть, то ты просто передаешь табличную часть и по этой ТЧ делаешь движения. Но скорее всего у тебя у документа нет ТЧ. Тогда выбираем пункт №3. Я буду писать тебе псевдокод, я думаю разберешься. у тебя должно быть два ПКО: 1. ПКО для документа 2. ПКО для РС, у которого все реквизиты имеют флажок "Получать из входящих данных" ПВД для документа, ПередВыгрузкой: Вообщем как то так...
#4
by almyaev
Понял, спасибо! Я уже примерно так и сделал, только в ПВД заполнял не ИсходящиеДанные а создовал отдельную структуру и её выгружал. Примерно так: Это имеет принципиальное значение или нет?
#5
by agarych
В данном случае нет, но если бы у тебя было ПКО, у которого есть свойства с флажком "Получать из входящих данных", то ИсходящиеДанные нужны.
#7
by almyaev
Опять проблема, никак не могу побороть, помогите! Таже самая ситуация, переношу данные в РегистрСведений, подчиненный регистратору!!! Всегда переносится только последяя запись, хотя обработчик "ПередЗагрузкой" ПКО вызывается столько раз, сколько строчек в ТЧ. В файле данных на несколько строчек, а грузится только последняя. Думаю проблема в реквизите "НомерСтроки", но незнаю как его заполнить.
#8
by bvn13
проблема в том, что каждая твоя новая запись обнуляет регистр сведений, т.к. нет привязки отбора НабораЗаписей к регистратору
#9
by almyaev
Какже нет привязки к регистратору, есть, см . Есть привязка к регистратору, только думаю что все строчки вставляются с НомерСтроки = 1, поэтому и перетираются. Проставить НомерСтроки нельзя, он только для чтения. Что делать?
#10
by fisher
У меня аналогичная проблема. А что, если без отбора по регистратору пытаться писать в РС, очищаются все записи по регистратору, даже не попадающие в отбор по измерениям? Странно как-то... Речь, насколько я понял, о том как сама КД осуществляет запись набора записей. Номер строки тут не причем стопудов.
#11
by fisher
Нашел в обработке загрузки КД место, где грузятся наборы записей РС. Там единообразно устанавливается отбор по доступным элементам отбора. Без анализа того, какой РС имеет вид - с подчинением или нет. Т.е. КД не умеет корректно писать регистры сведений, подчиненных регистратору. Вернее, через тип объекта-приемника "РегистрСведенийЗапись" можно только одну запись по регистратору сделать. При загрузке данных объекта этого типа в случае РС подчиненного регистратору, каждый раз устанавливается отбор по регистратору (без вычитывания существующих данных) в результате чего все уже существующие записи этого регистратора очищаются. Т.е. по регистратору остается только последняя сделанная запись, что мы и видим. Увы и ах.
#12
by almyaev
Пипец, блин!!! А есть какой-нибудь способ передать таблицу значений, а на приемнике её обработать?
#15
by bvn13
имею в виду (не знаю, как звать) в нижнем окошке нажать не "Создать ПКС", а "Создать группу", наверное, это и есть ПКГС...
#17
by almyaev
И как мне обработать ПКГС на приёмнике, если у меня там нет такой табличной части. ПКГС нельзя передать в параметр. Если для каждого реквизита ТЧ указываю выгружать в параметр, то они не выгружаются (видимо по тому что нет приёмника у ПКГС табличной части)
#18
by Живой Ископаемый
2 Я не вникал в то что тебе нужно, и всю тему тоже не читал, Но вот какая штука - например с помощью ПКГС я переносил из в77 в в8 проводки документа (у документа нет ТЧ с таким именем, но тем не менее), и я формировал в общем-то программно - в смысле как бы саму виртуальную ТЧ в в77...
#19
by almyaev
В я ошибся, стояла галка "Отключить". Я создал ПКГС, поле "Приемник" ПКГС пусто. Для всех реквизитов ТЧ указал "Передавать данные в параметр" и указал имена параметров. В итоге при выгрузке ошибка "Поле объекта не обнаружено (Сумма)". Правильно ли я формирую виртуальную ТЧ?
#20
by Живой Ископаемый
2 не знаю, лень вникать.. :) а так чтобы слёту вникнуть - наверное еще опыта мало...
#21
by fisher
Не, произвольную таблицу через ПКГС не передашь. Это просто инструмент обработки списковых данных объектов при выгрузке. При загрузке их как таковых уже не существует. Можно добавлять произвольные данные в файл выгрузки и вычитывать их в событиях после загрузки. Но таблицу, да еще если надо её элементы конвертировать по правилам... Проще КД напильником доработать. Или двигать регистр при проведении загружаемых документов.
#22
by fisher
Тем более, что в ты написал, что все нужные данные так или иначе загоняются в табличную часть дока. Можно в "После загрузки" дока тупо писать нужный набор записей по данным из табличной части. Но проще при проведении. Ведь так или иначе при проведении этот регистр двигается. Разве нет?
#23
by Aprobator
ну дык - вроде неясно куда сумму выгружать (или откуда загружать). Судя по описанию ошибки.
#24
by agarych
посмотри, когда делаешь синхронизацию свойств у документа, там случаем нет данного РС, у которого он является регистратором?
#25
by agarych
не знаю как РС, но наборы записей регистров накопления (сформированные на стороне источника) грузит на ура... щас поищу код, но сразу предупреждаю я не знаю как там с РС, но с регистрами накопления была таже самая проблема что и в .
#26
by fisher
Кстати да. Если выгружать структуру метаданных приёмника вместе с движениями (убрать галку "Не выгружать движения документов"), то по идее появится возможность штатно выгружать РС подчиненные регистратору через ПКГС документа-регистратора. У себя не пробовал, т.к. в этом режиме чертовски долго лопатит...
#28
by agarych
Короче, стоп... )))) прав, и ты всего в полшаге от правильно решаения. 1. Ты уже создал ПГКС 2. Ты посмтавил флажки у каждого свойста - это делать не надо, оставь только у самой GURC 3. изменяем твой код из
#29
by almyaev
Ты посмтавил флажки у каждого свойста - это делать не надо, оставь только у самой GURC Это речь про какой флажок?
#30
by agarych
Это про это "Если для каждого реквизита ТЧ указываю выгружать в параметр, то они не выгружаются (видимо по тому что нет приёмника у ПКГС табличной части)".
#31
by almyaev
У ПКГС нет галки "Передавать данные в параметр" Так не выйдет! Ты хочешь чтобы в ПКО которое вставляет данные в РС я создал ПКГС. Там нет ТЧ, поэтому и не смогу создать ПКГС. (ух скоко абривеатур, но надеюсь понимаете меня).
#33
by almyaev
Для ясности, ещё разок объясню задачу. Источник: ДокИст - документ с табличной частью Приёмник: СпрПрием - справочник без ТЧ, реквизиты соответствуют реквизитам ДокИст; ДокРегистр - документ, ссылается реквизитом на СпрПрием; РегСвед - регистристр сведений, подчиненный регистратору ДокРегистр, Измерения соответствуют реквизитам ТЧ ДокИст и измерение СпрПрием
#34
by almyaev
Как сейчас реализовано: ПКО ДокИст->СпрПрием (перегоняются реквизиты, только для него есть ПВД) ПКО ДокИст->ДокРегистр ПКО "пусто"->РегСвед сдесь все измерения беруться из входящих данных ПВД ДокИст->СпрПрием "ПередВыгрузкой" написано Дак вот теперь про решение : в "пусто"->РегСвед я не могу завести ПКГС, тк нечего указать в Приёмнике
#35
by Живой Ископаемый
Все, я понял, Нужно два правила.. Один для документа, другой для ТЧ-набор записей РС...
#36
by Живой Ископаемый
"Дак вот теперь про решение : в "пусто"->РегСвед я не могу завести ПКГС, тк нечего указать в Приёмнике" Просто это правило тебе нужно вызывать не просто так, а подготовив ему входящие данные
#37
by almyaev
Входящие данные - это замена источника, а в поле приемник что указать? Нечего. В написано Структура.Вставить("ИмяТвоейПГКС", ТаблицаДанных); Дак вот "ИмяТвоейПГКС" и должно быть имя приемника, а его нет...
#41
by almyaev
Через движения получилось, спасибо за помошь!! Но я так и не понял можно ли передать произвольную таблицу значений в приемник, чтобы её там обработать?
#42
by fisher
Как получилось-то? Не совсем понял. При проведении движения сделать? А данные откуда берешь? Если ТЧ такой в приемнике нет... Произвольную таблицу значений, как я понимаю, в приемник не передашь. Разве что геморным путем собственноручно пакуя её в XML (в обработчиках можно работать напрямую с файлом выгрузки) и распаковывая на стороне приёмника.
#43
by almyaev
Получилось так: перевыгрузил метаданные пиёмника с движениями и создал в ПКО ДокИст->ДокРегистр ПКГС "ТЧ->Набор движений регистра сведений". Оказалось все очень просто.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Конвертация справочников из 77 в УПП 80? Конфа конвертация данных 2.0. КАК7
- Конвертация данных - конвертация реквизитов дока.
- Конвертация Значений. (Конвертация данных 2.0)
- Конвертация данных 2, V8.1, конвертация периодических реквизитов
- Конвертация данных. Конвертация двух реквизитов в один.
- Какой регистр сведений лучше? Регистр с одними ресурсами или с одними измерениями?
- Что выбрать: регистр накопления или регистр сведений?
- Конвертация Данных. конвертация одного реквизита в другой
- Конертация кд2 независимый регистр сведений в независиый рег сведений
- Конвертация данных - из справочника в регистр сведений
- Конвертация данных. Не выгружается независимый регистр сведений.
В этой группе 1С
- Отражение оплаты картой в фискальном регистраторе штрих фр-к
- Удаленное подключение к ПК с базой 1С
- В ЗуП не начисляет вычеты для работника отратавшего 2 дня
- Зачем windows 7 при установке создает дополнительный раздел
- Как измерить активное и реактивное сопротивление генератора ? (поправил)
- ЗУП, почему то не видит вычеты НДФЛ на людей
- Развернуть/восстановить окно программно
- Отчет о розничных продажах не совпадает с Z-отчетом
- Как запретить создание документа на основании?
- Перенос затрат
- v7: ЗиК не вычитаются стандартные налоговые вычеты.
- v8: Зарплата. Перенос данных из Камин 2 в Камин 3
- Вывод степени числа в печатной форме
- v7: Как обновляете сильно нетиповые?
- Округление в УТ. Проблема: "3 единицы продукции за 10 рублей"
- Как открыть (запустить) обработку с параметрами?
- v7: Увеличение стоимости ОС
- hyper_pi_0.99 и Win 7 x64
- SQLite как проверить есть ли таблица
- OFF: Посоветуйте беспроводной интернет в Москве для удаленной работы.