Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 ноя 2024, 20:05

Вопросы по учебнику Радченко, Хрусталёва "1С Предприятие 8.3"

Автор Spellscreamer, 19 авг 2022, 23:21

0 Пользователей и 1 гость просматривают эту тему.

Spellscreamer

Здравствуйте. Решил сменить профессию и из IT перейти в 1С. Мне 51 и я делаю только первые шаги в изучении 1С. Возраст не помеха. Сейчас сижу перед учебником Радченко и Хрусталёва, изучаю 4 урок. Но, что-то у них в книге неправильно. Вчера всю ночь пытался сам решить этот вопрос, не получается дойти самому. В задании 4 урока, нужно ввести изменение количества и суммы при расчёте. Данные записываются в Общем Модуле, Работа с Документами.

Процедура РассчитатьСумму(СтрокаТабличнойЧасти) Экспорт
   СтрокаТабличнойЧастиСумма =
                        СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена;
КонецПроцедуры
&НаКлиенте
Процедура МатериалыКоличествоПриИзменении(Элемент)
   СтрокаТабличнойЧасти=Элементы.Материалы.ТекущиеДанные;
   РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти)
КонецПроцедуры
&НаКлиенте
Процедура МатериалыЦенаПриИзменении(Элемент)
   СтрокаТабличнойЧасти=Элементы.Материалы.ТекущиеДанные;
   РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти)
КонецПроцедуры



При запуске отладчика, выдаёт ошибку.

{ОбщийМодуль.РаботаСДокументами.Модуль(7,23)}: Переменная не определена (Элементы)
   СтрокаТабличнойЧасти=<<?>>Элементы.Материалы.ТекущиеДанные; (Проверка: Тонкий клиент)
{ОбщийМодуль.РаботаСДокументами.Модуль(12,23)}: Переменная не определена (Элементы)
   СтрокаТабличнойЧасти=<<?>>Элементы.Материалы.ТекущиеДанные; (Проверка: Тонкий клиент)



Вопрос: Что я неправильно делаю? Прошу не судить строго, это мои первые шаги.

Spellscreamer

Разобрался при помощи кувалды и какой-то там матери. Клиентскую часть, вместо того, чтобы делать в "Документ ПриходнаяНакладная ФормаДокумента", я делал в "ОбщийМодуль РаботаСДокументами Модуль". Тем ценнее опыт. Всё делалось через выделение в "ФормаДокумента" - "МатериалыКоличество" - "Свойство" (опустил до самого низа) - "События" - "ПриИзменении". При нажатии на Лупу, открывается форма документа, куда вписывается клиентская часть. Так же и с ценой. В общем, новички. которые не справились с этим заданием, все сюда.

ПыСы: думаю, тема по этой книге должна остаться, чтобы новички, типа меня, не открывали дополнительные темы, а все сюда.

ПыСы2: В книге Радченко и Хрусталёва, это не описано, куда тыкать, куда нажимать и что делать. Описано всё так, будто всё должно делаться в Модуле, а на в Форме.

Баку. 2-22 ночи.

Александр Элетко

В 4 занятии Радченко : при Редактирован накладной : Чтобы произведение Количест. на Цену  (Сумма) получалось автоматич. и менялось при изменении как любого так и обоих сразу не получается - изменение цены не работает!


Количество работает, код внизу

&НаКлиенте 

Процедура МатериалыКоличествоПриИзменении()

СтрокаТабличнойЧасти = Элементы.Материалы.ТекущиеДанные;

РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);

КонецПроцедуры


На клиенте размещено в модуле формы, 


"РаботасДокументами" :


Процедура РассчитатьСумму(СтрокаТабличнойЧасти) Экспорт

СтрокаТабличнойЧасти.Сумма =

СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена;

КонецПроцедуры


размещена в Общем модуле.


Процедура с Ценой приведенная ниже.

&НаКлиенте

Процедура МатериалыЦенаПриИзменении()

СтрокаТабличнойЧасти = Элементы.Материалы.ТекущиеДанные;

РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);

КонецПроцедуры

Размещаю в модуле формы ( какая была с количеством) и не работает ни в одиночку (если не ставить количество), ни вдвоем, если поставить сразу за програмн.кодом Количества (приведен выше)


Приведите пожалуйста код обеих Обработчиков событ ( Колич и цена ) вместе и где надо было их размещать.
Объясните ради бога в чем ошибка. Я сам программист  писал на VBA в ЕXCEL до этого в других но не понимаю !!!

cast

В модуле формы

&НаКлиенте
Процедура СписокНоменклатурыЦенаПриИзменении(Элемент)
   стр = Элементы.СписокНоменклатуры.ТекущиеДанные;
   Стр.Сумма = Стр.Цена * Стр.Количество;
   
КонецПроцедуры

&НаКлиенте
Процедура СписокНоменклатурыКоличествоПриИзменении(Элемент)
   СписокНоменклатурыЦенаПриИзменении(Элемент);
КонецПроцедуры

Александр Элетко

cast, Спасибо но она не работает При изменении количества пересчитывает, а при изменении цены нет.

И было требование о вынесении в общий модуль процедуры пересчета произведения при изменении.
Спасибо

Tatipav

Александр Элетко, Вы разобрались с этим вопросом?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск