|
КД2 перенести данные из док-ов в регистр накопления | ☑ | ||
---|---|---|---|---|
0
Альбатрос
26.12.12
✎
06:10
|
Всем привет! Нужно перенести из 7.7 в 8.2. реквизиты и тч документов, записать их в регистр накопления. Тыкните, пожалуйста, примером, где посмотреть можно. Заранее спасибо.
|
|||
1
strange2007
26.12.12
✎
06:19
|
В ПВД в "ПередОбработкой" описываешь таблицу "ВыборкаДанных". Где указываешь каждую запись. Способ выгрузки - произвольный алгоритм
В ПКО указываешь только приемник. В ПКС-х тоже только приемник. Главное перед этим настрой все ПКО, по которым будут конвертиться объекты реквизитов |
|||
2
Гефест
26.12.12
✎
06:20
|
(1) А что, нынче уже можно в регистр накопления без регистратора писать?
|
|||
3
strange2007
26.12.12
✎
06:24
|
(2) Я без тонкостей про регистратор. Там ооочень много тонкостей. Без примера не поймешь вообще
|
|||
4
Альбатрос
26.12.12
✎
06:27
|
(3) Вот вот =) я так понимаю, надо в "корректировку записей регистра" переносить. Забыл указать: из комплексной в ут.
|
|||
5
Альбатрос
26.12.12
✎
06:31
|
Может, на 7.7 сделать отчет по документам печатный, сохранить его, и попробовать корректировку через загрузку из таб. документа... Такая схема проканает?
|
|||
6
strange2007
26.12.12
✎
06:39
|
(5) Ты эту загрузку будешь целый день писать и в случае чего будешь менять со слезами на глазах. В КД все гораздо проще и ровнее
|
|||
7
strange2007
26.12.12
✎
06:41
|
(4) могу выслать готовый блок для ПВД, где описан алгоритм выгрузки в УППшную корректировку. Тебе для рег накоплений пойдет вариант?
|
|||
8
Альбатрос
26.12.12
✎
06:45
|
(7) Конечно! Мне для рег накопления и надо. [email protected]. Спасибо!
|
|||
9
echo77
26.12.12
✎
06:48
|
(5) Можно. Соответствующая обработка на инфостарте есть.
Если не знаешь КД2 и перенос разовый - через обработку проще |
|||
10
strange2007
26.12.12
✎
06:50
|
(8) Ушло. Там для регистра "ДенежныеСредства"
|
|||
11
Альбатрос
26.12.12
✎
07:08
|
(10) Ага, еще раз спасибо, вникаю =)
|
|||
12
dk
26.12.12
✎
07:25
|
дык вроде стандартная ситуация - в самой КД есть пример такого переноса
|
|||
13
strange2007
26.12.12
✎
07:28
|
(12) Там путаница со вложенностями. Оно не сложно, просто запутанно. А с субконтами вообще болото
|
|||
14
Альбатрос
27.12.12
✎
07:40
|
(12) Не подскажете, где этот пример? =)
|
|||
15
dk
27.12.12
✎
08:25
|
(14) http://s59.radikal.ru/i165/1212/38/be3d03d5dc93.png
вроде вместе с демкой КД идут |
|||
16
Капюшон
27.12.12
✎
08:26
|
как вы так ра зобрались с этим.
|
|||
17
Альбатрос
27.12.12
✎
09:29
|
(15) у меня КД 2.1.6.2. Там подобного, к сожалению, не нашел...
|
|||
18
GenV
27.12.12
✎
09:42
|
(17) Это в демо базе - 1Cv8.dt в шалоне. В 2.1.6.2 тоже есть.
|
|||
19
Альбатрос
27.12.12
✎
09:53
|
(18) Отлично!
Спасибо |
|||
20
Альбатрос
27.12.12
✎
12:07
|
Мужики, что то не так... Вот ПВД:
Запрос = СоздатьОбъект("Запрос"); НачДата = '01.01.06'; КонДата = '01.01.07'; ТекстЗапроса = " |Период с НачДата по КонДата; |Обрабатывать НеПомеченныеНаУдаление; |Номенклатура = Документ.ЗаменаМасла.Номенклатура; |Количество = Документ.ЗаменаМасла.Количество; |Сумма = Документ.ЗаменаМасла.Сумма; |Клиент = Документ.ЗаменаМасла.Клиент; |ПродавецИмя = Документ.ЗаменаМасла.Продавец.ФизЛицо.Наименование; |Продавец = Документ.ЗаменаМасла.Продавец.ФизЛицо; |ПродавецКод = Документ.ЗаменаМасла.Продавец.ФизЛицо.Код; |Автомобиль = Документ.ЗаменаМасла.Автомобиль; |Склад = Документ.ЗаменаМасла.Склад; |Код = Документ.ЗаменаМасла.Клиент.Код; |Пробег = Документ.ЗаменаМасла.Пробег; |ДатаДок = Документ.ЗаменаМасла.ДатаДок; |ТекущийДокумент = Документ.ЗаменаМасла.ТекущийДокумент; |Номенклатура1 = Документ.ЗаменаМасла.Номенклатура1; |Группировка Документ; |Группировка Номенклатура; |Группировка Номенклатура1; |Условие(ПустоеЗначение(Клиент)=0); |";//}}ЗАПРОС ИсходящиеДанные = СоздатьОбъект("СписокЗначений"); ИсходящиеДанные.Установить("Номер","00002"); ИсходящиеДанные.Установить("Дата", текущаяДата()); ЗаменаМасла = СоздатьОбъект("ТаблицаЗначений"); ЗаменаМасла.НоваяКолонка("Авто"); ЗаменаМасла.НоваяКолонка("Период"); ЗаменаМасла.НоваяКолонка("ДокРег"); ЗаменаМасла.НоваяКолонка("Количество"); ЗаменаМасла.НоваяКолонка("Комментарий"); ЗаменаМасла.НоваяКолонка("Номенклатура"); ЗаменаМасла.НоваяКолонка("ДатаОперации"); ЗаменаМасла.НоваяКолонка("Пробег"); ЗаменаМасла.НоваяКолонка("Продавец"); ЗаменаМасла.НоваяКолонка("СуммаОперации"); ЗаменаМасла.НоваяКолонка("Хозяин"); ТабИмениРегистра = СоздатьОбъект("ТаблицаЗначений"); ТабИмениРегистра.НоваяКолонка("Имя"); ТабИмениРегистра.НоваяКолонка("Представление"); ТабИмениРегистра.НоваяСтрока(); ТабИмениРегистра.Имя = "ЗаменаМасла"; ТабИмениРегистра.Представление = "Замена масла"; Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Сообщить("Ну пиз**ц"); КонецЕсли; ДатаВыгрузки = ТекущаяДата(); Пока Запрос.Группировка(1) = 1 Цикл Пока Запрос.Группировка(2) = 1 Цикл Пока Запрос.Группировка(3) = 1 Цикл ЗаменаМасла.НоваяСтрока(); ЗаменаМасла.Авто = Запрос.Автомобиль; ЗаменаМасла.Период = ДатаВыгрузки; ЗаменаМасла.ДокРег = ""; ЗаменаМасла.Количество = Запрос.Количество; ЗаменаМасла.Комментарий = ""; ЗаменаМасла.Номенклатура = Запрос.Номенклатура; ЗаменаМасла.ДатаОперации = Запрос.ДатаДок; ЗаменаМасла.Пробег = Запрос.Пробег; ЗаменаМасла.Продавец = Запрос.Продавец; ЗаменаМасла.Хозяин = Запрос.Клиент; ЗаменаМасла.СуммаОперации = Запрос.Сумма; КонецЦикла; КонецЦикла; КонецЦикла; ИсходящиеДанные.Установить("ТаблицаРегистровНакопления", ТабИмениРегистра); ИсходящиеДанные.Установить("ЗаменаМасла", ЗаменаМасла); ВыгрузитьПоПравилу(,, ИсходящиеДанные,, "КорректировкаЗаписейРегистров"); Ошибка при записи док-та: "Период не может быть пустым". Но я ведь явно указываю период = ТекущаяДата(); (!) Почему же он пустой? |
|||
21
Альбатрос
27.12.12
✎
12:09
|
Ошибка записи объекта
ТипОбъекта = Корректировка записей регистров Объект = Корректировка записей регистров 00002 от 27.12.2012 0:00:00 ОписаниеОшибки = Ошибка при вызове метода контекста (Записать): Запись не верна! Период не может быть пустым! (Регистр накопления: Замена масла; Номер строки: 1) ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(4835) КодСообщения = 26 |
|||
22
Альбатрос
27.12.12
✎
12:25
|
Это может быть из-за того, что период.тип = дата и время, а я выгружаю только дату?
|
|||
23
Абыр
27.12.12
✎
12:35
|
Дату самого документа корректировки задал?
|
|||
24
Альбатрос
27.12.12
✎
12:36
|
(23) да
|
|||
25
Альбатрос
27.12.12
✎
12:36
|
ИсходящиеДанные.Установить("Номер","00002");
ИсходящиеДанные.Установить("Дата", текущаяДата()); |
|||
26
GenV
27.12.12
✎
20:17
|
(25) Все свойства для движения документа добавил? Не пропустил свойство "Период"?
|
|||
27
Альбатрос
28.12.12
✎
04:08
|
(26) Да вроде все:
ЗаменаМасла = СоздатьОбъект("ТаблицаЗначений"); ЗаменаМасла.НоваяКолонка("Авто"); ЗаменаМасла.НоваяКолонка("Период"); ЗаменаМасла.НоваяКолонка("ДокРег"); ЗаменаМасла.НоваяКолонка("Количество"); ЗаменаМасла.НоваяКолонка("Комментарий"); ЗаменаМасла.НоваяКолонка("Номенклатура"); ЗаменаМасла.НоваяКолонка("ДатаОперации"); ЗаменаМасла.НоваяКолонка("Пробег"); ЗаменаМасла.НоваяКолонка("Продавец"); ЗаменаМасла.НоваяКолонка("СуммаОперации"); ЗаменаМасла.НоваяКолонка("Хозяин"); ДатаВыгрузки = ТекущаяДата(); Пока Запрос.Группировка(1) = 1 Цикл Пока Запрос.Группировка(2) = 1 Цикл Пока Запрос.Группировка(3) = 1 Цикл ЗаменаМасла.НоваяСтрока(); ЗаменаМасла.Авто = Запрос.Автомобиль; ЗаменаМасла.Период = ДатаВыгрузки; ЗаменаМасла.ДокРег = ""; ЗаменаМасла.Количество = Запрос.Количество; ЗаменаМасла.Комментарий = ""; ЗаменаМасла.Номенклатура = Запрос.Номенклатура; ЗаменаМасла.ДатаОперации = Запрос.ДатаДок; ЗаменаМасла.Пробег = Запрос.Пробег; ЗаменаМасла.Продавец = Запрос.Продавец; ЗаменаМасла.Хозяин = Запрос.Клиент; ЗаменаМасла.СуммаОперации = Запрос.Сумма; КонецЦикла; КонецЦикла; КонецЦикла; ИсходящиеДанные.Установить("ЗаменаМасла", ЗаменаМасла); |
|||
28
Альбатрос
28.12.12
✎
04:52
|
Блин, открыл хмл, а там все значения таблицы регистра накопления "ЗаменаМасла" пустые... Что не так то?
|
|||
29
Альбатрос
28.12.12
✎
05:11
|
Разобрался. Оказывается, галочку "получить из входящих данных" надо было указать только для набора движений в целом, а не для каждого реквизита из этого набора =)
Всем еще раз огромное спасибо, перенос работает на ура! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |