Вопрос № 49945: Как осуществить такую фишку.
У меня есть табличная часть, например ЗП. Мне необходимо, чтобы когда двойным щелчком мыши
кликнуть на например значения оклада, чтобы система не переходила в режим редактирования значения
а запустила какую ...Вопрос № 49956: Здравствуйте уважаемые эксперты!
Я сейчас изучаю 1С 7.7 по учебнику с www.mista.ru, пример: Мини склад
Там происходит запрос, а потом выводится в таблицу.
Вопрос: Что такое "#N019.3" ?
(В таблицу результат выводится через: &...
Вопрос № 49.945
Как осуществить такую фишку.
У меня есть табличная часть, например ЗП. Мне необходимо, чтобы когда двойным щелчком мыши
кликнуть на например значения оклада, чтобы система не переходила в режим редактирования значения
а запустила какую - нибудь процедуру. Как это организовать???
Кстати, 1С ver 7.7 release 23
В модуле формы в предопределенной процедуре ПриНачалеВыбораЗначения для этого реквизита (например, Оклад) описываешь что должно выполняться вместо редактирования его значения.
--------- Мирный атом в КАЖДЫЙ дом
Ответ отправил: 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 Комментарий оценки: Да.... Ответ очень ПОДРОБНЫЙ. Более полного ответа и придумать то нельзя... Спасибо :)