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

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

  Все выпуски  

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


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

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

Выпуск № 259
от 28.07.2006, 20:35

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


Вопрос № 49945: Как осуществить такую фишку. У меня есть табличная часть, например ЗП. Мне необходимо, чтобы когда двойным щелчком мыши кликнуть на например значения оклада, чтобы система не переходила в режим редактирования значения а запустила какую ...
Вопрос № 49956: Здравствуйте уважаемые эксперты! Я сейчас изучаю 1С 7.7 по учебнику с www.mista.ru, пример: Мини склад Там происходит запрос, а потом выводится в таблицу. Вопрос: Что такое "#N019.3" ? (В таблицу результат выводится через: &...

Вопрос № 49.945
Как осуществить такую фишку.
У меня есть табличная часть, например ЗП. Мне необходимо, чтобы когда двойным щелчком мыши
кликнуть на например значения оклада, чтобы система не переходила в режим редактирования значения
а запустила какую - нибудь процедуру. Как это организовать???
Кстати, 1С ver 7.7 release 23
Отправлен: 23.07.2006, 14:02
Вопрос задал: Karanskiy Arkadiy (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Elric
Здравствуйте, Karanskiy Arkadiy!

В модуле формы в предопределенной процедуре ПриНачалеВыбораЗначения для этого реквизита (например, Оклад) описываешь что должно выполняться вместо редактирования его значения.
---------
Мирный атом в КАЖДЫЙ дом
Ответ отправил: Elric (статус: Студент)
Ответ отправлен: 23.07.2006, 14:19
Оценка за ответ: 5
Комментарий оценки:
Спасибо. Попробую.

Отвечает: IUnknown
Здравствуйте, Karanskiy Arkadiy!
Процедура ПриНачалеВыбораЗначения(ЭлементДиалога, Флаг)
Если ЭлементДиалога = "НужнаяМнеКолонка" Тогда
Флаг = 0;
ЗапуститьМоюПроцедуру();
КонецЕсли;
КонецПроцедуре
---------
я не специалист
Ответ отправил: IUnknown (статус: 6-ой класс)
Ответ отправлен: 23.07.2006, 14:21
Оценка за ответ: 5
Комментарий оценки:
Спасибо. Попробую.


Вопрос № 49.956
Здравствуйте уважаемые эксперты!
Я сейчас изучаю 1С 7.7 по учебнику с www.mista.ru, пример: Мини склад
Там происходит запрос, а потом выводится в таблицу.
Вопрос: Что такое "#N019.3" ?
(В таблицу результат выводится через: "Запрос.КоличествоКонОст#N019.3")
Пробовал убирать сие. Но разницы не видно.
Отправлен: 23.07.2006, 15:45
Вопрос задал: КАВ (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Elric
Здравствуйте, КАВ!

В таблице
Запрос.КоличествоКонОст#N019.3
аналогично
Формат(Запрос.КоличествоКонОст,"N019.3")
или
Формат(Запрос.КоличествоКонОст,"Ч019.3")

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

Следовательно если
Запрос.КоличествоКонОст=12.356
то разницы при выводе на печать с #N019.3 или без этого Вы не почувствуете. А вот 12.9 выведется как 12.900; 0 вообще не выведется.
---------
Мирный атом в КАЖДЫЙ дом
Ответ отправил: Elric (статус: Студент)
Ответ отправлен: 23.07.2006, 16:01
Оценка за ответ: 5
Комментарий оценки:
Спасибо!

Отвечает: Uranium
Здравствуйте, КАВ!

"#N019.3" - форматная строка вывода выражения. 0 - значит, что нулевые значения будут отображаться прочерком; 19 - максимальное число символов в выводимой строке; 3 - количество символов после запятой.

Подобным образом можно форматировать вывод не только чисел, но и денежных величин и дат. Подробнее о форматировании выражений можно посмотреть в синтакс-помощнике: встроенный язык -> системные -> функции/процедуры -> форматирование -> формат
Ответ отправил: Uranium (статус: 1-ый класс)
Ответ отправлен: 23.07.2006, 16:36
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ.

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

Это команда форматирования выводимой строки
# - сама команда формата
N - выводится число
0 - подавляет отображение нулевых значений (выводится пустая строка).
19 - длина выводимой строки
.3 - три знака после запятой.
Ответ отправил: Краюшкин Игорь Валерьевич (статус: 3-ий класс)
Ответ отправлен: 23.07.2006, 19:21
Оценка за ответ: 5
Комментарий оценки:
Спасибо большое.

Отвечает: Сергей
Здравствуйте, КАВ!
#N019.3 - это формат вывода числа в ячейке таблицы, который обозначает, что вывожится число с 19 знаками, из них 3 после запятой. В 1с существует много других форматов, например, работа с датой: "Д ДДММГГГГ",....
А в синтакс-помощнике про это написано следующее:
Формат(<?>,)
Синтаксис:
Формат(<Параметр>,<Форматная_строка>)
Назначение:
Возвращает строку с результатом форматирования выражения по заданной форматной строке.
Параметры:
<Параметр> - форматируемое выражение,
<Форматная_строка> - форматная строка.
Форматная строка имеет вид:
для чисел - 'Nm.n<разделитель дробной><разделитель триад>' (в русском регистре вместо N - Ч);
для денежных величин - 'NSMH' (в русском регистре - 'ЧПДС');
для строк - 'Sn' (в русском регистре - 'Сn');
для дат - 'DПодстрокаФормата' (в русском регистре вместо D - Д), где
ПодстрокаФормата может быть вида:
DDMMYY (ДДММГГ), дата в виде - ДД.ММ.ГГ;
DDMMYYYY (ДДММГГГГ), дата в виде - ДД.ММ.ГГГГ;
DDMMMMYYYY (ДДММММГГГГ), дата в виде - ДД месяц прописью ГГГГ;
(0)DDMMMMYYYY ((0)ДДММММГГГГ) этот формат представляет собой вариант предыдущего формата с тем отличием, что число месяца всегда выводится двумя цифрами, т.е. для чисел меньших 10 спереди будет добавлен 0. Например: Формат('01.01.1999', ''Д (0)ДДММММГГГГ'') = 01 Января 1999 г.
MMMMYYYY (ММММГГГГ), дата в виде - месяц прописью ГГГГ;
MMMMYY (ММММГГ), дата в виде - месяц прописью ГГ;
QQQQYYYY (ККККГГГГ), дата в виде - N квартал ГГГГ;
QQQQYY (ККККГГ), дата в виде - N квартал ГГ;
YYYYMMDD (ГГГГММДД), дата в виде ГГГГММДД, то есть дата '10.11.1998' будет представлена как строка ''19981110'';
WWWW (НННН), выводит наименование дня недели, соответсвующее указанной дате. Наименования дней недели берутся из файла прописи.
Замечание:
Для чисел: наличие ''0'' перед длиной поля подавляет отображение нулевых значений (выводится пустая строка). Пример: ''Ч015.2'';
Символ ''-'' перед длиной поля означает, что нулевые значения при выводе будут отображаться прочерком. Пример: ''Ч-17.2''.;
Если форматная строка заканчивается символами >X, происходит сдвиг отображаемых разрядов на X позиций.
Если в форматной строке указано ''(0)'', то данная последовательность символов должна быть первой в формате и предшествовать всем прочим спецификациям. При задании такой спецификации все позиции в поле вывода числа, соответствующие незадействованным старшим разрядам, будут заполнены символами ''0''. Например: Формат(123.15, ''Ч (0)10.2'') = 0000123.15;
Подробнее см. в документации, глава 'Системные процедуры и функции'
Ответ отправил: Сергей (статус: 6-ой класс)
Ответ отправлен: 24.07.2006, 09:14
Оценка за ответ: 5
Комментарий оценки:
Да.... Ответ очень ПОДРОБНЫЙ. Более полного ответа и придумать то нельзя...
Спасибо :)


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

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

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

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

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


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


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.35 от 27.07.2006
Яндекс Rambler's Top100

В избранное