Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: 1С для программиста

  Все выпуски  

RusFAQ.ru: 1С для программиста


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / 1С для программиста

Выпуск № 723
от 08.02.2008, 12:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 384, Экспертов: 49
В номере:Вопросов: 2, Ответов: 4

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 121420: Создал на форме табличную часть: имеются две колонки цена и количество, как сделать, чтобы в третьей колонке автоматически (по какому-нибудь событию) подсчитывалась сумма по каждой строке. 1С:Предприятие 8 Заранее спасибо...<p><fie...
Вопрос № 121421: Здравствуйте! Подскажите как сделать следующее. Имеется документ "ЗаказПокупателя" там есть кнопочка подбор, которая ссылается на обработку "ПодборНоменклатуры". При окончании подбора мне нужно, чтобы в текущем документе ...

Вопрос № 121.420
Создал на форме табличную часть: имеются две колонки цена и количество, как сделать, чтобы в третьей колонке автоматически (по какому-нибудь событию) подсчитывалась сумма по каждой строке.

1С:Предприятие 8

Заранее спасибо...

Уточнил версию программы
-----
∙ Отредактировал: Сергей Максименко [Elric] (Профессионал)
∙ Дата редактирования: 03.02.2008, 22:51
Отправлен: 03.02.2008, 12:08
Вопрос задал: Mkey87 (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Краюшкин Игорь Валерьевич
Здравствуйте, Mkey87!

В свойствах третей колонки, в закладке "Дополнительно" надо прописать формулу:
Цена*Количество (если они именно так у Вас и называются).
В результате, в третей колонке, автоматически будет отображаться изменение значения произведения в зависимости от изменения значений ячеек "Цена" и "Количество".
Ответ отправил: Краюшкин Игорь Валерьевич (статус: Студент)
Ответ отправлен: 03.02.2008, 14:32

Отвечает: Яна
Здравствуйте, Mkey87!
Ответ для 1С 8.
У каждой колонки есть заголовок и поле ввода для значения. Сделайте в двойной щелчок мышкой на поле ввода для значения, откроется окно свойств, в нем идите в самый низ, внизу есть событийные процедуры, Вас интересует процедура ПриИзменении, нажимаете на лупу в конце поля ввода имени процедуры, открывается (создается) тест процедуры. Там нужно написать следующее:
ТекущиеДанные=ЭлементыФормы.ИмяТабличнойЧасти.ТекущиеДанные();
ТекущиеДанные.Сумма=ТекущиеДанные.Цена*ТекущиеДанные.Количество;

Эту процедуру надо проделать дважды, для поля ввода в колонке цена и для поля ввода в колонке количество.
Ответ отправила: Яна (статус: Практикант)
Ответ отправлен: 04.02.2008, 10:30
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ. Всё сделал в точности как Вы писали. Всё работает...!!!

Отвечает: Владимир Лазурко [Vladal]
Здравствуйте, Mkey87!

Дополню ответы коллег. Наверняка функция вычисления суммы строки при изменении реквизитов у Вас будет повторяться как минимум 2 раза (при изменении реквизитов Цена и Количество). Это только в одном документе, и вычисления суммы происходят одним оператором в одну строку. Со временем Вы будете развивать и усложнять свою программу, например, добавив коэффициент пересчета количества в зависимости от единицы измерения товара или чтобы при изменении товара, валюты, курса валюты программа автоматически считывала его цену из справочника и вычисляла сумму строки. А представьте, что у Вас в конфигурации много документов и в каждом по несколько обработчиков, выполняющих одни и те же действия, а Вы хотите модернизировать повторяющуюся процедуру или исправить допущенную ошибку... Каждый раз искать и писать один и тот же код...

Если одно и то же действие (код программы) необходимо повторять много раз в разных модулях, имеет смысл его выделить в отдельную процедуру или функцию и поместить в общий модуль с ключевым словом Экспорт. В семерке это "Глобальный модуль", в восьмой платформе это "Общие модули" в ветви метаданных "Общие".

Итак, у Вас на данном этапе в модуле формы документа два раза повторяются строки:

ТекущиеДанные=ЭлементыФормы.ИмяТабличнойЧасти.ТекущиеДанные();
ТекущиеДанные.Сумма=ТекущиеДанные.Цена*ТекущиеДанные.Количество;


Первая строка определяет доступ к табличной части формы ИмяТабличнойЧасти, вторую как раз и будем повторять в общей процедуре. В дереве метаданных в ветке Общие // Общие модули создайте новый модуль, назовите его РаботаСДокументами и будете знать, что в этом модуле у Вас будут находиться все общие процедуры и функции для документов. Создайте процедуру РассчитатьСумму:

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

А в модулях документов строку ТекущиеДанные.Сумма=ТекущиеДанные.Цена*ТекущиеДанные.Количество; замените на

РассчитатьСумму(ТекущиеДанные);

С уважением, Владимир.
Ответ отправил: Владимир Лазурко [Vladal] (статус: Студент)
Ответ отправлен: 06.02.2008, 23:54


Вопрос № 121.421
Здравствуйте!

Подскажите как сделать следующее. Имеется документ "ЗаказПокупателя" там есть кнопочка подбор, которая ссылается на обработку "ПодборНоменклатуры". При окончании подбора мне нужно, чтобы в текущем документе реквизит "склад" переносился в табличную часть документа.

Спасибо.
Отправлен: 03.02.2008, 12:20
Вопрос задал: Василий Романов (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Владимир Лазурко [Vladal]
Здравствуйте, Василий Романов!

Судя из терминов, Вы имеете ввиду конфигурацию Управление Торговлей (1С:Предприятие 8.0). Там есть обработка ПодборНоменклатура. В типовых конфигурациях 1С:Предприятие 7.7 для подбора служит форма справочника.

У меня есть "под рукой" только УТ 2.2.4.4 для Украины, потому могут быть некоторые неточности в названиях.

Для того, чтобы в табличной части отображалась и использовалась колонка Склад, откройте настройки параметров учета в меню Сервис -> Настройка учета -> Настройка параметров учета. На вкладке Общие у меня есть пункт "Указание складов в табличной части документа" и рядом поле со списком выбора:
  • Не использовать
  • Для документов поступления
  • Для документов реализации
  • Для документов поступления и реализации

    Выберите пункт, в котором указаны документы реализации.

    В моей конфигурации в документе ЗаказПокупателя реквизит с типом Справочник.Ссылка.Склады называется Размещение.

    Подробно, как работает этот механизм написано в "Описании конфигурации Управление торговлей", раздел Розничная торговля.

    Владимир.
  • Ответ отправил: Владимир Лазурко [Vladal] (статус: Студент)
    Ответ отправлен: 07.02.2008, 02:49


    Вы имеете возможность оценить этот выпуск рассылки.
    Нам очень важно Ваше мнение!
    Оценить этот выпуск рассылки >>

    Отправить вопрос экспертам этой рассылки

    Приложение (если необходимо):

    * Код программы, выдержки из закона и т.п. дополнение к вопросу.
    Эта информация будет отображена в аналогичном окне как есть.

    Обратите внимание!
    Вопрос будет отправлен всем экспертам данной рассылки!

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


    Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
    Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


    © 2001-2008, Портал RusFAQ.ru, Россия, Москва.
    Авторское право: ООО "Мастер-Эксперт Про"
    Техподдержка портала, тел.: +7 (926) 535-23-31
    Хостинг: "Московский хостер"
    Поддержка: "Московский дизайнер"
    Авторские права | Реклама на портале
    Версия системы: 4.70 от 17.01.2008
    Яндекс Rambler's Top100
    RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
    Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

    В избранное