Выгрузка данных в MS-Project

29.12.09

Учетные задачи - Учет рабочего времени

У многих есть вариации на тему учета рабочего времени (своего или своих подчиненных) в различных конфигурациях. И почти ничто не предоставляет таких возможностей управления задачами внутри проекта, как MS-Project. Так давайте совместим все это.

И не статья это совсем, а просто маленькое описание недавнего опыта, которым захотелось поделиться.

Пошаговой инструкции со скриншотами тоже не ждите. Думаю, что разберетесь и так :-)

Запись данных: 

  1. Создаем в MS-SQL базу со следующей структурой (можно также все это сделать и в MS-Excel, обозвав листы по именам таблиц и задав заголовки колонок, соответственно именам полей):
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Таблица_назначений]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Таблица_назначений](
 [Название задачи] [nvarchar](100) NOT NULL,
 [Название ресурса] [nvarchar](100) NOT NULL,
 [% завершения по трудозатратам] [int] NOT NULL,
 [Трудозатраты] [nvarchar](50) NOT NULL,
 [Единицы] [nvarchar](50) NULL,
 [UIDЗадачи] [nchar](36) NOT NULL,
 [UIDРесурса] [nchar](36) NOT NULL
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Таблица_ресурсов]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Таблица_ресурсов](
 [Ид] [int] NOT NULL,
 [Название] [nvarchar](100) NOT NULL,
 [Краткое название] [nvarchar](30) NOT NULL,
 [Тип] [nvarchar](50) NULL,
 [Единицы измерения материалов] [nvarchar](50) NULL,
 [Группа] [nvarchar](50) NULL,
 [Адрес электронной почты] [nvarchar](50) NULL,
 [Учетная запись Windows] [nvarchar](50) NULL,
 [Макс единиц] [float] NOT NULL,
 [Стандартная ставка] [float] NOT NULL,
 [Затраты на использование] [float] NULL,
 [Заметки] [nvarchar](max) NULL,
 [UID] [nchar](36) NOT NULL,
 CONSTRAINT [PK_Таблица_ресурсов] PRIMARY KEY CLUSTERED
(
 [UID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Таблица_задач]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Таблица_задач](
 [Ид] [int] NOT NULL,
 [Название] [nvarchar](100) NOT NULL,
 [Длительность] [nvarchar](50) NULL,
 [Начало] [datetime] NOT NULL,
 [Окончание] [datetime] NULL,
 [Предшественники] [int] NULL,
 [Уровень структуры] [int] NOT NULL,
 [Заметки] [nvarchar](max) NULL,
 [UID] [nchar](36) NOT NULL,
 CONSTRAINT [PK_Таблица_задач] PRIMARY KEY CLUSTERED
(
 [UID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO

IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[Таблица_задач]') AND name = N'IX_Таблица_задач')
CREATE NONCLUSTERED INDEX [IX_Таблица_задач] ON [dbo].[Таблица_задач]
(
 [Ид] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[ВыполненныеЗадачи]'))
EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[ВыполненныеЗадачи]
AS
SELECT     TOP (100) PERCENT dbo.Таблица_назначений.[Название задачи], dbo.Таблица_назначений.[Название ресурса],
                      dbo.Таблица_задач.ДатаВыполнено, CAST(dbo.Таблица_назначений.Трудозатраты AS numeric(10, 2)) AS Трудозатраты,
                      dbo.Таблица_задач.УчтеноВРасчетах, dbo.Таблица_задач.ДатаОплаты
FROM         dbo.Таблица_назначений INNER JOIN
                      dbo.Таблица_задач ON dbo.Таблица_назначений.[Название задачи] = dbo.Таблица_задач.Название
WHERE     (dbo.Таблица_назначений.[% завершения по трудозатратам] = 1)
ORDER BY dbo.Таблица_назначений.[Название задачи]

'
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[InsertAsg]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'
  1. В 1С пишем примерно следующий код (для Excel переписать :-)):
// попытка найти настройку коннекта к базе аудита и подключения к ней
//
// Возвращаемое значение:
//   Булево   - результат успешности подключения
//
Функция Инициализация(ИмяСервера, Пользователь, Пароль, ИмяБазы) Экспорт
 
    Соединение = Новый COMОбъект("ADODB.Connection");
 
    СтрокаКоннекта = "driver={SQL Server};server="+ИмяСервера+";uid="+Пользователь+";pwd="+Пароль+";Database="+ИмяБазы;
    Соединение.ConnectionTimeOut=20;
    Соединение.CursorLocation=3;
    Соединение.CommandTimeout = 16000;
    Попытка                                            
        Соединение.Open(СтрокаКоннекта);
    Исключение
        #Если Клиент Тогда
            Сообщить("Невозможно установить соединение с базой ТЗ!", СтатусСообщения.Важное);
        #КонецЕсли 
  
        Соединение  = Неопределено;
        ИмяБазы   = "";
        ИмяСервера  = "";
        Пользователь = "";
        Пароль   = "";
        Возврат Ложь;
    КонецПопытки;
 
    Возврат Истина;
КонецФункции

// Запись в аудит действий пользователя
//
// Параметры
//  Ссылка  - Ссылка на документ
// Возвращаемое значение:
//   Булево   - результат успешности записи
//
Функция ЗаписатьТЗ(Ссылка, СтрокаСообщений) Экспорт
  
    ВремяВыполнения = ?(Ссылка.Выполнено, Ссылка.ВремяЧасыЗатрачено, Ссылка.ВремяЧасыПланируемое);
    ДатаНачала = Ссылка.ДатаНачалаРаботПлан;
    Если НЕ ЗначениеЗаполнено(ДатаНачала) Тогда
        Возврат Ложь;
    КонецЕсли; 
 
    Соединение.Execute("exec InsertJob '" + СокрЛП(Ссылка.Номер) + ":" + СокрЛП(Ссылка.Наименование) + "', '"
           + СокрЛП(ВремяВыполнения) + "ч', '"
           + Формат(ДатаНачала, "ДФ='yyyyMMdd HH:mm:ss'") + "', "
           + "null, null, 1, '"
           + СтрокаСообщений + "', '"
           + СокрЛП(Ссылка.УникальныйИдентификатор()) + "'";
           
    Соединение.Execute("exec InsertRes '" + СокрЛП(Ссылка.Исполнитель) + "', '', 'Трудовой', null, null, '"
           + Ссылка.Исполнитель.Email.АдресЭлектроннойПочты + "', null, 1, 0, 0, '', '"
           + СокрЛП(Ссылка.Исполнитель.УникальныйИдентификатор()) + "'");
 
    Соединение.Execute("exec InsertAsg '" + СокрЛП(Ссылка.Номер) + ":" + СокрЛП(Ссылка.Наименование) + "', '"
           + СокрЛП(Ссылка.Исполнитель) + "', " +
           + ?(Ссылка.Выполнено, "100", "0") + ", "
           + СтрЗаменить(СокрЛП(ВремяВыполнения), ",", ".") + ", 1, '"
           + СокрЛП(Ссылка.УникальныйИдентификатор()) + "', '"
           + СокрЛП(Исполнитель.УникальныйИдентификатор()) + "'");
  
КонецФункции

Чтение

  1. В MS-Project при открытии файла выбираем источник ODBC (MS-SQL или Excel)
  2. При первом чтении создаем новую схему. При последующих можно использовать существующую.

Схема сгенерится в принципе сама, т.к. имена таблиц и полей полностью соответствуют проджектовским. Надо только нажимать все время "далее"

 

Вот, собственно, и все.

Удачи.

 

З.Ы. Структуру документа тоже не приводил, можно привести к любой своей.

См. также

Автоматическая многопоточная выгрузка данных 1С 8.3 в БД Clickhouse (для работы с данными 1С в BI-системах)

Внешние источники данных Платформа 1С v8.3 Управляемые формы Анализ и прогнозирование Конфигурации 1cv8 Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматизированной выгрузки данных из 1С 8.3, а также MS Excel в базу данных ClickHouse для работы с данными 1С в Yandex Datalens, Visiology, Apache Superset (и не только) - "Экстрактор данных 1С в BI". Решение отлично работает со всеми типовыми (и не только) конфигурациями 1С 8.3 для управляемых форм. Gозволяет автоматизировать работу бизнес-аналитика по ежедневной выгрузке данных из 1С в БД ClickHouse для последующей работы с этой БД в Yandex Datalens/ Система полностью автоматизирует работу с хранилищем данных в БД Clickhouse. Не надо быть программистом, чтобы одной кнопкой получать любые данные из 1С в Yandex Datalens

160000 руб.

15.11.2022    9924    6    23    

18

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 14.05.2023, версия 9.4 - 9.8)

5988 руб.

20.11.2015    144341    336    366    

472

SALE! 35%

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания ЛЮБЫХ СКАНОВ ИЛИ ФОТО ТОВАРНЫХ ДОКУМЕНТОВ в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML и т.д.) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить". Программа сама находит таблицу в файле, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает товарные документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, накладную, заказ клиента и т.д.). Содержит модуль работы с электронной почтой. Для поиска таблиц используются новейшие методы OCR-нейросети. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д.

5400 4968 руб.

04.06.2019    95720    274    169    

286

SALE! 20%

Загрузка документов и номенклатуры из Excel в 1С "одним нажатием": УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы

Загрузка и выгрузка в Excel Оптовая торговля Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Конфигурации 1cv8 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная обработка для загрузки документов из Excel в 1С. Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, заказ, отчет комиссионера и т.д.). Не требует MS Office. Для поиска таблиц используются методы эвристического поиска. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д. Содержит модуль работы с электронной почтой и api-загрузчик отчетов о продажах маркетплейсов.

5000 4000 руб.

09.11.2016    208201    762    882    

918

Загрузка данных о продажах WildBerries из API Статистики и Отчетов в формате *.xlsx в документ "Отчет комиссионера"

Загрузка и выгрузка в Excel Маркетплейсы Платформа 1С v8.3 Бухгалтерский учет Оперативный учет 1С:Управление торговлей 10 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Платные (руб)

Обработки предназначены для следующих конфигураций: Бухгалтерия предприятия, редакция 3.0; Управление нашей фирмой, редакция 1.6 - 3.0; Управление торговлей, редакция 10.3; Управление торговлей, редакция 11; Комплексная автоматизация 2; ERP Управление предприятием 2

3600 руб.

11.12.2019    50344    852    3    

162

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Загрузка из файлов xls, xlsx, ods, csv, mxl в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

9460 руб.

29.10.2014    203914    568    521    

404

Перенос данных из Парус 10 в ЗГУ ред.3

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    8173    4    8    

7
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. dolter 119 29.12.09 13:08 Сейчас в теме
блин... замучался форматировать... потом...
2. boozin 30.12.09 09:47 Сейчас в теме
Интересно. При случае попробую.
Оставьте свое сообщение