using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows.Forms;
using TFlex.DOCs.Model;
using TFlex.DOCs.Model.Macros;
using TFlex.DOCs.Model.Macros.ObjectModel;
using TFlex.DOCs.Model.References;
using TFlex.DOCs.Model.References.Workflow;
using TFlex.DOCs.Model.References.Users;
using TFlex.DOCs.Model.Mail;
public class Macro : MacroProvider
{
readonly User employee = UserReference.Instance.FindUser(
"Василенко Александр Николаевич");
readonly User administrator = UserReference.Instance.FindUser(
"Баранов Павел Юрьевич");
public Macro(MacroContext context)
:
base(context)
{
Объекты Всеячейки = НайтиОбъекты(
"Распределение ТМЦ по местам хранения",Условие(
"Индекс места хранения",
"содержит текст"));
int a=0, b=0, с=0, max=0, min=0;
string[] номера=
new string[10000];
string наименование =
"";
MailMessage message =
new MailMessage(DOCsAccount.Instance);
//Создаем новое сообщение ДиалогВвода диалог = СоздатьДиалогВвода(
"Введите значение Номенклатурной Группы");
диалог.ДобавитьВыборИзСправочника(
"Выбор Номенклатурной группы",
"Номенклатурные группы",
"Наименование");
диалог.ДобавитьЦелое(
"Верхняя граница", 100);
диалог.ДобавитьЦелое(
"Нижняя граница", 0);
if(диалог.Показать())
{ наименование=диалог[
"Выбор Номенклатурной группы"];
max=диалог[
"Верхняя граница"];
min=диалог[
"Нижняя граница"];
}
else return;
foreach (Объект ячейка
in Всеячейки)
{
if (ячейка.СвязанныйОбъект[
"Обьект учета для места хренения карточки"]==
null) b++;
else {
Объект ТМЦ = ячейка.СвязанныйОбъект[
"Обьект учета для места хренения карточки"];
Объект Номгр = ТМЦ.СвязанныйОбъект[
"Номенклатура-Номенклатурная группа"];
string Номер = ТМЦ.Параметр[
"Номенклатурный номер"];
номера[с]=Номер;
с++;
int количество = ячейка.Параметр[
"Количество"];
if ((количество<=max)&&(количество>=min)&&(Номгр.Параметр[
"Наименование"]==наименование))
{
a++;
message.Subject =
"Предупреждение";
message.Body +=
"\n"+a.ToString()+
" "+
"На складе осталось "+ТМЦ.Параметр[
"Наименование"]+
" под номером "+Номер+
" в количестве "+количество.ToString()+
" шт. в ячейке "+ячейка.Параметр[
"Индекс места хранения"]+
"\n";
}
}
}
if (a!=0){
message.To.Add(
new MailUser(administrator));
message.Copy.Add(
new MailUser(employee));
message.Send();
}
else return;
}
public string Выполнить(MacrosObject macros)
{
return null;
}
}