|
Не работает программный код из книжки. В документе старая цена | ☑ | ||
---|---|---|---|---|
0
ROMA1927
19.02.16
✎
15:02
|
Привет!
Не работает программный код. Все делал по книжке. Синтаксических ошибок нет. Указывается в документе ОказаниеУслуги старая цена. Хотя в регистре сведений записал новую цену с новой датой. Из общего модуля: Функция РозничнаяЦена(АктуальнаяДата, ЭлементНоменклатуры) Экспорт // Создать вспомогательный объект "Отбор". Отбор = Новый Структура("Номенклатура", ЭлементНоменклатуры); // Получить актуальные значения ресурсов регистра. ЗначенияРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата,Отбор); Возврат ЗначенияРесурсов.Цена; КонецФункции В модуле формы: &НаКлиенте Процедура ПереченьНоменклатурыНоменклатураПриИзменении(Элемент) // Получить текущую строку табличной части. СтрокаТабличнойЧасти = Элементы.ПереченьНоменклатуры.ТекущиеДанные; // Установить цену. СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками.РозничнаяЦена(Объект.Дата, СтрокаТабличнойЧасти.Номенклатура); // Пересчитать сумму строки РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти); // Вставить содержимое обработчика. КонецПроцедуры Спасибо за ответ! |
|||
1
Волшебник
модератор
19.02.16
✎
15:03
|
Что за книжка-то? Кто автор?
|
|||
2
ROMA1927
19.02.16
✎
15:04
|
Радченко М.Г. 1С- Предприятие 8.3. Практическое пособие разработчика. Примеры и типовые приемы (2013)
|
|||
3
Сильф
19.02.16
✎
15:05
|
(0) А дата документа, случайно, не раньше даты установки новой цены?
|
|||
4
ROMA1927
19.02.16
✎
15:06
|
Нет, новая дата 19.02.16, а старая 08.01.16
|
|||
5
Сильф
19.02.16
✎
15:06
|
+ (3) вместе со временем
|
|||
6
Nuobu
19.02.16
✎
15:07
|
(4) А в регистре какие даты стоят?
|
|||
7
ROMA1927
19.02.16
✎
15:08
|
Как разместить принтскрин ?
|
|||
8
aka AMIGO
19.02.16
✎
15:09
|
(4) Отладчик включал? что там находится в АктуальнаяДата, оператор
ЗначенияРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата,Отбор); (7) http://pics.rsh.ru/ |
|||
9
ROMA1927
19.02.16
✎
15:10
|
В регистре сведений у меня 2 записи, одна старая, другая новая.
|
|||
10
Cyberhawk
19.02.16
✎
15:10
|
Цену-то записал с новой датой, а у документа дату не поменял...
|
|||
11
Cyberhawk
19.02.16
✎
15:11
|
Убери первый параметр в вызове метода "ПолучитьПоследнее" и убедись, что все работает
|
|||
12
ROMA1927
19.02.16
✎
15:13
|
Я открыл документ со старой датой. Поменял дату на новую и при выборе номенклатуры, цена остаётся старой.
|
|||
13
Лефмихалыч
19.02.16
✎
15:14
|
(0) значит старая цена равна новой. Или ты запустил не тот код, в который смотришь
|
|||
14
salvator
19.02.16
✎
15:14
|
(12) Записал документ?
|
|||
15
ROMA1927
19.02.16
✎
15:17
|
Я разместил код из общего модуля и из модуля формы документа. Как отправить Вам ИБ?
|
|||
16
shuhard
19.02.16
✎
15:19
|
(15)[Как отправить Вам ИБ?]
а зачем она форуму ? |
|||
17
Cyberhawk
19.02.16
✎
15:22
|
(15) Ну давай, скидывай ИБ мне по почте
|
|||
18
ROMA1927
19.02.16
✎
15:23
|
(11) Убрал первый параметр, выдает ошибку.
|
|||
19
ROMA1927
19.02.16
✎
15:24
|
Хорошо скину, спасибо!
|
|||
20
bolder
19.02.16
✎
15:24
|
(4) поставь новую дату 18.02.2016 и проверь.
|
|||
21
salvator
19.02.16
✎
15:24
|
(18) Документ записываешь перед изменением номенклатуры или нет?
|
|||
22
Cyberhawk
19.02.16
✎
15:31
|
Посмотрел базу - все работает, цена берется нужная в зависимости от даты в документе
(21) Что ты прицепился к этому - это никак не влияет, он же передает дату из реквизита "Объект" перед каждым вызовом получения цены |
|||
23
ROMA1927
19.02.16
✎
15:31
|
Нет, сначала выбираю номенклатуру. Выбираю номенклатуру, цена остается старой
|
|||
24
salvator
19.02.16
✎
15:35
|
(22) Понял уже :)
|
|||
25
ROMA1927
19.02.16
✎
15:36
|
(22) Снова открываю документ. Меняю дату на 19.02.16, выбираю номенклатуру. Цена старая 5 руб.
|
|||
26
ROMA1927
19.02.16
✎
15:38
|
Новая цена 7 руб.
|
|||
27
ROMA1927
19.02.16
✎
15:39
|
Cyberhawk
У меня не работает. Все равно указывается старая цена |
|||
28
Nuobu
19.02.16
✎
15:41
|
(26) Какая дата стоит возле цены в 7 рублей?
|
|||
29
ROMA1927
19.02.16
✎
15:42
|
В регистре 19.02.16
|
|||
30
Nuobu
19.02.16
✎
15:43
|
(29) делал (20) ??
|
|||
31
salvator
19.02.16
✎
15:43
|
(29) А время в документе и в регистре какое?
|
|||
32
ROMA1927
19.02.16
✎
15:45
|
Менял дату на 18.02.16 - цена старая 5 руб
|
|||
33
Nuobu
19.02.16
✎
15:47
|
(32) закомментируй строку
РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти); И вместо неё напиши: Сообщить(Объект.Дата); И скажи, что выведет. |
|||
34
ROMA1927
19.02.16
✎
15:48
|
Хорошо
|
|||
35
ROMA1927
19.02.16
✎
15:51
|
Сообщение 19.02.16.0:00:00
|
|||
36
Nuobu
19.02.16
✎
15:52
|
(35) Цена осталась старой?
|
|||
37
ROMA1927
19.02.16
✎
15:52
|
Да
|
|||
38
Nuobu
19.02.16
✎
15:54
|
(37) а там сделай:
СообщитЬ(РаботаСоСправочниками.РозничнаяЦена(Объект.Дата, СтрокаТабличнойЧасти.Номенклатура)); |
|||
39
ROMA1927
19.02.16
✎
15:55
|
Проблема в том, в поле цена появляется старая цена, должна появляться новая согласно коду в общем модуле.
|
|||
40
ROMA1927
19.02.16
✎
15:55
|
Хорошо сделаю
|
|||
41
ROMA1927
19.02.16
✎
15:57
|
Сделал, сообщение 5, т.е. цена старая
|
|||
42
Nuobu
19.02.16
✎
15:59
|
(41) Думай теперь.
Может, номенклатура не совпадает во второй строке, где цена 7 и сегодняшняя дата? |
|||
43
ROMA1927
19.02.16
✎
15:59
|
Может глюк
|
|||
44
Одинесю
19.02.16
✎
16:01
|
Скрины документа и регистра бы выложил уже давно через (8)
|
|||
45
ROMA1927
19.02.16
✎
16:06
|
Спасибо Всем. Я нашел ошибку. У меня новая запись в регистре от 19.02.16. Провожу документ тоже по дате 19.02.16. А надо чтобы разница по времени была хоть на одну секунду. Изменил дату записи в регистре на дату 18.02.16 и все работает.
|
|||
46
Nuobu
19.02.16
✎
16:07
|
А как же (32) (20) ??
|
|||
47
Одинесю
19.02.16
✎
16:08
|
а (32) что было?
|
|||
48
ROMA1927
19.02.16
✎
16:08
|
(46) Я менял в документе, не в регистре.
Нужно, что бы была разница по времени |
|||
49
Nuobu
19.02.16
✎
16:09
|
(48) Поменять в документе - это гениально, Ватсон!
|
|||
50
ROMA1927
19.02.16
✎
16:11
|
Когда Вы советовали поменять дату, я думал что в документе.
Все равно Всем спасибо. На ошибках учатся. |
|||
51
ROMA1927
19.02.16
✎
16:14
|
Вот только странно получается, что документ проводится с 0 часов 00 минут того же дня
|
|||
52
Nuobu
19.02.16
✎
16:15
|
(51) иди книжки читай.
|
|||
53
ROMA1927
19.02.16
✎
16:20
|
Я читаю.
Казус был в том, что запись в регистр и движение в документе по одной дате, т.е. сегодня. Новичок это сразу не заметит. Записи проводятся с нуля часов, с нуля минут. Все равно Вам спасибо. |
|||
54
Одинесю
19.02.16
✎
16:24
|
После (22) можно было уже разбегаться всем.
|
|||
55
ROMA1927
19.02.16
✎
16:27
|
Все большое спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |