|
Не отображаются записи в Регистре Накопления | ☑ | ||
---|---|---|---|---|
0
michael9472
27.05.16
✎
16:32
|
Документ проводится без проблем, но в регистре накопления не отображаются движения. Ниже приведен код ОбработкаПроведения. Конфигурация самописная
Движения.ТоварыНаСкладах.Записывать = Истина; Движения.ТоварыНаСкладах.Очистить(); Для каждого ТекСтрокаМатериалы из СписанныеМатериалы Цикл Запрос=Новый Запрос; Запрос.Текст= "ВЫБРАТЬ | ПодразделенияОрганизаций.Склад |ПОМЕСТИТЬ НужныйСклад |ИЗ | Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций |ГДЕ | ПодразделенияОрганизаций.Ссылка = &Подразделение |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТоварыНаСкладахОстатки.КоличествоОстаток КАК Количество, | ТоварыНаСкладахОстатки.СуммаОстаток КАК Сумма, | НужныйСклад.Склад |ИЗ | НужныйСклад КАК НужныйСклад | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки | ПО НужныйСклад.Склад = ТоварыНаСкладахОстатки.Склад |ГДЕ | ТоварыНаСкладахОстатки.Номенклатура = &Наименование"; Запрос.УстановитьПараметр("Наименование",ТекСтрокаМатериалы.Материал); Запрос.УстановитьПараметр("Подразделение",Подразделение); РезультатЗапроса=Запрос.Выполнить().Выбрать(); РезультатЗапроса.Следующий(); Цена=0; Цена=РезультатЗапроса.Сумма/РезультатЗапроса.Количество; Сумма=Цена*ТекСтрокаМатериалы.Колво; Движение = Движения.ТоварыНаСкладах.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = Дата; Движение.Склад = РезультатЗапроса.Склад; Движение.Номенклатура = ТекСтрокаМатериалы.Материал; //Движение.ХарактеристикаНоменклатуры = Хар; //Движение.СерияНоменклатуры = Серия; Движение.Организация = Организация; Движение.Количество = ТекСтрокаМатериалы.Колво; Движение.Сумма = Сумма; Движение.Активность=Истина; КонецЦикла; |
|||
1
ДенисЧ
27.05.16
✎
16:37
|
Комментариев три.
первый нецензурный. второй: запрос в цикле раввинат не одобряет третий: набор не записывается |
|||
2
michael9472
27.05.16
✎
16:43
|
(1) Так я же в РегистрНакопления движения записываю
|
|||
3
lubitelxml
27.05.16
✎
16:44
|
Движения.ТоварыНаСкладах.Записывать = Истина; и потом уже
Движение = Движения.ТоварыНаСкладах.Добавить(); |
|||
4
aleks_default
27.05.16
✎
16:49
|
(1) а у меня цензурных нет
|
|||
5
Nolan
27.05.16
✎
16:49
|
(0) а ты вообще сам факт констатируешь или спросить что-то хочешь?
|
|||
6
zbv
27.05.16
✎
16:50
|
(3)
Движение = Движения.ТоварыНаСкладах.Добавить(); - это добавление записи в набор, никак не запись. см. Записать() - только в цикле не записывай. |
|||
7
michael9472
27.05.16
✎
16:51
|
(5) Я спрашиваю, почему не записывается
|
|||
8
aleks_default
27.05.16
✎
16:52
|
(6) Не нужно там никакое Записать(), что вы курите? Это обработка проведения.
|
|||
9
Nuobu
27.05.16
✎
16:53
|
(8) В обработке проведения тоже нужно писать ".Записать()".
|
|||
10
Timon1405
27.05.16
✎
16:54
|
(8) +1
|
|||
11
AllJoke
27.05.16
✎
16:54
|
Наверное СписанныеМатериалы - нет строк? Таблица пустая.
|
|||
12
Nolan
27.05.16
✎
16:55
|
(7) а отладчиком смотрел что у тебя в РезультатЗапроса?
|
|||
13
samozvanec
27.05.16
✎
16:55
|
(0) Цена=0;
Цена=РезультатЗапроса.Сумма/РезультатЗапроса.Количество; Сумма=Цена*ТекСтрокаМатериалы.Колво; этапять! |
|||
14
Timon1405
27.05.16
✎
16:55
|
(9) если стоит Движения.ТоварыНаСкладах.Записывать = Истина; то не нужно
|
|||
15
lubitelxml
27.05.16
✎
16:56
|
(7) пробовал как в (3) я тебе показал?
(6) из рабочей конфы привел пример, никаких записать там нет |
|||
16
michael9472
27.05.16
✎
16:57
|
(11) таблица заполнена
|
|||
17
samozvanec
27.05.16
✎
16:57
|
(9) а если не напишу?
|
|||
18
michael9472
27.05.16
✎
16:57
|
(12) смотрел. там все есть
|
|||
19
lubitelxml
27.05.16
✎
16:59
|
(13) да там весь код "этапять!", надо срочно на г*внокод выложить - будет в топе долго ))
|
|||
20
Nolan
27.05.16
✎
16:59
|
(18) В регистре документ который ты проводишь указан как регистратор?
|
|||
21
michael9472
27.05.16
✎
17:00
|
(20) да
|
|||
22
samozvanec
27.05.16
✎
17:00
|
(0) вот пара вариантов: в регистре нет остатков, не указан склад в подразделении.
а вообще - что этот код по-твоему делает? |
|||
23
hhhh
27.05.16
✎
17:01
|
(21) а как отображаешь движения эти? Какой командой?
|
|||
24
michael9472
27.05.16
✎
17:01
|
(22) записывает движения в регистр
|
|||
25
zbv
27.05.16
✎
17:01
|
(8) извини, промахнулся (6) было к (2)
(0) что в свойстве документа "Запись движений при проведении" ? |
|||
26
hhhh
27.05.16
✎
17:02
|
(22) списанные материалы ставит на приход. Может склад мусора?
|
|||
27
michael9472
27.05.16
✎
17:03
|
(26) тьфу ты. я не убрал просто) думал мб в этом дело( глупо правда)
|
|||
28
michael9472
27.05.16
✎
17:05
|
(25) записывать модифицировать
|
|||
29
HardBall
27.05.16
✎
17:06
|
1. ГДЕ ТоварыНаСкладахОстатки.Номенклатура = &Наименование" Это будет уже внутреннее соединение.
2. И где проверка на NULL |
|||
30
michael9472
27.05.16
✎
17:07
|
записывать модифицированные*
|
|||
31
michael9472
27.05.16
✎
17:07
|
(29) этого пока ничего нет, но будет. Я сейчас чисто проверяю запись движений
|
|||
32
samozvanec
27.05.16
✎
17:08
|
(26) хотел от ТС услышать)
(27) ты нормально ответь, там не только в приходе дело |
|||
33
Cyberhawk
27.05.16
✎
17:09
|
В отладчике посмотри, что в конце обработки проведения происходит по F11 - скорее всего еще подписки на регистры и модуль набора записей интересующего регистра...
|
|||
34
Cyberhawk
27.05.16
✎
17:09
|
Также проверь, что в коллекции движений в конце обработки проведения есть движения по твоему регистру и этот набор не пустой...
|
|||
35
samozvanec
27.05.16
✎
17:11
|
так же проверь, какую цену выдаст, если не будет остатка
|
|||
36
samozvanec
27.05.16
✎
17:12
|
так же проверь, какую цену выдаст по другой характеристике
|
|||
37
samozvanec
27.05.16
✎
17:14
|
зачем соединение? да еще и к виртуальной таблице. почему нельзя склад сразу подставить?
|
|||
38
michael9472
27.05.16
✎
17:16
|
(37) уже заметил. Ну да ладно. в коллекции Движения все есть(то что я заполняю)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |