gifts2017

Выгрузка документа "Зарплата к выплате организаций" в текстовый файл (1С 8.1)

Опубликовал Александр Шишкин (Шёпот теней) в раздел Обработки - Обработка документов

Данная обработка предназначена для выгрузки документа "Зарплата к выплате организаций" в текстовый файл для последующей пересылки по эл.почте в банк и др. инстанции..

Выкладываю эту обработку с тем поводом, чтобы мне подсказали как оптимизировать запрос к регСвед.КонтактнаяИнформация, который используется в данной обработке.

Проблема в том, что львиная доля времени (около 85%) используется при обращении к этому регСвед.КонтактнаяИнформация и получении сведений об адресеЮридическом (прописки) и адресеФактическом (проживании). Все мои попытки объединять, вкладывать и др. действия с запросом и запросами ни к чему не привели и с т.з. оптимизации оставляли желать лучшего. Подскажите.


Воо-о-оот…


Спасибо "СергейКа" за советы.


Вторая версия программы работает на порядок быстрее.

Третья версия программы работает по скорости аналогично второй версии, но всё в одном запросе.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Выгрузка док. ЗарплатаКВыплатеОорганизаций в текстовый файл (вар3)
.1234548802 22,24Kb
25.09.09
137
.1234548802 22,24Kb 137 Бесплатно
Выгрузка док. ЗарплатаКВыплатеОорганизаций в текстовый файл (1С 8.1)
.1234460081 22,23Kb
25.09.09
114
.1234460081 22,23Kb 114 Скачать
Выгрузка док. ЗарплатаКВыплатеОорганизаций в текстовый файл (вар2)
.1234528058 22,44Kb
25.09.09
64
.1234528058 22,44Kb 64 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. unior (didkovskij) 13.02.09 04:59
2. Александр Шишкин (Шёпот теней) 13.02.09 09:33
(1) Проще некуда... согласен... но слишком долго и львиная доля уходит на получение адресов... вот и хочется узнать это я такой "тупой" или рег.Свед.КонтактнаяИнформация такой "долгий"...


воооот...
3. Сергей Кучеров (СергейКа) 13.02.09 09:46
Мда, не удивительно что долго...
Запросы в циклах, да еще неоднократно...
4. Сергей Кучеров (СергейКа) 13.02.09 10:01
Гм, а то что выборка из сотрудников организаций по физлицу - вообще ни в какие ворота ... У нас по одному физлицу может быть до 5-6 сотрудников и(изредка больше). Представь себе, что эта выборка выведет?
А вообще, всю таблицу заполнить одним запросом - без особых проблем. Тебе его выложить?
5. Александр Шишкин (Шёпот теней) 13.02.09 10:11
(4) Спасибо! Буду рад помощи, особенно в части "заполнить одним запросом"... все мои попытки не увенчались успехом...

воот...
6. Сергей Кучеров (СергейКа) 13.02.09 10:13
Куда? В комментарий многовато кажется будет :)
7. Александр Шишкин (Шёпот теней) 13.02.09 10:15
8. Сергей Кучеров (СергейКа) 13.02.09 10:39
Уточни плиз, - в адресе убрать или адрес полностью такой? :)
9. Александр Шишкин (Шёпот теней) 13.02.09 10:46
(8) a-l-e-x-1964@yandex.ru

как есть вместе с "-"

воот...
10. Сергей Кучеров (СергейКа) 13.02.09 10:47
Короче отправил и так и так :)))
В письме файл типовой консоли запросов Выплаты.sel.
Несколько малозначащих полей я не стал добавлять (типа код родителя группы), но их не сложно и добавить, заодно разберешься с запросом.
В запрос передается только массив документов выплат. Выходная таблица практически идентична твоей.
11. Александр Шишкин (Шёпот теней) 13.02.09 10:51
(10) Спасибо огромное... Получил...
12. Сергей Кучеров (СергейКа) 13.02.09 11:07
(11)Хорошо.
На самом деле и этот запрос можно еще оптимизировать хорошо подумав :)
Предлагаю сделать это указав на следующие моменты:
1. Массив документов используется в отборах несколько раз. В итоге идет многократное обращение ко всем объектам конфигурации (док выплат). Что несколько замедляет запрос.
2. Несколько раз используется ЛЕВОЕ соединение к РаботникиОрганизаций.Сотрудники.ФизЛицо . Это тоже не есть гуд, хотя работает.
Удачи в оптимизации.
13. Александр Шишкин (Шёпот теней) 13.02.09 11:45
(10) Спасибо ещё раз... восхищён...

далее:
1. проблема: есть док.ЗПкВыплатеОрг в табличной части есть ФизЛицо. если в спр.Сотрудники есть несколько таких (а у нас встречается и до 5-7) то и запрос выводит столько же... ...и у меня такое же было и я не смог от этого избавиться... ( это как раз к (4) сообщению)...

2. ... и самое главное... это я "тупой! и мне надо тренироваться с запросами...

воо-о-оот...
14. Сергей Кучеров (СергейКа) 13.02.09 12:06
(13) Бр-р-р...
1) В присланном мной запросе этой проблемы нет. Если внимательно всмотреться, то выборка идет из рег Работники организаций, где выбирается ОДНА запись по физлицу с максимальной датой на дату периода регистрации документа. Таблица "МаксДаты". Кстати, правильнее будет поправить условие связи в данной таблице с
РаботникиОрганизаций.Период <= ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.Дата
на
КОНЕЦПЕРИОДА(РаботникиОрганизаций.Период, МЕСЯЦ) <= ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.Дата
2) А кто сказал что ты "тупой"??? К такому построению запросов я пришел только через несколько месяцев практики и всяких сверок производительности. Зато теперь могу строить их за несколько минут :)
15. Сергей Кучеров (СергейКа) 13.02.09 12:09
(13) и на будущее: получать должности и подразделения из справочника Сотрудники нельзя. Только из регистра.
16. Александр Шишкин (Шёпот теней) 13.02.09 12:35
(14) (15) Спасибо... учтём и будем тренироваться...
17. Сергей Кучеров (СергейКа) 13.02.09 12:38
к 14 поправочка, правильно :
РаботникиОрганизаций.Период <= КОНЕЦПЕРИОДА(ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.ПериодРегистрации, МЕСЯЦ)
18. Александр Шишкин (Шёпот теней) 13.02.09 15:34
Вторая версия работает на порядок быстрее - спасибо "СергейКа"...

хотя и дальше можно оптимизировать... но ни как не удаётся избавиться от проблемы на ФизЛицо. если в спр.Сотрудники есть несколько таких (а у нас встречается и до 5-7) то и запрос выводит столько же... ( это как раз к (4) сообщению)...

но уже хорошо ... воо-о-ооот...


19. Сергей Кучеров (СергейКа) 13.02.09 16:27
А файл при вложении не перепутал? Почти полностью идентичен первому варианту кроме названия.
Не пойму как ты умудрился сделать "проблемы на ФизЛицо. если в спр.Сотрудники есть несколько таких".
20. Александр Шишкин (Шёпот теней) 13.02.09 17:02
(19) нет не перепутал...

...у меня и работает гОООраздо быстрее и это меня радует...

а, все твои советы обязательно учту...

... по поводу нескольких строк по спр.Сотруднику не знаю... так получается... и в твоём запросе то же... либо у меня что-то не так...

вооот....
21. nefto (nefto) 03.06.09 15:51
Огромное спасибо за пример!!!!
22. nefto (nefto) 08.06.09 10:30
А как есчо добавить строчку с номером лицевого счета сотрудника? кто может полсказать?
23. Александр Шишкин (Шёпот теней) 10.06.09 08:00
(22) под рукой нет ЗП или УПП если для вас ЭТО принципиально напишите мне в аську... номер аськи в "личныхданных"...

удачиВооот...
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа