[Logo] Форум ПАРУС
Создание отчетов  XML
Индекс форума » Разработка на платформе Парус-Торнадо
Автор Сообщение
GREMVAL
Новичок

Зарегистрирован: 23.04.2013 15:21:08
Сообщений: 4
Оффлайн

Добрый день.
Подскажите, пожалуйста, как в запросе получить сторнированные документы «Требование-накладная ТМЦ».

GREMVAL
Новичок

Зарегистрирован: 23.04.2013 15:21:08
Сообщений: 4
Оффлайн

Вопрос актуален.

Это сообщение было изменено 1 раз. Последнее изменение было в 26.11.2019 16:44:24

SHIBANOV
Пользователь

Зарегистрирован: 06.11.2012 10:30:16
Сообщений: 513
От: Алексей Шибанов
Оффлайн

[Email] [ICQ]
GREMVAL
Новичок

Зарегистрирован: 23.04.2013 15:21:08
Сообщений: 4
Оффлайн

SHIBANOV wrote:


Спасибо. То, что нужно.
NAILYAISIGALIEVA3494
Новичок

Зарегистрирован: 24.12.2019 17:56:32
Сообщений: 7
Оффлайн

Добрый день. Столкнулась с такой проблемой. Клиент попросил подправить отчет. Он вводит с клавиатуры цену и количество какого-то товара, а тот автоматически подсчитывает сумму. Вставка формулы в ячейку таблицы не помогает. Через дизайнер отчета на языке C# пробовала вставить код:
int num;
num = Convert.ToInt32(row[Kolvo1ColumnName]);
row[Kolvo1ColumnName]=Console.ReadLine();
int nu;
nu = Convert.ToInt32(row[Price1ColumnName]);
row[Price1ColumnName]=Console.ReadLine();
int n;
n=nu*num;
n = Convert.ToInt32(row[Summa1ColumnName]);
row[Summa1ColumnName]=Console.ReadLine();
Console.WriteLine(n.ToString());

Если убираю последние 5 строчек, то в ячейки получается вносить данные. Но стоит полностью перенести код, так выходит ошибка:
Невозможно выполнить приведение данного объекта из DBNull к другому типу.
Чувствую что ответ где-то на поверхности лежит, но додуматься не могу((
 Имя файла Акт5.xlsx [Disk] Скачать
 Описание Описание отсутствует
 Размер файла 66 Kbytes
 Загружено:  0 раз(а)

M_USHAKOV
Пользователь
[Avatar]

Зарегистрирован: 14.01.2013 15:49:52
Сообщений: 678
От: Парус
Оффлайн

NAILYAISIGALIEVA3494 wrote:Добрый день. Столкнулась с такой проблемой. Клиент попросил подправить отчет. Он вводит с клавиатуры цену и количество какого-то товара, а тот автоматически подсчитывает сумму. Вставка формулы в ячейку таблицы не помогает. Через дизайнер отчета на языке C# пробовала вставить код:
int num;
num = Convert.ToInt32(row[Kolvo1ColumnName]);
row[Kolvo1ColumnName]=Console.ReadLine();
int nu;
nu = Convert.ToInt32(row[Price1ColumnName]);
row[Price1ColumnName]=Console.ReadLine();
int n;
n=nu*num;
n = Convert.ToInt32(row[Summa1ColumnName]);
row[Summa1ColumnName]=Console.ReadLine();
Console.WriteLine(n.ToString());

Если убираю последние 5 строчек, то в ячейки получается вносить данные. Но стоит полностью перенести код, так выходит ошибка:
Невозможно выполнить приведение данного объекта из DBNull к другому типу.
Чувствую что ответ где-то на поверхности лежит, но додуматься не могу((

Никогда так не делайте.
Отчеты генерятся на сервере и консоль для пользователя недоступна.
Для интерактивных расчетов отчеты не предназначены. Для таких задач нужно делать полноценный раздел...
Но если нужно именно эксель то сваяйте расширение для него и там уже на готовом отчете развлекайтесь.
ANDERS
Пользователь

Зарегистрирован: 01.02.2013 14:11:24
Сообщений: 788
Оффлайн

Office 2013
Создаю новый отчет, при добавлении любого компонента в дизайнере отчетов выходит ошибка "В экземпляре объекта не задана ссылка на объект".
То же самое с любым готовым отчетом из Торнадо.
Office 2013 не поддерживается?
[Thumb - Дизайнер отчетов.png]
 Имя файла Дизайнер отчетов.png [Disk] Скачать
 Описание Описание отсутствует
 Размер файла 37 Kbytes
 Загружено:  0 раз(а)

Это сообщение было изменено 1 раз. Последнее изменение было в 08.05.2020 18:12:36

[Email]
M_USHAKOV
Пользователь
[Avatar]

Зарегистрирован: 14.01.2013 15:49:52
Сообщений: 678
От: Парус
Оффлайн

ANDERS wrote:Office 2013
Создаю новый отчет, при добавлении любого компонента в дизайнере отчетов выходит ошибка "В экземпляре объекта не задана ссылка на объект".
То же самое с любым готовым отчетом из Торнадо.
Office 2013 не поддерживается?

Поддерживается, но к сожалению ошибка прокралась в релиз именно для офисов 2013+
Возьмите исправленный.https://www.dropbox.com/t/pyCYM7e2QWJPRGFX
ANDERS
Пользователь

Зарегистрирован: 01.02.2013 14:11:24
Сообщений: 788
Оффлайн

Добрый день, в отчете "Книга учета объектов ОС (по помеченным записям)".
В столбец "Наименование объекта основных средств", выходит информация ПОЛЕ НАИМЕНОВАНИЕ , ПОЛЕ МОДЕЛЬ,МАРКА.
Хотел поправить отчет , чтобы поле МОДЕЛЬ, МАРКА не выводились, но не смог найти где это описано в отчете.
Нашел толь-ко ObjectName
// Наименование объекта
specDataRow["ObjectName"] = reader["ObjectName"];
Про модель, марку ничего.
Подскажите пожалуйста как поправить шаблон.
 Имя файла Книга учета объектов ОС (по помеченным записям).xlsx [Disk] Скачать
 Описание Описание отсутствует
 Размер файла 99 Kbytes
 Загружено:  1 раз(а)

Это сообщение было изменено 1 раз. Последнее изменение было в 29.06.2020 11:10:47

[Email]
ANDERS
Пользователь

Зарегистрирован: 01.02.2013 14:11:24
Сообщений: 788
Оффлайн

Исправляю отчет "ПЮ-34 Трудовой договор основной".
Все данные перенес на 1 лист (5 страниц) , но у меня выходят все 5 страниц на оной.
Можно ли сделать так, чтобы все страницы договора были на одном листе при печати.? Какой параметр искать?
Т.е 1 лист, а там 5 страниц .Или только возможно 1 страница на одном листе?
[Email]
ANDERS
Пользователь

Зарегистрирован: 01.02.2013 14:11:24
Сообщений: 788
Оффлайн

Еще вопрос, хочу вытащить ФИО сотрудника в Трудовой договор вида Иванов И.И.
Полностью ФИО выводится

row[nameColumnName] =
ParusYug.Business.GenericPersonnel.Library.PersonServer.FullNameHistory(
worker.Person,
Parus.Business.RussianCasesEnum.NominativeCase,
oi.Order.DocDate);

Все что нашел ,это свойство IPerson.FullNameFioShort свойство FullNameFioShort Выражение вида Фамилия И. О. , но никак не могу понять из tornado.chm как получить нужное мне выражение.

Это сообщение было изменено 1 раз. Последнее изменение было в 06.11.2020 17:29:42

[Email]
SHIBANOV
Пользователь

Зарегистрирован: 06.11.2012 10:30:16
Сообщений: 513
От: Алексей Шибанов
Оффлайн

ANDERS wrote:Исправляю отчет "ПЮ-34 Трудовой договор основной".
Все данные перенес на 1 лист (5 страниц) , но у меня выходят все 5 страниц на оной.
Можно ли сделать так, чтобы все страницы договора были на одном листе при печати.? Какой параметр искать?
Т.е 1 лист, а там 5 страниц .Или только возможно 1 страница на одном листе?

Для того, чтобы разместить 5 страниц на 1 виртуальный лист, нужно в свойствах объекта Page.Settings задать PageSize по высоте 5 страниц.
[Email] [ICQ]
SHIBANOV
Пользователь

Зарегистрирован: 06.11.2012 10:30:16
Сообщений: 513
От: Алексей Шибанов
Оффлайн

ANDERS wrote:...
Все что нашел ,это свойство IPerson.FullNameFioShort свойство FullNameFioShort Выражение вида Фамилия И. О. , но никак не могу понять из tornado.chm как получить нужное мне выражение.

worker.Person.FullNameFioShort
[Email] [ICQ]
ANDERS
Пользователь

Зарегистрирован: 01.02.2013 14:11:24
Сообщений: 788
Оффлайн

SHIBANOV wrote:Для того, чтобы разместить 5 страниц на 1 виртуальный лист, нужно в свойствах объекта Page.Settings задать PageSize по высоте 5 страниц.


SHIBANOV wrote:worker.Person.FullNameFioShort


Алексей, спасибо )
[Email]
ANDERS
Пользователь

Зарегистрирован: 01.02.2013 14:11:24
Сообщений: 788
Оффлайн

PSYDIAMOND wrote:
LIPA wrote:Добрый день! Подскажите, пожалуйста, как в тексте приказа вывести должность и подразделение не в именительном падеже, а например, в дательном?

Подращделения
ParusYug.Business.GenericPersonnel.ISubdivision




В Трудовой договор нужно вытащить подразделение в предложном падеже падеже.
Исходный код такой, подскажите как надо поправить?

#region Наименование подразделения

{
// получаем подразделение из пакета Общие кадры
var sub = ParusYug.Business.GenericPersonnel.SubdivisionHelper.FindSubdivision(oi.Subdivision);
// получаем историю подразделения
var sh =
sub == null
? null
: sub.FindHistory(oi.DateFrom);

row[subdivisionColumnName] =
sub == null || sh == null || sh.Name == null || string.IsNullOrEmpty(sh.Name.Value.Trim())
? oi.Subdivision.Mnemo.Value.Trim()
: sh.Name.Value.Trim();
}

#endregion

Это сообщение было изменено 1 раз. Последнее изменение было в 09.12.2020 23:59:02

[Email]
PSYDIAMOND
Пользователь
[Avatar]

Зарегистрирован: 30.10.2013 12:04:55
Сообщений: 614
От: Михаил Малыхин
Оффлайн

в ISubdivisionHistory же нету наименования в предложном падеже? тогда имеет смысл использовать метод из Parus.Business.MorpherHelper



Это сообщение было изменено 1 раз. Последнее изменение было в 10.12.2020 09:38:13

[Email]
ANDERS
Пользователь

Зарегистрирован: 01.02.2013 14:11:24
Сообщений: 788
Оффлайн

Еще нужно вытащить сумму только одной категории ФОТ "Оклад" остальные выводить не нужно.
Подскажите как правильно прописать условие.


// Категории ФОТ
var lpfs = oi.SalaryLPFs
.Where(lpf =>
lpf != null &&
lpf.Category != null &&
lpf.Category.IncludeIntoLPFSum &&
(lpf.StartDate == null || lpf.StartDate <= oi.DateFrom) &&
(lpf.EndDate == null || lpf.EndDate >= oi.DateFrom))
.OrderBy(lpf => lpf.Category.OrdinalNumber.Value)
.ThenBy(lpf => lpf.Category.Name == null || string.IsNullOrEmpty(lpf.Category.Name.Value.Trim())
? lpf.Category.Mnemo.Value.Trim()
: lpf.Category.Name.Value.Trim())
.ToArray();

Это сообщение было изменено 1 раз. Последнее изменение было в 11.12.2020 09:41:28

[Email]
PSYDIAMOND
Пользователь
[Avatar]

Зарегистрирован: 30.10.2013 12:04:55
Сообщений: 614
От: Михаил Малыхин
Оффлайн

[Email]
ANDERS
Пользователь

Зарегистрирован: 01.02.2013 14:11:24
Сообщений: 788
Оффлайн

Делаю шаблон договора , на одном листе несколько страниц. Хочу вставить разрывы страницы в определенных местах, делал по аналогии с оборотной ведомостью.
Добавил первый разрыв страницы, при печати выдает ошибку "Источник данных m_PrepareData не содержит отношения NewPage".
Подскажите что не так?
 Имя файла Трудовой договор основной_1лист_пустой.xlsx [Disk] Скачать
 Описание Описание отсутствует
 Размер файла 84 Kbytes
 Загружено:  1 раз(а)

[Email]
PSYDIAMOND
Пользователь
[Avatar]

Зарегистрирован: 30.10.2013 12:04:55
Сообщений: 614
От: Михаил Малыхин
Оффлайн

ANDERS wrote:Делаю шаблон договора , на одном листе несколько страниц. Хочу вставить разрывы страницы в определенных местах, делал по аналогии с оборотной ведомостью.
Добавил первый разрыв страницы, при печати выдает ошибку "Источник данных m_PrepareData не содержит отношения NewPage".
Подскажите что не так?

Как минимум обратите внимание на компонент m_NewPageDataBand, у него в свойстве ParentRelationName стоит NewPage (это названия таблицы или отношения, которое присутствует в источнике данных)
[Email]
ANDERS
Пользователь

Зарегистрирован: 01.02.2013 14:11:24
Сообщений: 788
Оффлайн

Всех с праздниками.
Хочу сделать два шаблона печати договора , размножил отчет в Администрирование->Отчеты. Привязал новый шаблон к новой строке в отчетах .
В списке выбора новый добавленый отчет на печать договора не появляется, подскажите чего не хватает?
[Thumb - Несколько договоров.png]
 Имя файла Несколько договоров.png [Disk] Скачать
 Описание Описание отсутствует
 Размер файла 7 Kbytes
 Загружено:  1 раз(а)

[Email]
SHIBANOV
Пользователь

Зарегистрирован: 06.11.2012 10:30:16
Сообщений: 513
От: Алексей Шибанов
Оффлайн

См. раздел "Настройка печати приказов"
[Thumb - Настройка печати приказов.png]
 Имя файла Настройка печати приказов.png [Disk] Скачать
 Описание Настройка печати приказов
 Размер файла 116 Kbytes
 Загружено:  4 раз(а)

[Email] [ICQ]
ANDERS
Пользователь

Зарегистрирован: 01.02.2013 14:11:24
Сообщений: 788
Оффлайн

Алексей спасибо
[Email]
ANDERS
Пользователь

Зарегистрирован: 01.02.2013 14:11:24
Сообщений: 788
Оффлайн

PSYDIAMOND wrote:


Подскажите еще пожалуйста как вытащить из договора сумму "Оклад" прописью в виде 1000 (одна тысяча)рублей 00 копеек?
Взял за основу сумму прописью из ПКО

string sumTextRub = (doc.Sum != null
? RusNumber.Str(Convert.ToInt64(Math.Truncate(doc.Sum.Value)), GenderEnum.Male, null, null, null)
: string.Empty) ?? string.Empty;
if (sumTextRub.Length > 0)
sumTextRub = Char.ToUpper(sumTextRub[0]) + sumTextRub.Substring(1, sumTextRub.Length - 1);

Исправил на

string sumTextRub = (oklad != null
? RusNumber.Str(Convert.ToInt64(Math.Truncate(oklad.Value)), GenderEnum.Male, null, null, null)
: string.Empty) ?? string.Empty;
if (sumTextRub.Length > 0)
sumTextRub = Char.ToUpper(sumTextRub[0]) + sumTextRub.Substring(1, sumTextRub.Length - 1);

Выходит ошибка
error CS0104: Неоднозначная ссылка 'RusNumber' между 'Parus.Business.RusNumber' и 'ParusYug.Business.GenericPersonnel.Library.RusNumber.RusNumber'


Это сообщение было изменено 4 раз. Последнее изменение было в 08.03.2021 22:42:52

[Email]
SHIBANOV
Пользователь

Зарегистрирован: 06.11.2012 10:30:16
Сообщений: 513
От: Алексей Шибанов
Оффлайн

ANDERS wrote:
Выходит ошибка
error CS0104: Неоднозначная ссылка 'RusNumber' между 'Parus.Business.RusNumber' и 'ParusYug.Business.GenericPersonnel.Library.RusNumber.RusNumber'

Это сообщение было изменено 1 раз. Последнее изменение было в 09.03.2021 12:23:44

[Email] [ICQ]
ANDERS
Пользователь

Зарегистрирован: 01.02.2013 14:11:24
Сообщений: 788
Оффлайн

SHIBANOV wrote:
string sumTextRub = (oklad != null
? Parus.Business.RusNumber.Str(Convert.ToInt64(Math.Truncate(oklad.Value)), GenderEnum.Male, null, null, null)
: string.Empty) ?? string.Empty;

Алексей , спасибо

Это сообщение было изменено 1 раз. Последнее изменение было в 09.03.2021 13:54:50

[Email]
ANDERS
Пользователь

Зарегистрирован: 01.02.2013 14:11:24
Сообщений: 788
Оффлайн

Хочу определить пол в шаблоне договора
Взял за основу из карточки Т-2



Ошибка компиляции скриптов отчёта!
c:\ProgramData\Parus.TornadoServer_DKIS\Reports\m_PrepareData(333,14) : error CS0103: Имя 'person' отсутствует в текущем контексте
c:\ProgramData\Parus.TornadoServer_DKIS\Reports\m_PrepareData(335,17) : error CS0103: Имя 'person' отсутствует в текущем контекст


Подскажите почему ругается?

Это сообщение было изменено 1 раз. Последнее изменение было в 17.03.2021 10:19:55

[Email]
ANDERS
Пользователь

Зарегистрирован: 01.02.2013 14:11:24
Сообщений: 788
Оффлайн

Подскажите , в каком еще отчете выводится пол кроме Т-2?
[Email]
SHIBANOV
Пользователь

Зарегистрирован: 06.11.2012 10:30:16
Сообщений: 513
От: Алексей Шибанов
Оффлайн

ANDERS wrote:Подскажите почему ругается?

Ругается, потому что не определена переменная person. В сообщении об ошибке это написано.

Переменные определяются так:
var person = ...
[Email] [ICQ]
ANDERS
Пользователь

Зарегистрирован: 01.02.2013 14:11:24
Сообщений: 788
Оффлайн

Спасибо, совсем ослеп и запутался в разных вариантах печатной формы ТД.
Переменную person определил . Теперь вместо значения в зависимости от пола , постоянно выходит текст "Sex".

Пример вывода информации

Организация именуемая в дальнейшем Работодатель, в лице директора действующего на основании Устава с одной стороны, и Иванов Иван Иванович, Sex в дальнейшем Работник, с другой стороны (далее – Стороны), заключили настоящий трудовой договор о нижеследующем:";

Перенес вроде все как в шаблоне Т-2.
Что теперь не хватает?

Это сообщение было изменено 5 раз. Последнее изменение было в 18.03.2021 23:36:22

[Email]
 
Индекс форума » Разработка на платформе Парус-Торнадо
Перейти: