новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
ArtLady
Приватное сообщение

Доработка нормы времени в секундах

6 |  0
31 мая 2022 в 10:39:50 (2 года 25 недель 1 день 8 часов назад)
14100
Текст задания
То, что нужно добавить выделено красным (данные по суммам не совпадают и вставлены только для примера)
Лучше сделать на выгрузке базы, а не расширением, так как в последствии наверняка еще нужно будет дописывать чего нибудь
1С:Предприятие 8.3 (8.3.16.1030) УНФ

1. В карте номенклатуры для типа данных "операция" добавить новый реквизит: норма времени (с) - это целое число, для хранения целого количества секунд. Секунды удобно складывать между собой и умножать на Количество и опять складывать для получения Общего Времени, в секундах, но выводить в формате Дата/Время - например: 1 день 00:05:32
Это для меня очень важный тип данных, который я храню именно в таком формате! Норма времени (с) и норма времени (ч) как я понимаю будут взаимосвязаны друг от друга. ВАЖНО! - Обязательно сделать корректное округление, скорее всего это будет не менее 8 знаков после запятой (при вводе 00:00:10 десяти секунд, например, не получалось меньше, иначе программа делала не правильное округление в формате времени, когда мне до этого делали, но так и не сделали корректно) Изображение 01

СуммаНорма = 24 * 3600 + 10; //это пример, у себя просто складываете все Нормы
Если СуммаНорма > 24 * 3600 Тогда
лкДней = Цел(СуммаНорма / (24 * 3600));
стрДней = СтрокаСЧислом(";%1 день;;%1 дня;%1 дней;", лкДней,
ВидЧисловогоЗначения.Количественное, "L=ru") + " ";
Иначе
стрДней = "";
КонецЕсли;

лкДата = Дата(1,1,1) + СуммаНорма;
Сообщить(стрДней + Формат(лкДата,"ДФ='ЧЧ:мм:сс'"));

2. В заказе на производство в табличной части добавить эти данные. Внизу таблицы нужны общие суммы. Изображение 02

3. В сдельном наряде так же добавляем эти данные и общую сумму снизу. Изображение 03

4. Цены
В ценах мне хотелось бы видеть фиксированную стоимость за 1 единицу измерения, относительно ставки за час (например 200руб), при этом в формировании цены будет участвовать норма времени, т.к. без нее не будет происходить автоматический расчет, а мне нужно все сделать на автоматике, а не с калькулятором в руках сидеть, на то она и программа. Изображение 06
То есть при условии 200 руб/час и 00:00:31 на 1 единицу измерения получается: 200 * 00:00:31 * 24 = 1,72 руб.
А при условии 150 руб/час и 00:00:31 на 1 единицу измерения получается: 150 * 00:00:31 * 24 = 1,29 руб. и т.д.
Но вот какой нюанс в программе! На вкладке виды цен я могу выбрать расчет динамической цены только на основании статической. Можно создать статическую цену с данными 1р. для каждой номенклатуры и тогда формула будет следующая: 1* 200 * 00:00:31 * 24 = 1,72 руб.
По другому я не придумала как это сделать (может будут предложения).
А вот когда я начинаю писать динамическую формулу на основании этой статической, то для ввода данных мне необходимо значение нормы времени, но в очень ограниченном окне "редактирование формулы" я не могу ввести никакие данные из номенклатуры по причине невозможности их выбора за отсутствием их в списке. Это можно дописать как то? Либо сделать как то по другому, но чтобы работало. Изображение 04
Еще важно то, что если в самой карте номенклатуры будет изменено время, чтобы цена тоже автоматически пересчитывалась.

Сразу отвечаю на вопрос, почему я не хочу использовать автоматический расчет цены на основании расчета нормы времени из карты номенклатуры. Потому что:
Во-первых не будет отображение данных за 1 единицу измерения. А будет вот так - Изображение 07
Во-вторых, на основании этих цен я не смогу поставить розничную
В третьих в сдельном наряде будет выставляться так же цена за 1 час, а не за 1 единицу измерения, что тоже не удобно.

5. Дополнительная единица измерения номенклатуры
Добавить строку с названием: "В 1 ед. изм. (шт)", где в скобках отображается основная единица измерения номенклатуры.
Далее в строке идет название новой единицы.
Коэффициент рассчитывается на основании этих вводимых данных и его можно вообще убрать из отображения с этой формы, если это возможно. ВАЖНО! сделать его с максимальным знаков после запятой, чтобы в последствии при расчетах округление происходило более точное
На рисунке пример, но если есть другие предложения, буду рада услышать ))
Большинство просто не понимает как рассчитывать коэффициент, а вот сколько других единиц содержится в базовой запросто расчет делают

Если есть какие либо предложения, как это можно сделать еще лучше или по другому, то буду рада услышать, ибо у вас опыт работы с программой огромный в отличии от меня, и я просто могу чего то знать со своей стороны :)
Может я что то не понятно объяснила или не до конца понимаю работу программы - это тоже имеет место быть ))
Предлагайте свою цену, я не знаю сколько это может стоить
0
Отклики (11)