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

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

  Все выпуски  

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


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

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

Чемпионы рейтинга экспертов в этой рассылке

Владимир Лазурко
Статус: Профессионал
Рейтинг: 917
∙ повысить рейтинг »
М.Денис
Статус: Студент
Рейтинг: 712
∙ повысить рейтинг »
Краюшкин Игорь Валерьевич
Статус: Студент
Рейтинг: 701
∙ повысить рейтинг »

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

Номер выпуска:1116
Дата выхода:28.11.2009, 14:00
Администратор рассылки:Владимир Лазурко, Профессионал
Подписчиков / экспертов:542 / 131
Вопросов / ответов:1 / 2

Вопрос № 174478: Ув.эксперты. Помогите разобраться в следующем ситуации. Как добавить вычисляемую колонку "остатков" в списке, справочника материалов? Также скрыть в списке нулевых элементов материла, на некую дату. платформа 7.7 (025),компонен...



Вопрос № 174478:

Ув.эксперты.
Помогите разобраться в следующем ситуации.
Как добавить вычисляемую колонку "остатков" в списке, справочника материалов?
Также скрыть в списке нулевых элементов материла, на некую дату.
платформа 7.7 (025),компонент бухучет, конфигурация самописная, сетевая.

спасибо.

Отправлен: 23.11.2009, 13:46
Вопрос задал: Abdugani abdrimov, Посетитель
Всего ответов: 2
Страница вопроса »


Отвечает DeMaSya, 2-й класс :
Здравствуйте, Abdugani abdrimov.
Открываете конфигуратор, далее справочник Материалы > Форма списка > Добавляете новую колонку (допустим будет "остаток"). Теперь нужно добавить Функцию и переменные в модуль формы (пусть будет Функция ОстатокНаСкладе() ), переменные добавляются в начало модуля формы (Перем БухИт, Сч10;)
Содержимое Функции(текст примерный, потому что я не знаю что у вас там дописано в вашей конфигурации):
Функция ОстатокНаСкладе(РасчетИзКолонки=1)
Остаток = 0;
Если (РасчетИзКолонки = 0) или ((РасчетИзКолонки = 1) и (ФлагОстаткиВКолонке = 1)) Тогда
Если (КонМесяца(КонтекстФормыДокумента.ДатаДок) <= КонецРассчитанногоПериодаБИ())
и (ТекущийЭлемент().Выбран() = 1) Тогда
Если МестоХранения.Выбран() = 1 Тогда
Остаток = БухИт.СКД(ТекущийЭлемент().СубСчет10, "К",, ТекущийЭлемент(), МестоХранения);
Иначе
Остаток = БухИт.СКД(ТекущийЭлемент().СубСчет10, "К",, ТекущийЭлемент());
КонецЕсли;
К онецЕсли;
КонецЕсли;

Возврат СокрЛ(Формат(Остаток, "Ч15.3."));
КонецФункции // ОстатокНаСкладе

Потом опять открываем форму списка и нажимаем правой кнопкой мыши на колонке остаток, далее свойства, переходим на вкладку "Дополнительно" и в поле формула пишем "ОстатокНаСкладе()
Далее нажимаем "ОК" Сохраняем изменения и наслаждаемся
Редактирование ответа по просьбе эксперта
-----
∙ Отредактировал: Николай Владимирович / Н.В., Старший модератор
∙ Дата редактирования: 23.11.2009, 15:19 (время московское)

Ответ отправил: DeMaSya, 2-й класс
Ответ отправлен: 23.11.2009, 15:00

Оценка ответа: 5
Комментарий к оценке:
отлично, все получилась!
спасибо всем

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 256855 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Астафьев Александр Николаевич, Студент :
    Здравствуйте, Abdugani abdrimov. Как вывести остатки вам уже написали так что не буду повторяться. Чтобы скрыть материалы с нулевыми остатками вам прийдется воспользоваться командой ИспользоватьСписокЭлементов() Например в процедуре ПриОткрытии перебрать весь справочник Материалов через функцию типа предложенной ОстатокНаСкладе() например и занести в список значений материалы с ненулевым остатком. Конечно справочник будет гораздо медленнее открываться но что делать. Хотя можно воспользоваться Транзакциями, Но сначала на копии проверте скорость открытия справочника т.к. при запуске транзакции блокируются все пользователи так что если база будет вставать "колом" больше чем на три-пять секунд пойдут жалобы от прользователей что база "виснет". Использование команды УстановитьОтбор исключается т.к это работает только по атрибутам справочника. Удачи !!!

    Приложение:

    -----
    не верь, не бойся, не проси!!!

    Ответ отправил: Астафьев Александр Николаевич, Студент
    Ответ отправлен: 23.11.2009, 20:23

    Оценка ответа: 5
    Комментарий к оценке:
    Да получилась.
    Огромное спасибо!

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 256879 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


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

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

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2009.6.11 от 17.11.2009

    В избранное