Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Определение целочисленности в тексте запроса          
alex_shkut Подменю пользователя
сообщение 03.07.12, 16:09
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 37
Из: Сумы
Спасибо сказали: 5 раз
Рейтинг: 4.3

Есть задача по планированию. Нужно расставить события в календарном плане "на будущее" по определенному правилу, причем каждое следующее событие состоится после последнего+период.
1. Решил генерацией календаря и вычитанием из календаря стартовой даты (для каждого элемента выборки разная)
Нужно определеить, что полученное значение кратно параметру нацело. Кто-то может подсказать, как в запосе получить остаток от деления?
Или может есть более элегантные решения?

Vofka Подменю пользователя
сообщение 03.07.12, 16:21
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

Если это система компоновки данных (судя по разделу), то используйте вычисляемые поля, в них попробуйте использовать функцию
Цел()

logist Подменю пользователя
сообщение 03.07.12, 17:05
Сообщение #3

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(alex_shkut @ 03.07.12, 17:09) *
как в запосе получить остаток от деления?

|ВЫБОР КОГДА Число1 / Число2 = ВЫРАЗИТЬ(Число1 / Число2 КАК ЧИСЛО(1,0)) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК РезультатДеленияЭтоЦелоеЧисло


Сообщение отредактировал logist - 03.07.12, 17:05


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Vofka Подменю пользователя
сообщение 04.07.12, 8:36
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

Функцию Цел получится использовать только на платформе 8.3:
Цитата
В языке выражений системы компоновки данных реализованы следующие функции: ACos(), ASin(), ATan(), Sin(), Cos(), Tan(), Exp(), Log(), Log10(), Pow(), Sqrt(), Окр(), Цел(), ТипЗначения(),Тип().


А в 8.2 можно через функцию общего модуля сделать то же самое.

alex_shkut Подменю пользователя
сообщение 04.07.12, 9:56
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 37
Из: Сумы
Спасибо сказали: 5 раз
Рейтинг: 4.3

Момент в том, что событие может повторяться N раз за период. Каждое следующее отстоит на "параметр" от предыдущего. И так по 320 элементам. Причем ДатаСтарта у всех разная. Я специально не усложняю задачу. Так вот как решить задачу приращения? Я взял функцию: Если ДатаКалендаря-ДатаСтарта делится нацело на параметр, тогда событие состоялось = 1 иначе 0. ВЫРАЗИТЬ(Как число (N,0)) - не получится, есть соображения у кого? Или действительно вычисляемым полем? Тогда часть отчета полностью перейдет в вычисляемую часть, я правильно понимаю?

А вот и результат smile.gif
Ошибка получения данных
по причине:
Функция не найдена "Цел"

Vofka Подменю пользователя
сообщение 04.07.12, 10:20
Сообщение #6

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

Цитата(alex_shkut @ 04.07.12, 10:56) *
Ошибка получения данных
по причине:
Функция не найдена "Цел"

А пост выше не читаем?

alex_shkut Подменю пользователя
сообщение 04.07.12, 10:38
Сообщение #7

Общительный
**
Группа: Пользователи
Сообщений: 37
Из: Сумы
Спасибо сказали: 5 раз
Рейтинг: 4.3

Извинения, про 8.3 - прозевал. Использую % - деление нацело, если остаток 0, тогда 1.

alex_shkut Подменю пользователя
сообщение 04.07.12, 15:08
Сообщение #8

Общительный
**
Группа: Пользователи
Сообщений: 37
Из: Сумы
Спасибо сказали: 5 раз
Рейтинг: 4.3

А решение я выбрал совсем другое:
1. Выгружаем результат запроса в ТЗ где есть колонки ДатаФакт, СобытиеФакт.
2. Добавляем 2 колонки для плана - ДатаПлан и СобытиеПлан
3 Анализируя строки просто дописываю в ТЗ новые события играя четырьмя колонками (сдвигая события) до КонецПериода.
4. Вталкиваю готовую ТЗ в СКД, а дальше - дело техники.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.04.24, 21:44
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!