![]() |
![]() |
|
Проводка документа не создает записей в регистре накопления | ☑ | ||
---|---|---|---|---|
0
SlavaGreben
23.06.16
✎
16:25
|
Здравствуйте. Вот код:
Процедура ОбработкаПроведения(Отказ, Режим) Движения.ОстаткиМатериалов.Записывать = Истина; Движения.СтоимостьМатериалов.Записывать = Истина; Движения.Продажи.Записывать = Истина; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОказаниеУслугиПереченьНоменклатуры.Номенклатура, | ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры, | СУММА(ОказаниеУслугиПереченьНоменклатуры.Количество) КАК КоличествоВДокументе, | СУММА(ОказаниеУслугиПереченьНоменклатуры.Сумма) КАК СуммаВДокументе, | МАКСИМУМ(ОказаниеУслугиПереченьНоменклатуры.Стоимость) КАК Стоимость |ИЗ | Документ.ОказаниеУслуги.ПереченьНоменклатуры КАК ОказаниеУслугиПереченьНоменклатуры |ГДЕ | ОказаниеУслугиПереченьНоменклатуры.Номенклатура.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | ОказаниеУслугиПереченьНоменклатуры.Номенклатура, | ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры"; Запрос.УстановитьПараметр("Ссылка", Ссылка); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Если ВыборкаДетальныеЗаписи.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Материал Тогда // регистр ОстаткиМатериалов Расход Движение = Движения.ОстаткиМатериалов.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Материал = ВыборкаДетальныеЗаписи.Номенклатура; Движение.Склад = Склад; Движение.Количество = ВыборкаДетальныеЗаписи.КоличествоВДокументе; // регистр СтоимостьМатериалов Расход Движение = Движения.СтоимостьМатериалов.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Материал = ВыборкаДетальныеЗаписи.Номенклатура; Движение.Стоимость = ВыборкаДетальныеЗаписи.КоличествоВДокументе *ВыборкаДетальныеЗаписи.Стоимость; КонецЕсли; // РегистрПродажи Движение = Движения.Продажи.Добавить(); Движение.Период = Дата; Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура; Движение.Клиент = Клиент; Движение.Мастер = Мастер; Движение.Количество = ВыборкаДетальныеЗаписи.КоличествоВДокументе; Движение.Выручка = ВыборкаДетальныеЗаписи.СуммаВДокументе; Движение.Стоимость = ВыборкаДетальныеЗаписи.Стоимость *ВыборкаДетальныеЗаписи.КоличествоВДокументе; КонецЦикла; КонецПроцедуры ни по одному из трех регистров документы не проходят. Изучаю 1с по книге 1с:Предприятие - практическое руководство. Помогите, кто сможет разобраться, почему записи в регистрах не создаются. |
|||
1
Nuobu
23.06.16
✎
16:26
|
Движения.ОстаткиМатериалов.ЗАписать();
Движения.СтоимостьМатериалов.ЗАписать(); Движения.Продажи.ЗАписать(); |
|||
2
Numerus Mikhail
23.06.16
✎
16:27
|
Движения.твойРегистр.Записать();
|
|||
3
SlavaGreben
23.06.16
✎
16:29
|
спасибо, глаза проглядел, а это не заметил. Но почему конфигуратор ошибку не выдал ???
еще раз спасибо |
|||
4
Зая Бусечка
23.06.16
✎
16:30
|
(3) А что конфигуратору до твоего кода? У него синтактический, а не семантический контроль
|
|||
5
SlavaGreben
23.06.16
✎
16:32
|
ясно
|
|||
6
SlavaGreben
24.06.16
✎
10:14
|
Снова стою на том же месте. Написал вот так:
Движения.ОстаткиМатериалов.ЗАписать(); Движения.СтоимостьМатериалов.ЗАписать(); Движения.Продажи.ЗАписать(); В регистрах ничего не добавилось. В чем же может быть дело? |
|||
7
ptiz
24.06.16
✎
10:17
|
(0) Не слушай про Записать(), у тебя даже в цикл не заходит
Что это за фантазии: ОказаниеУслугиПереченьНоменклатуры.Номенклатура.Ссылка = &Ссылка Запрос.УстановитьПараметр("Ссылка", Ссылка); ??? |
|||
8
SlavaGreben
24.06.16
✎
10:23
|
Собственно весь код один в один из книги Радченко и Хрусталевой 1с:Предприятие Практическое пособие. Тема занятия - "Оптимизация проведения документа" (14 занятие, стр.- 406). По книге эта "фантазия"
ОказаниеУслугиПереченьНоменклатуры.Номенклатура.Ссылка = &Ссылка Запрос.УстановитьПараметр("Ссылка", Ссылка); привязывает код к документу который проводится. |
|||
9
ptiz
24.06.16
✎
10:25
|
(8) Включи голову и подумай, что с чем сравнивается:
ОказаниеУслугиПереченьНоменклатуры.Номенклатура.Ссылка = &Ссылка |
|||
10
silent person
24.06.16
✎
10:27
|
(8) не знаю что у тебя за книга но вот тут http://its.1c.ru/db/pubdevguide83#content:287:hdoc написано
ИЗ | Документ.ОказаниеУслуги.ПереченьНоменклатуры КАК ОказаниеУслугиПереченьНоменклатуры |ГДЕ | ОказаниеУслугиПереченьНоменклатуры.Ссылка = &Ссылка |
|||
11
Serg_1960
24.06.16
✎
10:33
|
(9) Не говори загадками :( В перепечатке ошибка скорее всего.
Запрос.УстановитьПараметр("Ссылка", Ссылка); // это ссылка на документ ГДЕ ОказаниеУслугиПереченьНоменклатуры.Номенклатура.Ссылка = &Ссылка // ссылка на номенклатуру и ссылка на документ ?!? |
|||
12
SlavaGreben
24.06.16
✎
10:33
|
сообщение ptiz - от Включи голову и подумай. Над эти как раз работаю - )
Отдельное спасибо silent person, оказалось не один в один. Невнимательность моя. Кстати, пришлось вот эти строки - Движения.ОстаткиМатериалов.ЗАписать(); Движения.СтоимостьМатериалов.ЗАписать(); Движения.Продажи.ЗАписать(); вернуть в эти (что бы заработало) - Движения.ОстаткиМатериалов.Записывать = Истина; Движения.СтоимостьМатериалов.Записывать = Истина; Движения.Продажи.Записывать = Истина; теперь все работает |
|||
13
Serg_1960
24.06.16
✎
10:34
|
ГДЕ ОказаниеУслугиПереченьНоменклатуры.Ссылка = &Ссылка
|
|||
14
SlavaGreben
24.06.16
✎
10:35
|
ОказаниеУслугиПереченьНоменклатуры.Номенклатура.Ссылка = &Ссылка// ссылка на номенклатуру и ссылка на документ ?!?
в книге правильно, с моей стороны ошибка, жара походу |
|||
15
SlavaGreben
24.06.16
✎
10:37
|
вариант с ошибкой -
ОказаниеУслугиПереченьНоменклатуры.Номенклатура.Ссылка = &Ссылк// ссылка на номенклатуру и ссылка на документ ?!? правильный - ОказаниеУслугиПереченьНоменклатуры.Ссылка = &Ссылк |
|||
16
ptiz
24.06.16
✎
10:39
|
Поэтому стоит освоить отладчик: там бы увидел, что результат запроса - пустой.
|
|||
17
SlavaGreben
24.06.16
✎
10:46
|
Где найти такой отладчик? С принципами объектного построения приложений знаком, с 1с только начал разбиратся.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |