Имя: Пароль:
1C
1С v8
Не работает пример из книги Радченко. Разобрались, Радченко полностью невиновник
,
0 La-fa
 
26.06.15
13:22
Книга 1с 8.1
Сама 1с 8.2
Собственно, сама функция в общих модулях:
Функция РозничнаяЦена(АктуальнаяДата, ЭлементНоменклатуры) экспорт
Отбор = Новый  Структура("Номенклатура", ЭлементНоменклатуры);
ЗначенияРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата, Отбор);
Возврат ЗначенияРесурсов.Цена;
КонецФункции
При закрытии модуля ошибок нет. Но при использовании процедуры:
Процедура ПереченьНоменклатурыНоменклатураПриИзменении(Элемент)
    СтрокаТабличнойЧасти = Элементы.ПереченьНоменклатуры.ТекущиеДанные;
    СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками.РозничнаяЦена(Дата,Элемент.Значение):
    РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);    
КонецПроцедуры
                          
Выдает:
{Документ.ОказаниеУслуги.Форма.ФормаДокумента.Форма(17,88)}: Неопознанный оператор
    СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками.РозничнаяЦена(Дата,Элемент.Значение)<<?>>: (Проверка: Сервер)
{Документ.ОказаниеУслуги.Форма.ФормаДокумента.Форма(17,88)}: Неопознанный оператор
    СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками.РозничнаяЦена(Дата,Элемент.Значение)<<?>>: (Проверка: Тонкий клиент)
1 Лефмихалыч
 
26.06.15
13:23
у тебя двоеточие вместо точки с запятой
2 Славен
 
26.06.15
13:23
СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками.РозничнаяЦена(Дата,Элемент.Значение) ":"
3 Mitriy
 
26.06.15
13:24
черти глазастые...
4 чувак
 
26.06.15
13:24
Что у Вас сегодня массовый психоз?
6 La-fa
 
26.06.15
13:26
ппц( Вот я кривой. Поправил, спасибо. Тогда сходу вторая ошибка:
{Документ.ОказаниеУслуги.Форма.ФормаДокумента.Форма(17,30)}: Переменная не определена (РаботаСоСправочниками)
    СтрокаТабличнойЧасти.Цена = <<?>>РаботаСоСправочниками.РозничнаяЦена(Дата,Элемент.Значение); (Проверка: Тонкий клиент)
{Документ.ОказаниеУслуги.Форма.ФормаДокумента.Форма(17,66)}: Переменная не определена (Дата)
    СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками.РозничнаяЦена(<<?>>Дата,Элемент.Значение); (Проверка: Тонкий клиент)
7 butterbean
 
26.06.15
13:26
(6) ты бы книгу сначала читал, а не кусками
8 La-fa
 
26.06.15
13:27
Ну до этих пор я дочитал, проблем не было
9 Славен
 
26.06.15
13:28
(6) это общий модуль, он у тебя есть? галочки в его свойствах все правильно проставил? Директивы компиляции правильно прописал?
10 La-fa
 
26.06.15
13:30
(9) Про директивы компиляции в книге не было. Модуль общий, он есть, его код приведен изначально. Называется также. Галочки ставить никакие не просили в книге
11 Славен
 
26.06.15
13:31
(10) а вот галочки в его свойствах надо ставить, с умом
12 Славен
 
26.06.15
13:31
Клиент(обычное приложение)
13 La-fa
 
26.06.15
13:32
(12) Убирает одну ошибку, остается
{Документ.ОказаниеУслуги.Форма.ФормаДокумента.Форма(17,66)}: Переменная не определена (Дата)
    СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками.РозничнаяЦена(<<?>>Дата,Элемент.Значение); (Проверка: Тонкий клиент)
14 La-fa
 
26.06.15
13:33
Только галка называется в моей версии Клиент(управляемое приложение)
15 Славен
 
26.06.15
13:33
(13) а у документа дата реквизит есть?
16 La-fa
 
26.06.15
13:34
Ну конечно. реквизиты склад, клиент, мастер + табличная часть. В ней номенклатура, количество, цена и сумма
17 Славен
 
26.06.15
13:35
(16) а реквизит дата ты не  перечислил, попробуй объект.Дата
18 La-fa
 
26.06.15
13:35
Стоп, даты там нет... Но ее никто не просил создавать
19 Славен
 
26.06.15
13:36
а чего тогда ты хочешь? передаешь то чего нет
20 La-fa
 
26.06.15
13:36
(19) Опа, Объект.Дата сработал. Сейчас проверю
21 Славен
 
26.06.15
13:37
(20) так у тебя у документа реквизит есть, а на форму не вынесен
22 La-fa
 
26.06.15
13:38
(21) В раздел "Реквизиты" я его не создавал, потому что это не просили. Разве дата не идет по умолчанию в каждом документе?
23 Славен
 
26.06.15
13:42
(22) он  стандартный, а вот на форму его надо вынести
24 Бубка Гоп
 
26.06.15
13:43
Не первая тема уже, в которой на Радченко бочку катят. Тренд какой то нездоровый
25 Славен
 
26.06.15
13:45
(24) новички, делают все по книге, а в местах которые по умолчанию теряются или которые раньше расписывались забывают
26 La-fa
 
26.06.15
13:48
(25) Ну да, я не в курсе. У меня все еще не работает до конца это дело.
Создаю новый документ на оказание услуги, выставляю там склад, мастера, клиент - все норм.
Создаю новую строчку в таблице. И при в первой графе номенклатуры из списка (любая услуга/запчасть) выдает ошибку Поле объекта не обнаружено(Значение)
ну и подбробно:
{Документ.ОказаниеУслуги.Форма.ФормаДокумента.Форма(17)}: Поле объекта не обнаружено (Значение)
    СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками.РозничнаяЦена(Объект.Дата,Элемент.Значение);
27 La-fa
 
26.06.15
13:49
И при выборе в первой графе*
28 Славен
 
26.06.15
13:53
отладчик в руки )
29 La-fa
 
26.06.15
13:58
(28) Да я собрался с мыслями, да и решил просто скачать более актуальную книжку радченко. Глянул минутку и уже вижу какую-то галку, которую ранее не просили ставить. Спасиб за помощь.
30 hhhh
 
26.06.15
13:58
вот ваш друг продвинулся дальше 8.3 пример кода
31 La-fa
 
26.06.15
14:03
(30) ха-ха, я уже победил друга! Реально новая книжка все решила.
Строка должна выглядеть так:
СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками.РозничнаяЦена(
Объект.Дата, СтрокаТабличнойЧасти.Номенклатура);
+ лишняя галочка, хотя вроде она не решает.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.