|
|
|
Конвертация данных из 7.7 в 8.1 создает всего один документ | ☑ | ||
|---|---|---|---|---|
|
0
Zhora_Vlg
24.06.09
✎
13:22
|
Выгружаю остатки номенклатуры из самописной 7.7 в УПП, через документ поступление товаров и услуг.
В ПВД с произвольным алгоритмом выборки перед выгрузкой пишу ВыборкаДанных = СоздатьОбъект("ТаблицаЗначений"); ВыборкаДанных.НоваяКолонка("Дата"); ВыборкаДанных.НоваяКолонка("СкладОрдер"); ВыборкаДанных.НоваяКолонка("Товары"); Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(ВидыСубконто.Подразделения,, 1); Ит.ИспользоватьСубконто(ВидыСубконто.Номенклатура, Параметры.Родитель, 1); Ит.ВыполнитьЗапрос(, ДатаОкончания, "41.1",,, 1,, "СК"); Ит.ВыбратьСубконто(ВидыСубконто.Подразделения); Пока Ит.ПолучитьСубконто(ВидыСубконто.Подразделения) = 1 Цикл ВыборкаДанных.НоваяСтрока(); ВыборкаДанных.Дата = ДатаОкончания; ВыборкаДанных.СкладОрдер = Ит.Субконто(ВидыСубконто.Подразделения); ВыборкаДанных.Товары = СоздатьОбъект("ТаблицаЗначений"); ТабТовары = ВыборкаДанных.Товары; ТабТовары.НоваяКолонка("Количество"); ТабТовары.НоваяКолонка("Номенклатура"); ТабТовары.НоваяКолонка("Сумма"); Ит.ВыбратьСубконто(ВидыСубконто.Номенклатура); Пока Ит.ПолучитьСубконто(ВидыСубконто.Номенклатура) = 1 Цикл ТабТовары.НоваяСтрока(); ТабТовары.Номенклатура = Ит.Субконто(ВидыСубконто.Номенклатура); ТабТовары.Количество = Ит.СКД("К"); ТабТовары.Сумма = Ит.СКД("С"); КонецЦикла; КонецЦикла; В результате получается всего один документ, с первым подразделением(складом). В отладчике смотрел ВыборкаДанных содержит данные обо всех складах. При установке в ПКО галки "Не запоминать выгруженные" работает нормально. Кто знает почему так? |
|||
|
1
Wehrmacht
24.06.09
✎
13:27
|
Навскидку, надо задать уникальный ключ для каждой выборки (не помню, как параметр называется точно, в хелпе должен быть прописан). Если стоит галка "Не запоминать выгруженные", то он выгружает объект, несмотря на то, что по данному ключу выгрузка уже происходила.
|
|||
|
2
mista2009
24.06.09
✎
13:29
|
Когда "Запоминаем выгруженные", т.е. галки нет, системе надо каким то образом для запоминания идентифицировать объект: по коду, по ГУИДу и т.д. В твоём случае код у всех объектов одинаковый.
|
|||
|
3
Zhora_Vlg
24.06.09
✎
14:18
|
По коду обработки
КлючВыгружаемыхДанных = ЗначениеВСтрокуВнутр(Источник); где "Источник" это строка таблицы значений "ВыборкаДанных". Как сделать чтобы "КлючВыгружаемыхДанных", для каждой строки был разный? |
|||
|
4
Zhora_Vlg
24.06.09
✎
14:24
|
В отладчике мой ключ такой:
КлючВыгружаемыхДанных = "{"VT","1",{"0",{{"","0","0","0","","2"}, {"Дата","Дата","1","0","0",{"U","0","0","0","0","0"},"","0", { {"D","0","0","0","0","0"," "}, {"D","0","0","0","0","0"," "}, {"D","0","0","0","0","0"," "}, {"D","0","0","0","0","0"," "}" |
|||
|
5
Defender aka LINN
24.06.09
✎
14:25
|
(3) Источник - это не строка а ТЗ.
Поставь галку и не парься. |
|||
|
6
Zhora_Vlg
24.06.09
✎
14:27
|
(5)У меня огромный объем данных, остатки по 8 складам примерно по 50000 позиций.
Без галки система не загнется? |
|||
|
7
GenV
24.06.09
✎
14:31
|
(6) Можно выгружать частями, если будут проблемы. Если не получиться, то можно попробывать формировать КлючВыгружаемыхДанных как строку в ПередВыгрузкой в ПКО документа. Типа
КлючВыгружаемыхДанных = Строка(Источник.СкладОрдер)+Источник.Дата или т.п. Тогда должен идентифицироваться правильно, т.к. для каждого документа будет уникальным. |
|||
|
8
mista2009
24.06.09
✎
14:34
|
Попробуй код генерить
..... Сч=1; Ит.ВыбратьСубконто(ВидыСубконто.Подразделения); Пока Ит.ПолучитьСубконто(ВидыСубконто.Подразделения) = 1 Цикл ВыборкаДанных.НоваяСтрока(); ВыборкаДанных.Дата = ДатаОкончания; ВыборкаДанных.СкладОрдер = Ит.Субконто(ВидыСубконто.Подразделения); ВыборкаДанных.Товары = СоздатьОбъект("ТаблицаЗначений"); ТабТовары = ВыборкаДанных.Товары; ТабТовары.НоваяКолонка("Количество"); ТабТовары.НоваяКолонка("Номенклатура"); ТабТовары.НоваяКолонка("Сумма"); Ит.ВыбратьСубконто(ВидыСубконто.Номенклатура); Пока Ит.ПолучитьСубконто(ВидыСубконто.Номенклатура) = 1 Цикл ТабТовары.НоваяСтрока(); ТабТовары.Номенклатура = Ит.Субконто(ВидыСубконто.Номенклатура); ТабТовары.Количество = Ит.СКД("К"); ТабТовары.Сумма = Ит.СКД("С"); ТабТовары.Код=Сч; Сч=Сч+1; КонецЦикла; КонецЦикла; ..... |
|||
|
9
Zhora_Vlg
24.06.09
✎
14:37
|
(8)Не пойму какой в этом смысл.
|
|||
|
10
Zhora_Vlg
24.06.09
✎
14:47
|
(7) Все верно. КлючВыгружаемыхДанных можно формировать в ПКО перед выгрузкой.
И с галкой тоже все нормально. Я сначала подумал что он и Номенклатуру запоминать не будет, потом догнал что это совсем другое ПКО. Всем спасибо. |
|||
|
11
Zhora_Vlg
24.06.09
✎
14:50
|
(7) Все верно. КлючВыгружаемыхДанных можно формировать в ПКО перед выгрузкой.
(5)И с галкой тоже все нормально. Я сначала подумал что он и Номенклатуру запоминать не будет, потом догнал что это совсем другое ПКО. Всем спасибо. |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |