Имя: Пароль:
1C
1С v8
КД2 табличная часть в регистр накопления
0 krasnodar95
 
15.05.13
11:31
Есть 2 самописные конфы. В первой (источник) есть документ "ПоступлениеТоваров" у него есть табличная часть с реквизитами Номенклатура(Ссылка) и Количество(Число). Во второй (приемник) конфе есть тоже документ "ПоступлениеТоваров" но у него используется реквизит "Движения" который связан с регистром накопления "ОстаткиТоваров"(Измерение Номенклатура, Ресурс Количество).
   Пишу обмен на КД2.
1)Создал ПКО "ОстаткиТоваров" с пустым источником, а Приемник док. "ПоступлениеТоваров".
   1.1)ПКГС с пустым источником, приемник "ОстаткиТоваров"
   1.1.1)ПКС Пустой источник, приемник "Номенклатура"
   1.1.2)ПКС Пустой источник, приемник "Количество"
2)Для номенклатуры тоже создал ПКО
Затем создал ПВД, в нем указал правила "ОстаткиТоваров", Объект выборки пустой, Способ выборки Произвольный алгоритм.

Вот это я поместил в обработчик ПВД "Перед обработкой":

ВыборкаДанных=Новый ТаблицаЗначений;
ВыборкаДанных.Колонки.Добавить("Дата");
ВыборкаДанных.Колонки.Добавить("ОстаткиТовара");

Стр=ВыборкаДанных.Добавить();
Стр.Дата=ТекущаяДата();
Стр.ОстаткиТовара=Новый ТаблицаЗначений;

ОстаткиТовара=Стр.ОстаткиТовара;

ОстаткиТовара.Колонки.Добавить("Активность");
ОстаткиТовара.Колонки.Добавить("Номенклатура");
ОстаткиТовара.Колонки.Добавить("Количество");
ОстаткиТовара.Колонки.Добавить("ВидДвижения");
ОстаткиТовара.Колонки.Добавить("Период");
//ОстаткиТовара.Колонки.Добавить("Регистратор");

Запрос = Новый Запрос;
Запрос.Текст =
   "ВЫБРАТЬ
   |    ПоступлениеТоваровТовары.Номенклатура,
   |    ПоступлениеТоваровТовары.Количество,
   |    ПоступлениеТоваровТовары.Ссылка.Дата КАК Период
   //|    ПоступлениеТоваровТовары.Ссылка КАК Регистратор
   |ИЗ
   |    Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары";

Результат = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = Результат.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
   НовСтр=ОстаткиТовара.Добавить();
   НовСтр.Номенклатура=ВыборкаДетальныеЗаписи.Номенклатура;
   НовСтр.Количество=ВыборкаДетальныеЗаписи.Количество;
   НовСтр.Период=ВыборкаДетальныеЗаписи.Период;
   //НовСтр.Регистратор=ВыборкаДетальныеЗаписи.Регистратор;
   НовСтр.Активность=Истина;
   НовСтр.ВидДвижения=ВидДвиженияНакопления.Приход;    
КонецЦикла;

ВОПРОС: При загрузке в приемник создается новый документ и объекты в справочнике номенклатура, а движений документ не делает(таблица движений пустая) что я делаю не так?
1 cw014
 
15.05.13
11:32
Во второй (приемник) конфе есть тоже документ "ПоступлениеТоваров" но у него используется реквизит "Движения" который связан с регистром накопления "ОстаткиТоваров"


Я бы когда такое увидел бы - сразу бы написал заявление об увольнении по собственному желанию без объяснения причин
2 krasnodar95
 
15.05.13
11:35
(1) Хотя мне было бы полезнее если бы вы объяснили. Что не так?
3 vicof
 
15.05.13
11:37
(2) Чем не устраивает переносить строки в ТЧ поступления товаров?
4 Defender aka LINN
 
15.05.13
11:38
(0) А какая религия помешала сделать ПКГС, где источник - таб. часть, а приемник - набор записей?
5 krasnodar95
 
15.05.13
11:40
(3) В базе-приемнике у документа нет ТЧ, у него на форму выведен реквизит Движения.ОстаткиТовара
6 vicof
 
15.05.13
11:41
(5) тады (4)
7 krasnodar95
 
15.05.13
11:46
(6) (4) Тогда в обработчике ПВД мне ниче писать не надо?
8 Зойч
 
15.05.13
11:47
кд умеет движения переносить как обычные тч. выгружай конфы только правильно
9 vicof
 
15.05.13
11:47
(7) Не надо, кто знает, какая у тебя там структура метаданных
10 krasnodar95
 
15.05.13
11:59
Так, попробовал как вы говорите, документ загрузился в приемник, но движений все равно не произвел, я думал что это изза того что я не указал регистратор. Написал Значение=Источник. Никакого эффекта. Где я снова накосячил?
11 krasnodar95
 
15.05.13
12:06
(10) А именно: Создал ПКО номенклатура и ПКО Поступление товаров, в нем ПКСы шапки документа(Дата, Номер), ПКГС ТЧ>Набор движений, в нем ПКСы(количество, номенклатура, регистратор значение=источник,период значение=источник.дата, активность=истина, ВидДвиежения Значение="Приход"), И ПВД, без всяких обработчиков
12 vicof
 
15.05.13
12:10
Регистратор должен быть из базы-приемника.
При загрузке пробегайся по набору записей и проставляй свой регистратор.
13 krasnodar95
 
15.05.13
12:59
(12) Ага, общий смысл ясен. Напиши пожалуйста подробнее каким образом пробегаться, это надо прописать где-то в обработчике? Я просто плохо знаю КД
14 lapinio
 
15.05.13
13:33
В обработке после загрузки
Объект.Движения.[Имя регистра].Записывать = Истина;
15 krasnodar95
 
15.05.13
13:35
(14) А, регистратор сам присвоится набору записей?
16 lapinio
 
15.05.13
13:36
Регистратор автоматом ставится в таблицах движения и ни из базы приемника, а этого дока (12)
17 lapinio
 
15.05.13
13:37
Да (14)
18 lapinio
 
15.05.13
13:37
В да таблице движения автоматом ставиться регистратор.
19 krasnodar95
 
15.05.13
13:39
(17) Афигеть, заработало!!! Так проблема в том что по умолчанию Записывать=ЛОЖЬ?
20 lapinio
 
15.05.13
13:39
Вместо ПКГС использовал бы лучше правила выгрузки  с произвольным алгоритмом
21 krasnodar95
 
15.05.13
13:41
(20) Так я в начале написал именно с произвольным алгоритмом (0), мне посоветовали ПКГС. А в чем преимущество?
22 lapinio
 
15.05.13
13:41
Да у дока по умолчанию стоит записывать тока выбранные. Из за этого надо флаг зводить. Можно было в свойствах дока поставить записывать модифицированные. И не париться
23 lapinio
 
15.05.13
13:42
1)Быстрее выгружается.
2)Не надо поля с друг с другом сопоставлять.
24 lapinio
 
15.05.13
13:43
И без цикла  просто запрос и все
25 lapinio
 
15.05.13
13:44
ВыборкаДанных = Новый Запрос итд и все!
26 krasnodar95
 
15.05.13
13:45
(24) От души. Я думал ваще утону в этой КД. А че по ней почитать можно? Я скачал Бояркина, там очень сухо и примеров мало, а разобраться хочется.
27 lapinio
 
15.05.13
13:48
Я типовые правила обмена разбирал и справка. Сам искал книгу и не нашел нормальную.
28 krasnodar95
 
15.05.13
13:52
(27) А как до них добраться, Конфигуратор->ПланыОбмена->"НазваниеПланаОбмена"->МодульОбъекта, правильно?
29 lapinio
 
15.05.13
14:16
Планы обмена макеты- правила обмена
30 krasnodar95
 
15.05.13
14:26
(29) Еще такой вопрос. Если я буду переносить из БП77 документ бух справка в БП82 документ ОперацияБух, как мне быть в этом случае?
31 krasnodar95
 
15.05.13
14:29
(30) Ну тоесть сам документ легко переносится с незаполненной ТЧ, а как мне сделать движения регистра бухгалтерии?
32 krasnodar95
 
15.05.13
14:40
Если точнее, Что в данном случае будет приемником?
33 krasnodar95
 
16.05.13
08:16
Ребята, помогите, очень надо!
34 cw014
 
16.05.13
08:34
(33) тебе уже все объяснили тут. Если все таки не доходит - кидай правила на почту - покажу наглядно
35 krasnodar95
 
16.05.13
08:45
(34) Не, как перенести ТЧ 82 в регистрСведений 82 я уже понял, а теперь мне надо из БП77 ТЧ (БухгалтерскаяСправка) в БП82 регистр бухгалтерии(ОперацияБух). Я сделал ПКО БухСправка>ОперацияБух, а когда начал делать (4) оказалось что в приемнике вообще отсутствует реквизит движения.Хозрасчетный, ну то есть он присутствует в конфигураторе, а в КД не отображается и поэтому я не могу сделать ПКГС приемника.
36 cw014
 
16.05.13
09:02
(35) Потому что наверное метаданные из восьмерки грузил с галкой "не выгружать движения документа"
37 krasnodar95
 
16.05.13
09:04
Щас проверю (36)
38 krasnodar95
 
16.05.13
09:13
(36) Да, так и есть)) сейчас все движения видны, спасибо большое!
39 cw014
 
16.05.13
09:14
(38) Спасибо много, ну как всегда...
40 krasnodar95
 
16.05.13
11:28
Проблема за проблемой) Теперь операции нормально переносятся счета подставляются, а вот с субконто я ниче не могу придумать, во первых в 77 док. БухСправка есть субконто 1,2 и 3, а в 82 док. БухОперация есть только 1 реквизит субконто. А во вторых субконто у каждого счета разного типа как тут быть?
41 krasnodar95
 
16.05.13
14:14
(40) А может там надо сформировать таблицу значений, и записать туда субконто?
42 krasnodar95
 
16.05.13
14:22
Люди!!!
43 Alex S D
 
16.05.13
14:25
читай Бояркина. Там это разжевано
44 krasnodar95
 
16.05.13
14:38
(43) Опять Бояркин, там же ниче не понятно.
45 Alex S D
 
16.05.13
14:39
понятно
46 krasnodar95
 
16.05.13
14:40
(45) Вопросов нет)
Независимо от того, куда вы едете — это в гору и против ветра!