|
Движения по регистрам | ☑ | ||
---|---|---|---|---|
0
immurz
05.09.13
✎
11:19
|
Есть странный вопрос - у меня есть документ, у документа есть дата и табличная часть. У каждой записи в табличной части тоже есть дата никакого отношения к дате документа не имеющая. При проведении в таблице движений встает дата документа. Я хочу, что бы там вставала дата из табличной части. Это реально сделать?
|
|||
1
Godofsin
05.09.13
✎
11:19
|
да
|
|||
2
Wobland
05.09.13
✎
11:19
|
реально
|
|||
3
Ёпрст
05.09.13
✎
11:20
|
яя.. натюрлих.
|
|||
4
immurz
05.09.13
✎
11:20
|
Спасибо! А как это сделать? )
|
|||
5
Гефест
05.09.13
✎
11:21
|
легко! переписать обработку проведения
|
|||
6
Wobland
05.09.13
✎
11:21
|
(4) вот тебе оператор присвоения: =
|
|||
7
Alex S D
05.09.13
✎
11:21
|
период = дата
|
|||
8
Crush
05.09.13
✎
11:22
|
(6) Дал бы ему еще табличную часть
|
|||
9
Godofsin
05.09.13
✎
11:23
|
для каждого строчка из ТвояТЧ цикл
ТвойРегистр.Период = Строчка.ТвояДата; КонецЦикла; |
|||
10
immurz
05.09.13
✎
11:29
|
А где это пилить нужно?
В процедуре обработки проведения? Например есть строка [CODE]ДоходыИРасходыСервер.ОтразитьВыручкуИСебестоимостьПродаж(ДополнительныеСвойства, Движения, Отказ);[/CODE] Т.е. я тут [CODE] Процедура ОтразитьВыручкуИСебестоимостьПродаж(ДополнительныеСвойства, Движения, Отказ) Экспорт ТаблицаДвижений = ДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаВыручкаИСебестоимостьПродаж; Если Отказ ИЛИ ТаблицаДвижений.Количество() = 0 Тогда Возврат; КонецЕсли; ДвиженияРасчеты = Движения.ВыручкаИСебестоимостьПродаж; ДвиженияРасчеты.Записывать = Истина; ДвиженияРасчеты.Загрузить(ТаблицаДвижений); КонецПроцедуры [/CODE] Должен перебрать таблицу движений и установить у каждой строки нужный мне период? |
|||
11
Wobland
05.09.13
✎
11:32
|
(10) сформируй свою ТаблицуДвижений
|
|||
12
Alex S D
05.09.13
✎
11:32
|
строка движения <> Строка таб. части документа
|
|||
13
Crush
05.09.13
✎
11:42
|
Найди где формируется ДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаВыручкаИСебестоимостьПродаж, а там найди Период = ...Дата и поменяй
|
|||
14
Wobland
05.09.13
✎
11:43
|
+(13) а потом проведи документ какого-нибудь другого вида
|
|||
15
immurz
05.09.13
✎
11:54
|
(14)
И будет швах? ) |
|||
16
Wobland
05.09.13
✎
11:54
|
(15) откуда ж я знаю?
|
|||
17
Crush
05.09.13
✎
11:59
|
Соответственно, да. Если период присваивается в экспортной процедуре или функции, то лучше сделать проверку на вид документа перед присвоением периода.
|
|||
18
immurz
05.09.13
✎
12:04
|
А модуле объекта в процедуре обработки проведения я могу скорректировать движения? Что бы не влиять на остальные документы.
|
|||
19
Godofsin
05.09.13
✎
12:08
|
(18) да
|
|||
20
Godofsin
05.09.13
✎
12:08
|
создай свою обработку проведения, с блэк-джекомт и шлюхами
|
|||
21
Crush
05.09.13
✎
12:09
|
(18) Если у тебя есть возможность соотнести строки таблицы движений со строками табличной части, то конечно да.
|
|||
22
immurz
05.09.13
✎
12:21
|
Ясно.
Нашел я где формируется таблица движений. В запросе есть строка: | &Период КАК Период, В вызывающей функции Запрос.УстановитьПараметр("Период", Реквизиты.Период); Это в модуле менеджера нужного документа. Т.е. если я вместо "| &Период КАК Период", напишу - "&Дата КАК Период" , то все должно работать как мне нужно? |
|||
23
immurz
05.09.13
✎
12:21
|
Т.е. если я вместо "| &Период КАК Период", напишу - "Дата КАК Период" , то все должно работать как мне нужно?
Вот так |
|||
24
Wobland
05.09.13
✎
12:24
|
(23) может, и должно. а может и нет
|
|||
25
Godofsin
05.09.13
✎
12:34
|
(23) нет
|
|||
26
Godofsin
05.09.13
✎
12:34
|
однозначно
|
|||
27
Wobland
05.09.13
✎
12:34
|
(26) пачему?
|
|||
28
immurz
05.09.13
✎
13:00
|
И правда - пачиму? ) Я же выбираю не константу для всех строк, а значения реквизита "дата" для каждой строки?
|
|||
29
Wobland
05.09.13
✎
13:04
|
(28) а у этих строк есть такое поле?
|
|||
30
immurz
05.09.13
✎
13:12
|
(29) Да, я его добавил )
|
|||
31
Wobland
05.09.13
✎
13:39
|
(30) а в запрос?
|
|||
32
immurz
05.09.13
✎
13:47
|
И в запрос. Сейчас узнаю результат.
|
|||
33
Godofsin
05.09.13
✎
13:53
|
(27) патамушта выражение "Дата КАК Период" синтаксически неверно + не хватает изменения еше одной строки.
|
|||
34
immurz
05.09.13
✎
13:55
|
(33)
А не могли бы Вы мне подсказать как верно? ) Результатов данное изменение не дало пока никаких. |
|||
35
Wobland
05.09.13
✎
13:59
|
(33) работает же
ВЫБРАТЬ Дата, &Период ИЗ Документ.НачислениеЗарплаты КАК НачислениеЗарплаты |
|||
36
immurz
05.09.13
✎
14:04
|
Мне нужна дата из табличной части для того что бы указать ее в таблице движений для каждой строки ТЧ отдельно, а не использовать общую дату проведения документа. Видимо стоит покапать в строну движений которые используют дату из ТЧ.
|
|||
37
Wobland
05.09.13
✎
14:05
|
(34) ты видел, сколько там кода? ты хочешь от человека чудес телепатии?
|
|||
38
immurz
05.09.13
✎
14:42
|
В общем сделал так:
Для Каждого ПиПиПи Из ДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаВыручкаИСебестоимостьПродаж Цикл Для Каждого СиСиСи Из ЭтотОбъект.Товары Цикл Если ПиПиПи.АналитикаУчетаНоменклатуры.Номенклатура = СиСиСи.Номенклатура Тогда ПиПиПи.Период = СиСиСи.Дата; КонецЕсли; КонецЦикла; КонецЦикла; ДоходыИРасходыСервер.ОтразитьВыручкуИСебестоимостьПродаж(ДополнительныеСвойства, Движения, Отказ); все работает. Хотя душа просит здесь: Функция ТекстЗапросаТаблицаВыручкаИСебестоимостьПродаж() ТекстЗапроса = " |ВЫБРАТЬ | ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки, | &Период КАК Период, | &Подразделение КАК Подразделение, | РегистрАналитикаУчетаПоПартнерам.КлючАналитики КАК АналитикаУчетаПоПартнерам, | ВтАналитика.АналитикаНоменклатуры КАК АналитикаУчетаНоменклатуры, | ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов, | | ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоВидамЗапасов ТОГДА | ТаблицаВидыЗапасов.ВидЗапасов | ИНАЧЕ | Неопределено | КОНЕЦ КАК ВидЗапасов, | | ТаблицаВидыЗапасов.Количество КАК Количество, | ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаСНДС | * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(15,2)) КАК СуммаВыручки, | | ВЫРАЗИТЬ((ТаблицаВидыЗапасов.СуммаСНДС | -ТаблицаВидыЗапасов.СуммаНДС) | * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(15,2)) КАК СуммаВыручкиБезНДС, | | ВЫРАЗИТЬ((ТаблицаВидыЗапасов.СуммаСНДС | -ТаблицаВидыЗапасов.СуммаНДС) | * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(15,2)) КАК СуммаВыручкиРегл, | | ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) Тогда | ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаСНДС * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(15,2)) | ИНАЧЕ | 0 | КОНЕЦ КАК Себестоимость, | ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) Тогда | ВЫРАЗИТЬ((ТаблицаВидыЗапасов.СуммаСНДС | -ТаблицаВидыЗапасов.СуммаНДС) | * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(15,2)) | ИНАЧЕ | 0 | КОНЕЦ КАК СебестоимостьБезНДС, | | ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) Тогда | ВЫРАЗИТЬ((ТаблицаВидыЗапасов.СуммаСНДС | -ТаблицаВидыЗапасов.СуммаНДС) | * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(15,2)) | ИНАЧЕ | 0 | КОНЕЦ КАК СебестоимостьРегл, | | &ХозяйственнаяОперация КАК ХозяйственнаяОперация | |ИЗ | Документ.ОтчетОРозничныхПродажах.ВидыЗапасов КАК ТаблицаВидыЗапасов | | ЛЕВОЕ СОЕДИНЕНИЕ | ВтАналитика КАК ВтАналитика | ПО | ТаблицаВидыЗапасов.Номенклатура = ВтАналитика.Номенклатура | И ТаблицаВидыЗапасов.Характеристика = ВтАналитика.Характеристика | | ЛЕВОЕ СОЕДИНЕНИЕ | РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам | ПО | РегистрАналитикаУчетаПоПартнерам.Организация = &Организация | И РегистрАналитикаУчетаПоПартнерам.Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) | И ТаблицаВидыЗапасов.Партнер = РегистрАналитикаУчетаПоПартнерам.Партнер |ГДЕ | ТаблицаВидыЗапасов.Ссылка = &Ссылка | И ТаблицаВидыЗапасов.Количество <> 0 | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ТаблицаТовары.НомерСтроки КАК НомерСтроки, | &Период КАК Период, //| ТаблицаТовары.Дата КАК Период, | &Подразделение КАК Подразделение, | РегистрАналитикаУчетаПоПартнерам.КлючАналитики КАК АналитикаУчетаПоПартнерам, | ВтАналитика.АналитикаНоменклатуры КАК АналитикаУчетаНоменклатуры, | ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Услуга) КАК ТипЗапасов, | ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка) КАК ВидЗапасов, | | ТаблицаТовары.Количество КАК Количество, | ВЫРАЗИТЬ( | (ТаблицаТовары.Сумма | + &ЦенаВключаетНДС * ТаблицаТовары.СуммаНДС) | * &КоэффициентПересчетаВВалютуУпр | КАК ЧИСЛО(15,2) | ) КАК СуммаВыручки, | | ВЫРАЗИТЬ( | (ТаблицаТовары.Сумма | + &ЦенаВключаетНДС * ТаблицаТовары.СуммаНДС - ТаблицаТовары.СуммаНДС) | * &КоэффициентПересчетаВВалютуУпр | КАК ЧИСЛО(15,2) | ) КАК СуммаВыручкиБезНДС, | | ВЫРАЗИТЬ( | (ТаблицаТовары.Сумма | + &ЦенаВключаетНДС * ТаблицаТовары.СуммаНДС - ТаблицаТовары.СуммаНДС) | * &КоэффициентПересчетаВВалютуРегл | КАК ЧИСЛО(15,2) | ) КАК СуммаВыручкиРегл, | 0 КАК Себестоимость, | 0 КАК СебестоимостьБезНДС, | 0 КАК СебестоимостьРегл, | | &ХозяйственнаяОперация КАК ХозяйственнаяОперация |ИЗ | Документ.ОтчетОРозничныхПродажах.Товары КАК ТаблицаТовары | | ЛЕВОЕ СОЕДИНЕНИЕ | ВтАналитика КАК ВтАналитика | ПО | ТаблицаТовары.Номенклатура = ВтАналитика.Номенклатура | И ТаблицаТовары.Характеристика = ВтАналитика.Характеристика | | ЛЕВОЕ СОЕДИНЕНИЕ | РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам | ПО | РегистрАналитикаУчетаПоПартнерам.Организация = &Организация | И РегистрАналитикаУчетаПоПартнерам.Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) | И ТаблицаТовары.Партнер = РегистрАналитикаУчетаПоПартнерам.Партнер |ГДЕ | ТаблицаТовары.Ссылка = &Ссылка | И ТаблицаТовары.Количество <> 0 | И ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга) | |УПОРЯДОЧИТЬ ПО | НомерСтроки | |; |///////////////////////////////////////////////////////////////////////////// |"; Возврат ТекстЗапроса; Но пока не знает как ) |
|||
39
immurz
05.09.13
✎
20:05
|
В общем слепой. В данном документа движения по нужному мне регистру берутся из другой табличной части которая заполняется сама при проведении документа. Всем спасибо за ответы!! Вместе веселей! )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |