Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
12 Дек 2017, 19:13
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Как реализовать автоматическое проставление суммы при изменении количества?  (Прочитано 6634 раз)

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

Оффлайн sapravka

  • *
  • Сообщений: 40
  • РЕПУТАЦИЯ: 1
  • КПД: 3%
  • Регистрация: 2011-09-27
  • Сайт: волгалаб.рф
  • Профессия: Ученик 1С
Здравствуйте!
 Имеется конфигурация самописная, про общепит: Там есть документ списания. И списываются как просто позиция номенклатуры, так и блюда (у которых своя цена) в одном документе. Добавил новый реквизит в табличную часть – СУММА и добавил его руками в табличную часть. Суммы есть в 2 справочниках:
 1 Справочник блюд.
 2. Справочник номенклатура.

 В связи с этим убедительно прошу – подскажите пожалуйста, пример кода для автоматическое проставление суммы при заполнении(изменении) количества?

http://волгалаб.рф/1c/14.jpg

 Идея меня посещала следующая:
 В модуле формы написать процедуру, которая при заполнении(изменении) автоматический проставляла бы сумму!
 Но вот как эту процедуру завязать на реквизит табличной части, что бы при изменении количества номенклатуры или блюда, автоматом бы менялась сумма – я никак не пойму!
 Убедительно прошу – помогите!

 Если не сложно – дайте пожалуйста пример кода с комментариями...


Оффлайн Herby

  • *****
  • Сообщений: 936
  • РЕПУТАЦИЯ: 164
  • КПД: 18%
  • Регистрация: 2010-08-31
  • Сайт: 
  • Профессия: Программист 7.7
Здравствуйте!
 Имеется конфигурация самописная, про общепит: Там есть документ списания. И списываются как просто позиция номенклатуры, так и блюда (у которых своя цена) в одном документе. Добавил новый реквизит в табличную часть – СУММА и добавил его руками в табличную часть. Суммы есть в 2 справочниках:
 1 Справочник блюд.
 2. Справочник номенклатура.

 В связи с этим убедительно прошу – подскажите пожалуйста, пример кода для автоматическое проставление суммы при заполнении(изменении) количества?

http://волгалаб.рф/1c/14.jpg

 Идея меня посещала следующая:
 В модуле формы написать процедуру, которая при заполнении(изменении) автоматический проставляла бы сумму!
 Но вот как эту процедуру завязать на реквизит табличной части, что бы при изменении количества номенклатуры или блюда, автоматом бы менялась сумма – я никак не пойму!
 Убедительно прошу – помогите!

 Если не сложно – дайте пожалуйста пример кода с комментариями...

в свойствах колонки "количество" в поле "Формула" пропишите название процедуры, в которой будет вычисляться ваша сумма

Оффлайн sapravka

  • *
  • Сообщений: 40
  • РЕПУТАЦИЯ: 1
  • КПД: 3%
  • Регистрация: 2011-09-27
  • Сайт: волгалаб.рф
  • Профессия: Ученик 1С
Здравствуйте!
 Имеется конфигурация самописная, про общепит: Там есть документ списания. И списываются как просто позиция номенклатуры, так и блюда (у которых своя цена) в одном документе. Добавил новый реквизит в табличную часть – СУММА и добавил его руками в табличную часть. Суммы есть в 2 справочниках:
 1 Справочник блюд.
 2. Справочник номенклатура.

 В связи с этим убедительно прошу – подскажите пожалуйста, пример кода для автоматическое проставление суммы при заполнении(изменении) количества?

http://волгалаб.рф/1c/14.jpg

 Идея меня посещала следующая:
 В модуле формы написать процедуру, которая при заполнении(изменении) автоматический проставляла бы сумму!
 Но вот как эту процедуру завязать на реквизит табличной части, что бы при изменении количества номенклатуры или блюда, автоматом бы менялась сумма – я никак не пойму!
 Убедительно прошу – помогите!

 Если не сложно – дайте пожалуйста пример кода с комментариями...

в свойствах колонки "количество" в поле "Формула" пропишите название процедуры, в которой будет вычисляться ваша сумма

Спасибо!
А пример кода для выборки суммы из двух разных справочников?
Подскажите пожалуйста!

Оффлайн Herby

  • *****
  • Сообщений: 936
  • РЕПУТАЦИЯ: 164
  • КПД: 18%
  • Регистрация: 2010-08-31
  • Сайт: 
  • Профессия: Программист 7.7
А пример кода для выборки суммы из двух разных справочников?

не совсем ясен вопрос.
да и не зная структуры ваших справочников сложно какие либо примеры писать.

Оффлайн sapravka

  • *
  • Сообщений: 40
  • РЕПУТАЦИЯ: 1
  • КПД: 3%
  • Регистрация: 2011-09-27
  • Сайт: волгалаб.рф
  • Профессия: Ученик 1С
Вот написал в модуле формы код:

Процедура ПриОткрытии()
ПриЗаписиПерепроводить(1);
Если ПустаяСтрока(Склад)=1 тогда
  Склад=Константа.СкладПоУмолчанию;
КонецЕсли;
//Вот дописал при открытии
  Сумма = Номенклатура.Цена*Количество;
//но почемуто не считает
КонецПроцедуры

//{{ПРОЦЕДУРА_ПЕЧАТИ(Печать)
//Данный фрагмент построен конструктором.
//При повторном использовании конструктора, внесенные вручную изменения будут потеряны!!!
Процедура Печать()
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Печать");
Таб.ВывестиСекцию("Шапка");
Таб.Опции(0,0,0,0);
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
  Таб.ВывестиСекцию("Строка");
КонецЦикла;
Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр(1);
Таб.Показать("Печать Списание","");
КонецПроцедуры
//}}ПРОЦЕДУРА_ПЕЧАТИ

/// Дописано

Процедура Пересчет()
  Сумма = Номенклатура.Цена*Количество;
КонецПроцедуры //Пересчет

Добавил процедуру Перерасчет() в колонку Номенклатура, Колличество
Если редактируешь - изменяешь, добавляешь, да просто целкнуть по цене или количеству или номенклатуре - то:
 Цена автоматический появляется, изменяется - все просто замечательно...

Но вот при открытии формы почему то автоматический цену в уже заполненых формах не проставляет!!!
Подскажите пожалуйста как это реализовать....


Да и вот еще...
 Как прописать сообщение - например - если нет цены в справочнике номенклатура - кроме продуктов питания, остальное приходуют общими суммами, например моющие спредства оприходывали на 10 тысяч, а вот списывают по ведомости - например моющее средство фери - 5 штук, а цены на него соответственно нету...
 Что бы в самом низу выдавалась сообщение - На (наименование из номенклатора) нет цены... Ну что нибудь в этом ключе... В принципе текст придумать не проблема, главное что бы брал нужную позицию...

Вот файл 1Cv7.MD:
1Cv7.MD

Оффлайн Herby

  • *****
  • Сообщений: 936
  • РЕПУТАЦИЯ: 164
  • КПД: 18%
  • Регистрация: 2010-08-31
  • Сайт: 
  • Профессия: Программист 7.7

Но вот при открытии формы почему то автоматический цену в уже заполненых формах не проставляет!!!
Подскажите пожалуйста как это реализовать....



  Во-первых, нужно выполнить выборку строк табличной части методом ВыбратьСтроки(), а потом в цикле по обходу строк табличной части делать пересчет для каждой строки.
  Во-вторых, у вас цена из справочника неправильно определяется, такое обращение к цене всегда будет возвращать нуль. Цена - это периодический реквизит, по крайней мере так должно быть, и наверняка она и у вас периодическая, поэтому обращаться нужно через метод получить(): 
Номенклатура.Цена.Получить(<Дата, на которую необходимо определить цену>)

Ды и бред это.. так нельзя делать. Т.е. у вас сумма будет пересчитываться каждый раз при открытии.
нужно написать обработку внешнюю, которая для старых документов, заполнит колонку сумму.

Кстати, ваша колонка, которую вы добавили, она является реквизитом метаданных, или вы просто добавили колонку, не привязывая ее к реквизиту табличной части?

И в чем сложность вывода сообщения я так и не понял :-\
обычное школьное условие: Если цена равна тому-то тому, то выводим нужное сообщение.


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
168 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
48 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 361
  • Точка Скрытых: 0
  • Точка Пользователей: 9
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal