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

Запись данных введенных в ручную.

Автор надюшка, 04 окт 2011, 08:43

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

надюшка

Сейчас есть процедура, которая работает только при постановке данных через обработку, мне нужно в нее добавить возможность после этой обработки добавить возможность изменять данные в ручную.
Процедура ТоварыБазовыйТипЦенПриИзменении(Элемент)
ТекСтрока = ЭлементыФормы.Товары.ТекущиеДанные;

Если ЗначениеЗаполнено(ТекСтрока.Номенклатура ) и
ЗначениеЗаполнено(ТекСтрока.ФормируемыйТипЦен ) тогда
Текст = "ВЫБРАТЬ
| ПравилаФормированияЦенСрезПоследних.БазовыйТипЦен,
| ПравилаФормированияЦенСрезПоследних.ВидНаценки,
| ПравилаФормированияЦенСрезПоследних.Наценка
|ИЗ
| РегистрСведений.ПравилаФормированияЦен.СрезПоследних(
| ,
| ФормируемыйТипЦен = &ФормируемыйТипЦен
| И Номенклатура = &Номенклатура) КАК ПравилаФормированияЦенСрезПоследних";
Запрос = Новый Запрос(Текст);
Запрос.УстановитьПараметр("Номенклатура",ТекСтрока.Номенклатура);
Запрос.УстановитьПараметр("ФормируемыйТипЦен",ТекСтрока.ФормируемыйТипЦен);
Выборка  = Запрос.Выполнить().Выбрать();
Если  Выборка.Следующий() тогда
ТекСтрока.БазовыйТипЦен = Выборка.БазовыйТипЦен;
ТекСтрока.ВидНаценки = Выборка.ВидНаценки;
ТекСтрока.Наценка = Выборка.Наценка;
иначе
ТекСтрока.БазовыйТипЦен = Справочники.ТипыЦенНоменклатуры.ПустаяСсылка(); 
ТекСтрока.ВидНаценки = Перечисления.СпособыРасчетаЦены.ПустаяСсылка();
ТекСтрока.Наценка = 0;
КонецЕсли;
КонецЕсли;
ЗаполнитьЦену(ТекСтрока);
КонецПроцедуры
С каждого по мысле, мне на программу

has

Ниче не понял.
Цитата: надюшка от 04 окт 2011, 08:43
которая работает только при постановке данных через обработку
как это понять?

надюшка

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

has

А что не дает ввести прямо в табличной части? Нажимаете кнопку Insert и добавляется новая строка

надюшка

а нет такой возможности, он не дает самой в строке вносить данные, как только я выбираю "ФормируемыйТипЦен" - остальные столбцы подставляются автоматически, или пустые ссылки, а мне например надо изменить значения в других столбцах : БазовыйТипЦен, ВидНаценки, Наценка

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

has

При изменении базового типа цен выполняется указанный код. А данные берутся из формируемого типа цен. В чем смысл? А наценка, например, доступна для редактирования?

надюшка

при изменении формируемого типа цен, берутся данные из регистра, при изменении всех параметром слетает ФормируемыйТипЦен, если установить ФормируемыйТипЦен, он сносит все внесенные в ручную данные.
С каждого по мысле, мне на программу

has

Ну по коду видно что он заменяет, а надо чтобы если заполнены данные были, то не менял?

comol

Вам нужно при изменении цены на форме устанавливать флаг, потом в модуле объекта (где выполняется сей код) уже использовать этот флаг чтобы определить меняется цена руками или при пересчете
Статьи по оптимизации 1С: http://comol.livejournal.com/

надюшка

я поняла, нужно создать отдельную процедуру на изменение типаНаценки, наценки или Базового типа, а данную процедуру оставить только для изменения ФормируемогоТипаЦены.
С каждого по мысле, мне на программу

Теги:

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

Рейтинг@Mail.ru

Поиск