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

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

  Все выпуски  

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


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

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

Лучшие эксперты по данной тематике

Кочетков Василий [Vasiliy83]
Статус: Профессионал
Рейтинг: 1945
∙ повысить рейтинг »
Владимир Лазурко
Статус: Профессор
Рейтинг: 954
∙ повысить рейтинг »
Тимошенко Дмитрий
Статус: Практикант
Рейтинг: 537
∙ повысить рейтинг »

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

Номер выпуска:1195
Дата выхода:20.04.2013, 15:00
Администратор рассылки:Владимир Лазурко (Профессор)
Подписчиков / экспертов:72 / 25
Вопросов / ответов:3 / 6

Консультация # 95040: Уважаемые Эксперты!!! Я начинающий программист в 1С, пишу свою конфигурацию (с нуля). З/плата сотрудника указывается в справочнике "Должности и профессии", при этом оклад указывается в соответствующей графе самого справочника, а часовая тарифная ставка выбирается из другого справочника "ЧТС". В диалоге записи н...


Консультация # 108350: Доброго времени, наверняка кто либо сталкивался с такой ситуацией: в ТиС 9.2 при выборе товара, в графе цены пишет "несколько" и при нажатии дает список из двух-трех позиций, в котором одна имеет отрицательное количество. В отчетах все ОК, то есть все остаки положительные. Как отследить в этом случае номенклатуру или, что можно предпринят...
Консультация # 43830: Уважаемые эксперты. Не получается установить "автомасштаб" в параметрах страницы в Excell. В приложении указано, как я пытаюсь это сделать. Сбой идет там, где "...zoom = 0". Говорит "Microsoft Office Excel: Нельзя установить свойство Zoom класса PageSetup". Вообще, в VBA для автомасштаба zoom надо выставить в False...

Консультация # 95040:

Уважаемые Эксперты!!!

Я начинающий программист в 1С, пишу свою конфигурацию (с нуля).

З/плата сотрудника указывается в справочнике "Должности и профессии", при этом оклад указывается в соответствующей графе самого справочника, а часовая тарифная ставка выбирается из другого справочника "ЧТС". В диалоге записи нового сотрудника создал поле "Оплата", тип значения - Число, длина - 10, точность - 2. В данное поле при помощи нижеуказанной процедуры ЗП() вносится значение зарплаты работника:

//========================
Процедура ЗП()
Перем Опл;
Если ПустоеЗначение(Должность.ЧТС.Наименование)=1 Тогда
Опл = Должность.Оклад;
Иначе
Опл = Должность.ЧТС.Наименование;
КонецЕсли;
Оплата = Формат((Опл),"Ч10.2 ");
КонецПроцедуры

Проблема в том, что размер зарплаты, который указывается в этом поле округляется вниз до ближайшего целого, но отображается с сотыми значениями, например ЧТС - 20,60, а отображается - 20,00.
При этом, в документах, которые заполняются на основании занесенных данных о сотруднике все отображается правильно.

Что я сделал неправильно и как решить проблему???

Заранее спасибо!!!
Алексей Сазонов.

Дата отправки: 13.07.2007, 14:12
Вопрос задал: Сазонов Алексей
Всего ответов: 4
Страница онлайн-консультации »


Консультирует Катунин Роман Владимирович:

Здравствуйте, Сазонов Алексей!
Здравствуйте, Сазонов Алексей!
У вас Должность.Оклад тип число точность 2? тут все нормально
А вот Должность.ЧТС.Наименование строка. И здесь я бы сделал так
Опл = Число(Должность.ЧТС.Наименование);
но не факт что поможет.
Лучший вариант завести реквизит Должность.ЧТС.Сумма тип число точность 2 и использовать его. А наименование оставлять пустым и не показывать. Это лучший вариант так как со строкой виличиной и дальше будут проблемы.

Консультировал: Катунин Роман Владимирович
Дата отправки: 13.07.2007, 14:47
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует DERL.KG:

Здравствуйте, Сазонов Алексей!
Это потому что вы в формате забыли указать символ разделения дробной части
Формат((Опл),"Ч10.2, ")

Консультировал: DERL.KG
Дата отправки: 13.07.2007, 15:12
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует svsrus:

Здравствуйте, Сазонов Алексей!

Начнем по порядку:
1. Опл = Должность.ЧТС.Наименование;
В переменную Опл Вы вносите строковое значение. Поэтому когда Вы присваиваете полю Оплата(числовой тип) переменную Опл(строковый тип), происходит неявное преобразованием типов. В Вашем случае Тип Строка в Тип Число. И если невозможно преобразовать полностью строку в число, то будут преобразованы только возможные символы. Например "5sd" преобразуются в число 5, "5.12ыв" в число 5.12, а "5,12ыв" в число 5 !!! Т.е. как вы видите "5.12" и "5,12" не равны. Тут уже все зависит от ваших системных настроек. Если в системе "." (точка) является разделителем разрядов, то строка преобразуется в число "5.12" = 5.12, и наоборот "5,12" = 5. Думаю вы все поняли. Смотрите свои системные настройки и поменяйте в справочнике "ЧТС" точку на запятую, или наоборот.
2. Разберем Оплата = Формат((Опл),"Ч10.2 ");
Формат(число,"форматная строка") возвращает строковое значение. В параметр же нужно передавать число. У вас получается следующих несколько неявных преобразований типов: 1) Опл в число 2) Формат() опять в число. Все это лишнее. У вас и так тип Оплата число 10,2, он сам будет показывать два знака после запятой, так что никаких Форматов() вам не надо вообще.
Правильно: Оплата = Опл;
3.Чтобы не происходило таких казусов, лучше всего ввести в справочник ЧТС дополнительное числовое поле (10,2) ТарифнаяСтавка, и тогда ваш код будет выглядеть так:
Процедура ЗП()
Перем Опл;
Если ПустоеЗначение(Должность.ЧТС.Наименование)=1 Тогда
Оплата = Должность.Оклад;
Иначе
Оплата = Должность.ЧТС.ТарифнаяСтавка;
КонецЕсли;
КонецПроцедуры

Надеюсь, помог:)
Удачи!

Консультировал: svsrus
Дата отправки: 13.07.2007, 16:24
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Сергей Максименко [Elric] (Профессионал):

Здравствуйте, Сазонов Алексей!

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

Консультировал: Сергей Максименко [Elric] (Профессионал)
Дата отправки: 14.07.2007, 18:07
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 108350:

Доброго времени, наверняка кто либо сталкивался с такой ситуацией: в ТиС 9.2 при выборе товара, в графе цены пишет "несколько" и при нажатии дает список из двух-трех позиций, в котором одна имеет отрицательное количество. В отчетах все ОК, то есть все остаки положительные. Как отследить в этом случае номенклатуру или, что можно предпринять?

Дата отправки: 07.11.2007, 07:32
Вопрос задал: Provnick
Всего ответов: 1
Страница онлайн-консультации »


Консультирует ВладИС:

Здравствуйте, Provnick!
Скорее всего в отчетах краснота все же вылезет. Попробуйте сделать ведомость по партиям в разрезе партий и МОЛ. Если не поможет (точно сказать для розницы не могу, нет у меня розницы сейчас), можно проанализировать регистр партий с помощью какой либо обработки просмотра регистров. Например, http://infostart.ru/projects/154/ . Она уж точно покажет все. Только надо анализировать все возможные измерения в регистрах. Только так выяснится полная картина.

Консультировал: ВладИС
Дата отправки: 07.11.2007, 09:26
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 43830:

Уважаемые эксперты.
Не получается установить "автомасштаб" в параметрах страницы в Excell. В приложении указано, как я пытаюсь это сделать. Сбой идет там, где "...zoom = 0". Говорит "Microsoft Office Excel: Нельзя установить свойство Zoom класса PageSetup". Вообще, в VBA для автомасштаба zoom надо выставить в False. Обыно в 1С =False я заменял на =0. Работало. А вот с zoom не прокатывает. Подскажите, пожалуйста, как поступить, а то уже задолбался с этим :)

Дата отправки: 22.05.2006, 11:17
Вопрос задал: Дрёма (5-й класс)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует BuhCIA:

Здравствуйте, Дрёма!
Решения в лоб нет. Предложения следующие:
1. Цитата romakinp http://www.forum.mista.ru/topic.php?id=4654&forum=it
У меня проблема решена следующим образом:
- в отдельной книге EXCEL стр.xls написал макрос Макрос1:
sub Макрос1()
ActiveSheet.PageSetup.Zoom = False
end sub

Для вызова макроса методом RUN книга с макросом должна быть открыта до открытия обрабатываемых книг:
Макрос=Эксель.Workbooks.Open(КаталогИБ()+"стр.xls");

Для масштабирования активного листа при печати используется метод RUN:
Эксель.RUN("стр.xls!Макрос1");

После окончания обработки книга с макросом закрывается:
Макрос.Close();
Конец цитаты
А вот тут очень полезная разработка (сам не пробовал)
http://softsearch.ru/programs/174-639-vneshnjaja-komponenta-dlja-raboty-cherez-ftp-otpravki-soobschenii-formatirovanija-rabochego-lista-v-excel-download.shtml

Консультировал: BuhCIA
Дата отправки: 22.05.2006, 11:42
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное