![]() |
![]() |
![]() |
|
Помогите новичку! ↓ (Волшебник 06.11.2017 14:39) |
☑ | ||
---|---|---|---|---|
0
oleg-vdgbu
18.02.11
✎
09:07
|
В примере из книги радченко:
СтрокаТабЧасти = Элементы.ПроданнМатериалы.Текущие данные; СтрокаТабЧасти.Сумма =СтрокаТабЧасти.Количество * СтрокаТабЧасти.Цена; где ПроданнМатериалы - таб-ца в справочнике, Сумма, цена - столбцы в ней. Вопросы: 1. набираю во второй строчке "СтрокаТабЧасти." и появляется подсказка, но она непонятно к чему относится? 2. Если строка не просто реквизит таблицы типа "Число", а СправочникСсылка на другой справочник "Прайсы", где как раз и располагается требуемый реквизит "Цена" Тогда как записать это выражение? Я как не пробую получаю ошибки... |
|||
1
chelentano
18.02.11
✎
09:09
|
(0) чо?
|
|||
2
Wobland
18.02.11
✎
09:11
|
(0) не понял. цену в справочнике Прайсы хранишь? напрасно
|
|||
3
Alexion124
18.02.11
✎
09:12
|
непонел..
|
|||
4
oleg-vdgbu
18.02.11
✎
09:17
|
В колонке "Цена" не число, а ссылка на другой справочник, где один из реквизитов как раз "цена" и есть?
Как это по другому-то сказать? |
|||
5
kosts
18.02.11
✎
09:20
|
(4) Тогда
СтрокаТабЧасти.Сумма =СтрокаТабЧасти.Количество * СтрокаТабЧасти.Цена.ЦенаПродажи; |
|||
6
МойКодУныл
18.02.11
✎
09:21
|
Мозг затрещал, но выдержал.
У тебя тип колонки Цена СправочникСсылка.Прайс, а у справочника Прайс есть реквизит Цена, так? Тогда твоя строка должна быть СтрокаТабЧасти.Цена.Цена - мьсе знает толк в извращениях. Не забудь проверить СтрокаТабЧасти.Цена на заполненность=) |
|||
7
МойКодУныл
18.02.11
✎
09:24
|
(0) А какое отношение ты имеешь к ВДГБ, который франч?
|
|||
8
oleg-vdgbu
18.02.11
✎
09:29
|
"к ВДГБ, который франч", отношения не имею.
ФГУ Волго-Донское ГБУВПиС, бухгалтерия, программист. Были на 7.7 заставляют переходить на 8.х. Но надеются, что бюджетку 7.7 все же переведут на новые рельсы. Поэтому на курсы не отправляют. Учу по самоучителям. |
|||
9
chelentano
18.02.11
✎
09:30
|
(8) самоучитель - это mista что ли?
|
|||
10
МойКодУныл
18.02.11
✎
09:32
|
(8) Ок. Тогда не зря помог), если помог.
|
|||
11
oleg-vdgbu
18.02.11
✎
10:12
|
СтрокаТабЧасти.Сумма =СтрокаТабЧасти.Количество * СтрокаТабЧасти.Цена.ЦенаПродажи;
пишет "Поле объекта не обнаружено "ЦенаПродажи" |
|||
12
chelentano
18.02.11
✎
10:14
|
(11) видимо, поле объекта не обнаружено "ЦенаПродажи"...
|
|||
13
kosts
18.02.11
✎
10:16
|
(11) :-)))
ЦенаПродажи замени на свой реквизит |
|||
14
chelentano
18.02.11
✎
10:17
|
(13) СтрокаТабЧасти.Сумма =СтрокаТабЧасти.Количество * СтрокаТабЧасти.Цена.СвойРеквизит;
пишет "Поле объекта не обнаружено "СвойРеквизит"< |
|||
15
oleg-vdgbu
18.02.11
✎
10:36
|
мой реквизит "Цена" имеет тип СправочникСсылка на справочник Прайсы, у которого и есть нужный рекизит ЦенаПродажи.
Вот про него 1С и говорит, что это поле ("ЦенаПродажи ") не обнаружено. |
|||
16
Спящая
18.02.11
✎
10:52
|
(8) бюджетники значит ? поздравляю коллега. нас бюджетников не много тут, но мы есть.
|
|||
17
Спящая
18.02.11
✎
10:53
|
(15) я бы все таки по перву из ссылки получила объект
методом ПолучитОбъект() а потом уже работала с реквизитами этого объекта |
|||
18
oleg-vdgbu
18.02.11
✎
10:54
|
Я очень рад, может кто-то всё же поможет?
|
|||
19
dva1c
18.02.11
✎
10:55
|
(17)+1
|
|||
20
oleg-vdgbu
18.02.11
✎
10:55
|
А примерным текстом можно? Пожалуйста?
|
|||
21
dva1c
18.02.11
✎
10:56
|
(20) надо писать утвердительно: "Пожалуйста!"
|
|||
22
Спящая
18.02.11
✎
10:56
|
ОбъектПрайс = Цена.ПолучитьОбъект()
а потом ОбъектПрайс.СвойРеквизит кажется так |
|||
23
Darklight
18.02.11
✎
11:14
|
Смотрю на это и чисто конктетно спозаю под стол...
но при этом реально хочу помочь - но не понимаю как ;) Давайте попробуем разборать что у тебя там написано: СтрокаТабЧасти = Элементы.ПроданнМатериалы.ТекущиеДанные; Здесь идёт образение к объекты СправочникСписок если это доукменты, то это ничего не меняет) для получения текущих данных, выведенных в этом объекте и выбранных в качестве текущей строки. Но состав выведенных реквизитов в этой строке может быть любым, поэтому для получения всех реквизитов этого справочника лучше обращаться к нему через Ссылку - будет что-то типа этого: ЭлементСправочникаПроданныеМатериалы = Элементы.ПроданнМатериалы.ТекущиеДанные.Ссылка; Далее японимаю, что реквизит "Цена" этого элемента - это ссылка на друго справочник - ок - давайте получим его в отдельной переменной ЭлементСправочникаПрайс = ЭлементСправочникаПроданныеМатериалы.Цена; Далее, нам нужно получить сумму, я понимаю, что у элементов справочника "Прайс" есть некий реквизит (имя его мне не известно), в котором находится цена - пусть он будет называться "Цена" - Тогда й можно получить так Цена = ЭлементСправочникаПрайс.Цена Количество берётся из первого справочника - из его реквизита "Количество" - получаем Количество = ЭлементСправочникаПроданныеМатериалы.Количество; Ну и сумму получаем так Сумма = Количество*Цена; Или всё в одну строку Сумма = Элементы.ПроданнМатериалы.ТекущиеДанные.Ссылка.Цена.Цена*Элементы.ПроданнМатериалы.ТекущиеДанные.Ссылка.Количество; Вот и всё. Но это я не понял - есть ли здесь действительно табличные части или их нет. Вышеописаный код не обращается к табличным частям. |
|||
24
oleg-vdgbu
18.02.11
✎
11:26
|
СтрокаТабЧасти = Элементы.ПроданнМатериалы.Текущие данные;
ОбъектИгра = СтрокаТабЧасти.Цена.ПолучитьОбъект(); >> Метод объекта не обнаружен (ПолучитьОбъект) |
|||
25
Evgenchik
18.02.11
✎
11:27
|
СтрокаТабЧасти.Цена - какой тип значения?
|
|||
26
Darklight
18.02.11
✎
11:35
|
Напиши вот так
сообщить(ТипЗнч(СтрокаТабЧасти.Цена)); ОбъектИгра = СтрокаТабЧасти.Цена.ПолучитьОбъект(); и скажи что будет выведено в окне служебных сообщений |
|||
27
oleg-vdgbu
18.02.11
✎
11:42
|
Ок! Сформулирую заново:
Есть справочник "Прайс". В нем есть реквизит НЕ табличной части "ЦенаПродажи". Есть справочник "ПроданнМатериалы", где в табличной части есть реквизиты: сумма, количество - число; и "Цена" - эти СправочникСсылка.Прайс как мне получить для конкретной строки в "ПроданнМатериалы" получить сумма = количество * Цена ??? |
|||
28
Evgenchik
18.02.11
✎
11:47
|
если у тебя и "Цена" - это СправочникСсылка.Прайс и есть реквизит НЕ табличной части "ЦенаПродажи", то должно получится
СтрокаТабЧасти.Количество * СтрокаТабЧасти.Цена.ЦенаПродажи; |
|||
29
oleg-vdgbu
18.02.11
✎
11:47
|
строка
сообщить(ТипЗнч(СтрокаТабЧасти.Цена)); выдает сообщение "Прайс" |
|||
30
Evgenchik
18.02.11
✎
11:49
|
а должно быть СправочникСсылка.Прайс
|
|||
31
oleg-vdgbu
18.02.11
✎
11:53
|
(28)
СтрокаТабЧасти.Сумма=СтрокаТабЧасти.Количество * СтрокаТабЧасти.Цена.ЦенаПродажи; Поле объекта не обнаружено (ЦенаПродажи) |
|||
32
Darklight
18.02.11
✎
11:53
|
(27) "для конкретной строки" строки чего - элемента справочника "ПроданнМатериалы" или строки элемента табличной части справочника "ПроданнМатериалы" (кстати как называется эта табличная часть)?
|
|||
33
Darklight
18.02.11
✎
11:55
|
(29) - не понял - так и пишет - всего одно слово "Прайс"? так не бывает ;)
|
|||
34
oleg-vdgbu
18.02.11
✎
12:00
|
(32)
1. строки элемента табличной части справочника "ПроданнМатериалы" 2. В примере из книги радченко: СтрокаТабЧасти = Элементы.ПроданнМатериалы.Текущие данные; в примере у Радченко же название табличной не упоминается? |
|||
35
oleg-vdgbu
18.02.11
✎
12:02
|
(33)
пишет просто "Прайс" (30) "а должно быть СправочникСсылка.Прайс" И как этого добиться? |
|||
36
Evgenchik
18.02.11
✎
12:04
|
по моему "ПроданнМатериалы" - это и есть табличная часть
|
|||
37
kosts
18.02.11
✎
12:18
|
Как успехи, переживаю...
|
|||
38
Evgenchik
18.02.11
✎
12:31
|
я столько не осилю..
автор, ты где там? |
|||
39
oleg-vdgbu
18.02.11
✎
12:45
|
(36) Sorry!
"ПроданнМатериалы" - это табличная часть |
|||
40
Darklight
18.02.11
✎
12:52
|
(35)(39) я уже пол под столом начал продавливать - спользать уже некуда...
|
|||
41
Evgenchik
18.02.11
✎
12:53
|
дальше то что?
|
|||
42
Спящая
18.02.11
✎
12:58
|
(39) прикольно
|
|||
43
oleg-vdgbu
18.02.11
✎
13:13
|
Да после 7.7 плакать хочется. Тем более, что и там писал по мелочи, большую часть конфигурации дописывала под нашу организацию франчайзачка. А сейчас сказали из стандартной будем сами получать "путем обработки напильником" похожую, только под 8.
И хотя (40 и 42 может и верно выражаются), но ведь ни один совет так и не сработал??? |
|||
44
oleg-vdgbu
18.02.11
✎
13:19
|
А текст напрямую взят из М.Г.Радченко, Е..Ю. Хрусталева 1С: ПРЕДПРИЯТИЕ 8.2 Практическое пособие разработчика.
И пока цена была из той же табличной части процедура ПриИзменении() замечательно считала Сумму. |
|||
45
Darklight
18.02.11
✎
13:33
|
Тут будет трудно дать своет - пока не будет точно сформулированы все исходные данные (структура, типы, место применения) и поставлена конкретная цель - что хочется получить.
|
|||
46
Darklight
18.02.11
✎
13:35
|
(35) а что будет выведено если напсиать вот так:
сообщить(ТипЗнч(Ссылка)+" - "+ТипЗнч(СтрокаТабЧасти)); |
|||
47
Darklight
18.02.11
✎
13:35
|
(46)пардон, опечатался, надо вот так
сообщить(""+ТипЗнч(Ссылка)+" - "+ТипЗнч(СтрокаТабЧасти)); |
|||
48
oleg-vdgbu
18.02.11
✎
13:46
|
(45) за исключение того, "ПроданнМатериалы" - это таличная чать в справочнике "Услуги" (27)-ой пункт по моему в вольном стиле исчерпывает описание и ТЗ.
Могу уточнить, все что скажите или выложить куда-то для примера конфигурацию. Но она учебная - в ней, кроме описанного и нет ничего. (47) Проверка синтаксиса пишет: Переменная не определена (Ссылка) |
|||
49
chelentano
18.02.11
✎
13:49
|
(43) "после 7.7 плакать хочется" - вот не надо тут... значит и в 77 ты нифига не соображал
|
|||
50
Evgenchik
18.02.11
✎
13:51
|
выложи куда нить, и дай ссылку - я бы посмотрел
|
|||
51
Evgenchik
18.02.11
✎
13:53
|
(49) "Тем более, что и там писал по мелочи, большую часть конфигурации дописывала под нашу организацию франчайзачка"
|
|||
52
Evgenchik
18.02.11
✎
13:58
|
опиши, что ты там в интерфесе нарисовал
|
|||
53
chelentano
18.02.11
✎
13:58
|
(51) если ТС мог написать что-то подобное в 77, то и здесь бы это трудностей не составило
|
|||
54
oleg-vdgbu
18.02.11
✎
13:59
|
||||
55
oleg-vdgbu
18.02.11
✎
14:05
|
(51) Вот именно, что по мелочи. Я и не скрываю, что изучаю 1С считай, что с нуля.
Но очень хотел бы теперь разобраться досконально. А в книгах не все понятно и многое опущено. Писали для уровня chelentano сами chelentano/ |
|||
56
Evgenchik
18.02.11
✎
14:12
|
у товарища 8.2
Элементы.ПроданнМатериалы - это таблица формы |
|||
57
ildary
18.02.11
✎
14:16
|
Пользуясь случаем задам вопрос опытным восьмерочникам - где можно найти инфу по начальной подстройке конфигуратора под себя? Я встречал как-то подобную страницу с советами и готовыми рецептами на ...арте, но посеял ссылку, а поиском потом не нашел (может ее и потерли).
|
|||
58
Evgenchik
18.02.11
✎
14:18
|
на клиенте не может быть объектов, потому и не получается выцепить цену
|
|||
59
Evgenchik
18.02.11
✎
14:22
|
наверно как то так
&НаСервере Функция ПолучитьЦену(СсылкаПрайс) ОбъектЦена = СсылкаПрайс.ПолучитьОбъект(); Цена = ОбъектЦена.ЦенаПродажи; Возврат Цена; КонецФункции &НаКлиенте Процедура ПроданнМатериалыколичествоПриИзменении(Элемент) СтрокаТабЧасти = Элементы.ПроданнМатериалы.ТекущиеДанные; ЦенаИзПрайса = ПолучитьЦену(СтрокаТабЧасти.Цена); СтрокаТабЧасти.Сумма =СтрокаТабЧасти.Количество * ЦенаИзПрайса; КонецПроцедуры |
|||
60
Evgenchik
18.02.11
✎
14:22
|
сильно не ругайте, я 82 еще не знаю :)
|
|||
61
kosts
18.02.11
✎
14:31
|
(59) Разве нужно получить объект, что по ссылке не вернет Цену продажи?
Так не работает что ли? Функция ПолучитьЦену(СсылкаПрайс) Возврат СсылкаПрайс.ЦенаПродажи; КонецФункции |
|||
62
Evgenchik
18.02.11
✎
14:33
|
(61) ага, работает. что-то тут все об объекте говорили - вот и зациклился на него
|
|||
63
oleg-vdgbu
18.02.11
✎
14:40
|
Евгений, большое спасибо!
Скажите, я правильно понял, если какая процедура целиком выполняется &НаСервере, то этих кунштюков по искусственному разделению процедуры на части делать уже не нужно? Только если какая-то обработка выполняется на стороне клиента? Может кто подскажет, что обязательно выполняется на стороне клиента? |
|||
64
oleg-vdgbu
18.02.11
✎
14:44
|
(61) Но все равно "&НаСервере" ? или не обязательно?
|
|||
65
Evgenchik
18.02.11
✎
14:44
|
а фиг знает, я про это разделение еще не читал :(
|
|||
66
Evgenchik
18.02.11
✎
14:46
|
(64)
Тип: СправочникОбъект. Описание: Получает по ссылке объект, предназначенный для чтения, изменения, добавления и удаления справочника. Доступность: Сервер, толстый клиент, внешнее соединение. Сам объект со всеми реквизитами находится на сервере, там что обязательно получение цены на сервере. |
|||
67
oleg-vdgbu
18.02.11
✎
14:56
|
(64)
Понял. Не понял только, почему если запихнуть (59) под гриф "&НаКлиенте", то пишет: Функция <<?>>ПолучитьЦену(СсылкаПрайс) (Проверка: Тонкий клиент) |
|||
68
oleg-vdgbu
18.02.11
✎
14:57
|
(67) Пардон.
Процедура или функция с указанным именем уже определена (ПолучитьЦену) Функция <<?>>ПолучитьЦену(СсылкаПрайс) (Проверка: Тонкий клиент) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |