|
Не записывается регистр накопления | ☑ | ||
---|---|---|---|---|
0
Norbertano
15.08.12
✎
13:19
|
Добрый день. Создал регистр накопления "График платежей", не происходит движения по этому регистру для документа "РеализацияТоваровИУслуг". Если создать движение с помощью конструктора, движение происходит, но удаляется предыдущий код процедуры "Обработка Проведения". Если добавить код в существующий, движения не происходят.
Процедура ОбработкаПроведения(Отказ, РежимПроведения) Перем Заголовок, СтруктураШапкиДокумента, ТаблицаПоТоварам, ТаблицаПоУслугам, ТаблицаПоТаре; Перем ТаблицаПоВзаиморасчетам, ТаблицаПоРасчетам; Перем ДеревоПолейЗапросаПоШапке; Движения.ГрафикПлатежей.Очистить(); Движение = Движения.ГрафикПлатежей.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.ДокументПродажи = Ссылка; Движение.ДатаПлатежа = Итог; Движение.Контрагент = Контрагент; Движение.СуммаПлатежа = СуммаДокумента; КонецПроцедуры Сделал по-другому, но в таком виде движения происходят по каждому товару из табличной части, мне это не нужно,а если комментирую строку ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаПоТоварам,ТаблицаДвижений); таблица ТаблицаДвижений почему-то пустая НаборДвижений = Движения.ГрафикПлатежей; ТаблицаДвижений = НаборДвижений.ВыгрузитьКолонки(); // Заполним таблицу движений. ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаПоТоварам,ТаблицаДвижений); ТаблицаДвижений.ЗаполнитьЗначения(Дата, "Период"); //ТаблицаДвижений.ЗаполнитьЗначения(Ссылка, "Регистратор"); // ТаблицаДвижений.ЗаполнитьЗначения(Истина, "Активность"); //ТаблицаДвижений.ЗаполнитьЗначения(ВидДвиженияНакопления.Расход, "ВидДвижения"); ТаблицаДвижений.ЗаполнитьЗначения(Контрагент, "Контрагент"); ТаблицаДвижений.ЗаполнитьЗначения(Итог, "ДатаПлатежа"); ТаблицаДвижений.ЗаполнитьЗначения(СуммаДокумента, "СуммаПлатежа"); ТаблицаДвижений.ЗаполнитьЗначения(Ссылка,"ДокументПродажи"); Если ТаблицаДвижений.Количество() = 0 Тогда ф=0; // проверка, что ТаблицаДвижений пустая КонецЕсли; НаборДвижений.мПериод = Дата; НаборДвижений.мТаблицаДвижений = ТаблицаДвижений; Если Не Отказ Тогда НаборДвижений.ВыполнитьДвижения(); КонецЕсли; |
|||
1
DrShad
15.08.12
✎
13:20
|
а где записать()
|
|||
2
Norbertano
15.08.12
✎
13:21
|
записать() ведь уже давно не используется при обработке проведения
|
|||
3
DrShad
15.08.12
✎
13:22
|
(2) а что используется для записи движений?
|
|||
4
napagokc
15.08.12
✎
13:22
|
Может надо
Движения.ГрафикПлатежей.Записывать = Истина; ? |
|||
5
Norbertano
15.08.12
✎
13:26
|
Движения.ГрафикПлатежей.Записывать = Истина;
результата не дает (3) Процедура ОбработкаПроведения(Отказ, РежимПроведения) Перем Заголовок, СтруктураШапкиДокумента, ТаблицаПоТоварам, ТаблицаПоУслугам, ТаблицаПоТаре; Перем ТаблицаПоВзаиморасчетам, ТаблицаПоРасчетам; Перем ДеревоПолейЗапросаПоШапке; Движения.ГрафикПлатежей.Очистить(); Движение = Движения.ГрафикПлатежей.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.ДокументПродажи = Ссылка; Движение.ДатаПлатежа = Итог; Движение.Контрагент = Контрагент; Движение.СуммаПлатежа = СуммаДокумента; КонецПроцедуры Идут движения без метода Записать(), код из конструктора Ни в одном модуле конфигурации в процедуре "ОбработкаПроведения" его не нашел |
|||
6
DrShad
15.08.12
✎
13:27
|
я тебе больше скажу что сейчас модно уже не движениями писать, а целыми наборами, при чем на протяжении всей обработки проведения пихать их в структуру и затем все вместе записывать
|
|||
7
napagokc
15.08.12
✎
13:29
|
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Перем Заголовок, СтруктураШапкиДокумента, ТаблицаПоТоварам, ТаблицаПоУслугам, ТаблицаПоТаре; Перем ТаблицаПоВзаиморасчетам, ТаблицаПоРасчетам; Перем ДеревоПолейЗапросаПоШапке; Движения.ГрафикПлатежей.Записывать = Истина; Движения.ГрафикПлатежей.Очистить(); Движение = Движения.ГрафикПлатежей.Добавить(); //... КонецПроцедуры Неужели не пашет? О_о |
|||
8
Norbertano
15.08.12
✎
13:37
|
(6) Я видел структуру, и с удовольствием бы туда пристроил свой регистр, но знаний не хватает
В принципе, сильно ли влияет на производительность лишние записи по каждому товару? Если нет, как в запросе отсеять лишние записи например для Запрос = Новый Запрос; Запрос.Текст = " | ВЫБРАТЬ | ГрафикПлатежей.ДокументПродажи, | ГрафикПлатежей.Контрагент, | ГрафикПлатежей.ДатаПлатежа, | ГрафикПлатежей.СуммаПлатежа |ИЗ | РегистрНакопления.ГрафикПлатежей КАК ГрафикПлатежей"; РезультатЗапроса = Запрос.Выполнить(); получаю лишние записи по количеству товара Счет на товары и услуги 2 от 13.08.2012 15:40:12 ЧП "Комфорт" 14.08.2012 649,03 Счет на товары и услуги 2 от 13.08.2012 15:40:12 ЧП "Комфорт" 14.08.2012 649,03 Счет на товары и услуги 2 от 13.08.2012 15:40:12 ЧП "Комфорт" 14.08.2012 649,03 Счет на товары и услуги 3 от 13.08.2012 ЧП "Мастерок" 14.08.201 543,09 Счет на товары и услуги 3 от 13.08.2012 ЧП "Мастерок" 14.08.201 543,09 |
|||
9
BigShmax
15.08.12
✎
13:40
|
а можно я вклинюсь чтобы не создавать ветку с одинаковым топиком. чет тоже поттупливаю над записю регистра остатков.
в обработке есть ссылка и есть ТаблицаЗначений нужно записать движение регистр наколпления. регсит р простейшиий но что то не получается. Движение = РегистрыНакопления.ОстаткиНоменклатуры.СоздатьНаборЗаписей(); Движение.Отбор.Регистратор.Установить(Ссылка); Для Каждого Строка из ТЗ Цикл движение.ДобавитьРасход(); Движение.Регистратор = Ссылка; Движение.Период = Ссылка.Дата; Движение.Номенклатура = Строка.Номенклатура; Движение.Количество = Строка.Количество; КонецЦикла; Движение.Записать(); |
|||
10
DrShad
15.08.12
✎
13:43
|
(9) что это?
|
|||
11
Norbertano
15.08.12
✎
13:46
|
(9) я не против,если это принесет результат в решении моей проблемы.
|
|||
12
BigShmax
15.08.12
✎
14:18
|
(10) мда это бред я неправ , ужас как не прав, лошара микантара
|
|||
13
DrShad
15.08.12
✎
14:19
|
(12) я сдержался
|
|||
14
BigShmax
15.08.12
✎
14:21
|
(13) спасибо за сдерджанность :-) все уже работает :-) давайте ТС поможем попробуем
|
|||
15
DrShad
15.08.12
✎
14:22
|
уже все ему помогли
|
|||
16
Norbertano
15.08.12
✎
14:24
|
(15) Да,Роман, вот разбираюсь с набором движений, спасибо
Может подскажете, как в запросе отсеять лишние записи (6) |
|||
17
DrShad
15.08.12
✎
14:26
|
условием вестимо
|
|||
18
Norbertano
15.08.12
✎
14:27
|
Это будет корректно?
|ГДЕ | ГрафикПлатежей.НомерСтроки = &НомерСтроки"; Запрос.УстановитьПараметр("НомерСтроки",1); //Число РезультатЗапроса = Запрос.Выполнить(); |
|||
19
DrShad
15.08.12
✎
14:28
|
нет.
|
|||
20
Norbertano
15.08.12
✎
14:30
|
(19) Подскажите, как корректно?
|
|||
21
DrShad
15.08.12
✎
14:31
|
(20) сформулируй вопрос нормально
|
|||
22
Norbertano
15.08.12
✎
14:37
|
Единственный рабочий вариант на данный момент - запись происходит, если использую
ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаПоТоварам,ТаблицаДвижений); Но тогда происходит запись по каждой строке товара из табличной части ТаблицаПоТоварам В итоге при использовании запроса, получаю строку ровно столько раз, сколько строк в табличной части документа "Реализация товаров и услуг", как в (8) |
|||
23
DrShad
15.08.12
✎
14:39
|
(22) ну так собери в таблицу для движений то что тебе нужно
|
|||
24
Norbertano
15.08.12
✎
14:43
|
Собираю то, что нужно, она почему-то пустая, поэтому и нет движений
Делаю простую проверку Если ТаблицаДвижений.Количество() = 0 Тогда ф=0; // проверка, что ТаблицаДвижений пустая КонецЕсли; |
|||
25
Norbertano
15.08.12
✎
15:01
|
НаборДвижений = Движения.ГрафикПлатежей;
ТаблицаДвижений = НаборДвижений.ВыгрузитьКолонки(); // Заполним таблицу движений. ТаблицаДвижений.ЗаполнитьЗначения(Дата, "Период"); ТаблицаДвижений.ЗаполнитьЗначения(Ссылка, "Регистратор"); ТаблицаДвижений.ЗаполнитьЗначения(Истина, "Активность"); ТаблицаДвижений.ЗаполнитьЗначения(ВидДвиженияНакопления.Расход, "ВидДвижения"); ТаблицаДвижений.ЗаполнитьЗначения(Контрагент, "Контрагент"); ТаблицаДвижений.ЗаполнитьЗначения(Итог, "ДатаПлатежа"); ТаблицаДвижений.ЗаполнитьЗначения(СуммаДокумента, "СуммаПлатежа"); ТаблицаДвижений.ЗаполнитьЗначения(Ссылка,"ДокументПродажи"); Если ТаблицаДвижений.Количество() = 0 Тогда ф=0; // проверка, что ТаблицаДвижений пустая КонецЕсли; НаборДвижений.мПериод = Дата; НаборДвижений.мТаблицаДвижений = ТаблицаДвижений; |
|||
26
DrShad
15.08.12
✎
15:02
|
что за бред ты постишь?
|
|||
27
Norbertano
15.08.12
✎
15:03
|
После заполнения ТаблицаДвижений пустая, не могу понять почему, если использовать
ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаПоТоварам,ТаблицаДвижений);
ТаблицаДвижений заполнена |
|||
28
DrShad
15.08.12
✎
15:04
|
долго тебе еще изучать как проводить доки
|
|||
29
Norbertano
15.08.12
✎
15:05
|
Согласен. На помощь гуру расчитывать не приходится
|
|||
30
DrShad
15.08.12
✎
15:07
|
по всей ветке у тебя жуткая каша из разных кусков кода
|
|||
31
Norbertano
15.08.12
✎
15:08
|
Может у меня и каша, через каждый пост приходится детально описывать Вам, хотя все описано в первых двух постах
|
|||
32
DrShad
15.08.12
✎
15:13
|
(37) в (7) что тебя не устроило?
|
|||
33
Norbertano
15.08.12
✎
15:14
|
Тем, что не происходит движения по регистру
|
|||
34
DrShad
15.08.12
✎
15:15
|
(33) не звезди
|
|||
35
Norbertano
15.08.12
✎
15:20
|
Зуб даю, можете зайти в Team Viewer и посмотреть
Движения.ГрафикПлатежей.Записывать = Истина;
|
|||
36
DrShad
15.08.12
✎
15:23
|
свойства регистра в студию
|
|||
37
Norbertano
15.08.12
✎
15:26
|
Из конфигуратора? Как их посмотреть?
|
|||
38
DrShad
15.08.12
✎
15:31
|
только после окончания обработки проведения, т.е. у уже проведенных доков
|
|||
39
Norbertano
15.08.12
✎
15:57
|
"Свойства регистра после окончания обработки проведения", объясните, каким образом предоставить Вам эту информацию?
|
|||
40
DrShad
15.08.12
✎
16:11
|
когда в движениях записывать устанавливаешь в Истину, то посмотреть их сможешь только после проведения
|
|||
41
Norbertano
15.08.12
✎
17:56
|
Ради эксперимента создал ТаблицаЗначений, заполнил ее теми же значениями, что и ТаблицаДвижений. Используя процедуру ОбщегоЗначения.ЗагрузитьВТаблицуЗначений(ТаблицаИсточник,ТаблицаПриемник) заполнил ТаблицаДвижений
Почему ТаблицаДвижений иначе пустая?
|
|||
42
Norbertano
16.08.12
✎
11:18
|
Из-за чего может не заполняться таблица значений ТаблицаДвижений?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |