|
Конвертация.Перенос из запроса в реквизит таб. части. | ☑ | ||
---|---|---|---|---|
0
servicenn
02.11.16
✎
20:01
|
День добрый, может кто сталкивался. Переносится документ реализация в бухгалтерию 3.0 . Нужно перенести себестоимость чтобы она попала в колонку СебестоимостьПриемник табличной части реализации в приёмнике. В источнике себестоимость определяется запросом . Как лучше сделать? Может вариант через параметр?
|
|||
1
Aleksey
02.11.16
✎
20:05
|
Зачем? в ПГКС переназначь Коллекцию
|
|||
2
Aleksey
02.11.16
✎
20:07
|
*ПКГС, т.е. стань на папочку товары и там в перед обработкой заполни КоллекцияОбъектов
КоллекцияОбъектов - Неопределено. Если в теле обработчика определить коллекцию (присвоив данной переменной значение, например, описывающее табличную часть или набор движений, например, типа ТаблицаЗначений), то стандартное получение коллекции выполняться не будет. |
|||
3
yzimin
02.11.16
✎
20:07
|
Если обмен с БП 3.0 настроен через EnterpriseData, то в пакете XDTO для Документ.РеализацияТоваровУслуг.Товары.Строка" есть поле "Себестоимость". В него пишите, в БП 3.0 возможно уже реализована обработка этого поля.
|
|||
4
servicenn
02.11.16
✎
20:10
|
(3)раньше обмен был через обычные обработки с кодом
|
|||
5
servicenn
02.11.16
✎
20:10
|
(2) щас попробую
|
|||
6
servicenn
02.11.16
✎
20:12
|
(2) Может есть короткий пример?
|
|||
7
servicenn
02.11.16
✎
20:15
|
А если такой вариант , в пкс источник не указываем(получаем из запроса) приёмник реквизит таб части СебестоимостьПриемник, значение = ...., сюда ставим данные из запроса, в обработчике перед выгрузкой, не пройдёт такой вариант?
|
|||
8
servicenn
02.11.16
✎
20:18
|
там есть такая перменная объект коллекции
|
|||
9
servicenn
02.11.16
✎
20:20
|
(2) в справке по обработчикам есть пример, попробую разобраться
Пример: ТабличнаяЧасть = СоздатьОбъект("ТаблицаЗначений"); ТабличнаяЧасть.НоваяКолонка("Количество"); ТабличнаяЧасть.НоваяКолонка("Номенклатура"); ТабличнаяЧасть.НоваяКолонка("Сумма"); Рег = СоздатьОбъект("Регистр.Обороты"); Рег.ВыбратьДвиженияДокумента(Источник); Пока Рег.ПолучитьДвижение() = 1 Цикл НомерСтроки = Рег.НомерСтроки(); ТабличнаяЧасть.НоваяСтрока(); ТабличнаяЧасть.Количество = Рег.РасходКво; ТабличнаяЧасть.Номенклатура = Рег.ТМЦ; ТабличнаяЧасть.Сумма = Рег.РасходСумма; КонецЦикла; ТабличнаяЧасть.Свернуть("Номенклатура", "Количество, Сумма"); ВходящиеДанные = СоздатьОбъект("СписокЗначений"); ВходящиеДанные.ДобавитьЗначение(ТабличнаяЧасть, "Услуги"); |
|||
10
Aleksey
02.11.16
✎
20:35
|
(7) мне не нравиться. По сути по каждой строки каждого документа дергаем запрос. Проще один раз на документ.
Хотя зависит где это себестоимость хранится. Допускаю что можно и вначале заполнит соответсвие товар - себестоимость и пользоваться при выгрузки этим соответсвием |
|||
11
Aleksey
02.11.16
✎
20:37
|
(9) ТОлько у тебя не входящие данные, а коллекция объектов. Например
Запрос=новый Запрос; Запрос.Текст=" |ВЫБРАТЬ | подзапрос.Номенклатура, | подзапрос.Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения, | подзапрос.СуммаОборот КАК Сумма, | подзапрос.КоличествоОборот КАК Количество |ИЗ | (ВЫБРАТЬ | ВЫБОР | КОГДА ХозрасчетныйОбороты.Счет.Код = ""004.01"" | ТОГДА ХозрасчетныйОбороты.Субконто2 | ИНАЧЕ ХозрасчетныйОбороты.Субконто1 | КОНЕЦ КАК Номенклатура, | ВЫБОР | КОГДА ХозрасчетныйОбороты.Счет.Код = ""004.01"" | ТОГДА ХозрасчетныйОбороты.Субконто3 | ИНАЧЕ ХозрасчетныйОбороты.Субконто2 | КОНЕЦ КАК Склад, | ХозрасчетныйОбороты.СуммаОборот КАК СуммаОборот, | ХозрасчетныйОбороты.КоличествоОборот КАК КоличествоОборот | ИЗ | РегистрБухгалтерии.Хозрасчетный.Обороты(, , Регистратор, , , , , ) КАК ХозрасчетныйОбороты | ГДЕ | ХозрасчетныйОбороты.Регистратор = &Регистратор) КАК подзапрос |ГДЕ | подзапрос.Склад = &Субконто2 |"; Запрос.УстановитьПараметр("Регистратор",Источник); Запрос.УстановитьПараметр("Субконто2",Параметры.Склад); КоллекцияОбъектов = Запрос.Выполнить().Выгрузить(); что типа такого |
|||
12
servicenn
02.11.16
✎
20:42
|
(11)ага,подробно ,колонки выгрузки из запроса соответствуют колонкам в табличной части приёмника. А больше нигде не надо ни какаких галочек ставить или что либо прописывать?
|
|||
13
servicenn
02.11.16
✎
20:45
|
(11)буду пробовать
|
|||
14
Aleksey
02.11.16
✎
20:51
|
(12) Ну в крайнем случае пропишешь в ПКС
Значение=ОбъектКоллекции.ЕдиницаИзмерения; P.S> ОбъектКоллекции - ссылка на выгружаемый объект коллекции. Например, строка табличной части или запись регистра или строка таблицы значений или строка результата запроса и т.д. |
|||
15
servicenn
02.11.16
✎
20:57
|
(14) спасибо ,сначала с коллекцией объектов попробую
|
|||
16
servicenn
02.11.16
✎
22:20
|
(9) СУПЕР! РАБОТАЕТ ,ПОКА ПОПРОБОВАЛ ТЕСТОВЫЙ ЗАПРОС
Запрос=новый Запрос; Запрос.Текст=" |ВЫБРАТЬ |БУРеализацияТМЦУслугВГОТовары.Номенклатура, |БУРеализацияТМЦУслугВГОТовары.Цена, |БУРеализацияТМЦУслугВГОТовары.СуммаНДС, |БУРеализацияТМЦУслугВГОТовары.НомерГТД, |500 КАК сумма, |БУРеализацияТМЦУслугВГОТовары.Количество, |БУРеализацияТМЦУслугВГОТовары.КоличествоМест, |БУРеализацияТМЦУслугВГОТовары.СтавкаНДС, |БУРеализацияТМЦУслугВГОТовары.ДокументПартии, |БУРеализацияТМЦУслугВГОТовары.ЕдиницаХранения, |БУРеализацияТМЦУслугВГОТовары.СтранаПроисхождения, |2000 как СебестоимостьФУДТ_ЭР |ИЗ |Документ.БУРеализацияТМЦУслугВГО.Товары КАК БУРеализацияТМЦУслугВГОТовары |ГДЕ |БУРеализацияТМЦУслугВГОТовары.Ссылка = &Ссылка " ; Запрос.УстановитьПараметр("ссылка",Источник); КоллекцияОбъектов = Запрос.Выполнить().Выгрузить(); |
|||
17
servicenn
02.11.16
✎
22:22
|
Дальше сделаю , рабочий запрос вытяну себестоимость из регистра и левым соединением присоеденю к этому и заменю.
|
|||
18
Alexor
02.11.16
✎
22:23
|
Не забудь только что если себестоимость у тебя =0 то будет списывать по партии. Если себестоимость =0 то 0.01 выгружай.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |