Обработка выборки документов и выборочное перепроведение по видам движений для 1С-Предприятие-7.7

18.03.12

Разработка - Инструментарий разработчика

Обработка позволяет выполнить  над подобранным списком документов следующие действия:
  1) "Провести"; 2) "Отменить проведение"; 3) "Пометить на удаление"; 4) "Снять пометку на удаление"; 5) "Удалить непосредственно"; 6) "Сменить фирму" (если есть общий реквизит 'Фирма'). Имеются удобные инструменты для подбора выборки документов (Подбор в обработках 'ПодборUChoice' и 'Консоль1CQA'). Реализованы различные опции обработки документов (в том числе 'выборочное проведение по видам движений'). Описана технология выборочного проведения документов по видам движений.

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

Наименование Файл Версия Размер
ОбработкаВыборкиДокументов.rar
.rar 62,45Kb
161
.rar 62,45Kb 161 Скачать
PlugIns.rar
.rar 106,07Kb
40
.rar 106,07Kb 40 Скачать
FormEx1CPP.rar
.rar 2,10Mb
27
.rar 2,10Mb 27 Скачать
Пример_isВидДвиженияЗапись().txt
.txt 2,38Kb
19
.txt 2,38Kb 19 Скачать
Пример_глПроведениеОчисткаВидовДвижений().txt
.txt 1,91Kb
20
.txt 1,91Kb 20 Скачать
Пример_ОбработкаПроведения().txt
.txt 1,56Kb
22
.txt 1,56Kb 22 Скачать

Другой юноша нес свое:
"Я нашел, как применить здесь нестирающие шины из полиструктурного волокна
с вырожденными аминными связями и неполными кислородными группами.
Но я не знаю пока, как здесь использовать регенерирующий реактор
на субтепловых нейтронах. Миша, Мишок! Как быть с реактором?"
Присмотревшись к устройству, я без труда узнал ВЕЛОСИПЕД.
А.Стругацкий, Б.Стругацкий,
"Понедельник начинается в субботу"

 

Описание проблемы:  

Задача групповой обработки документов разного рода (в том числе перепроведения) также стара, как сама 1С. 

И следовательно, не нуждается в особом описании.

Из-за популярности проблемы имеется масса работ посвященной этой тематике. 

По видимому каждый программист 1С старается внести свой вклад в это дело. 

Поэтому, я решил не отбиваться от коллектива и представляю на суд общественности свою скромную разработку.

 

Первоначальная идея и базовый функционал предлагаемой обработки  принадлежит Павлушиной Александре. Я добавил универсальные подборы выборки документов, рекурсивную обработку подчиненных документов, выборочное проведение по видам движений (в описанном виде) и контекстное меню действий с документом при клике мышью.

 

Описание файлов поставки:  

1) ОбработкаВыборкиДокументов.rar  -  сама обработка выборки документов; 

2) PlugIns.rar - архив содержит сервисные обработки , без которых работа обработки либо невозможна, либо более удобные, чем соответствующие штатные средства платформы:  

      - ПодборUChoice.ert,  Консоль1CQA.ert  - используются для подбора выборки документов (одна из них обязательно должна быть доступна!);

      - ВыборИзСпискаЗначений_sys.ert - используется для отметки значений в списках фильтров по видам движений и видам подчиненных документов (Рис.4);

3) FormEx1CPP.rar  - содержит класс КОП 'Общие.Форма.Привязка' и файлы ВК  1CPP.dllFormEx.dll;

4) _isВидДвиженияЗапись().txt  - содержит пример кода функции, возвращающей значение флага записи по выбранному виду движения документа; 

5) _глПроведениеОчисткаВидовДвижений().txt  - содержит пример кода процедуры для очистки движений документа при его выборочном проведении; 

6) _ОбработкаПроведения().txt  - содержит пример кода с заготовкой процедуры проведения документа,

                                                    реализующей технологию выборочного проведения документа, описываемую в данной работе;   

 

Требования:
1) Желательно наличие внешних компонент:
    а) Внешняя компонента 1CPP.dll (http://www.1cpp.ru/index.php/Download).
        - В некоторых алгоритмах обработки по возможности используется объект 'Индексированная таблица'.
          Если такой объект не может быть создан - используются "запасные" варианты алгоритмов через 'ТаблицуЗначений';
        - Для получения выборки подчиненных документов по возможности используются прямые запросы 1C++. 
          Если прямые запросы не доступны - используются средства, предоставляемые объектом 'Документ';
        - Для инициализации дополнительных параметров проведения документов используется объект "ВыполняемыйМодуль".
          Без этого объекта указанная возможность не доступна;

    б) Внешняя компонента FormEx.dll, или ее ядро в составе 1CPP.dll (http://www.dorex.pro/?download).
        - Версия компоненты FormEx.dll или ее ядра должны поставлять объект 'Сервис' (используется для выборов из меню).
          Если объект 'Сервис' создать не удается - используются "запасной" вариант выбора из меню через 'СписокЗначений'.


    Если обработка используется как внешняя, специально загружать ВК не требуется. Достаточно разместить файлы библиотек
    в одном каталоге с обработкой. При необходимости обработка сама загрузит ВК при открытии формы.

2) Для красоты в интерфейсе обработки также желательно иметь в конфигурации КОП 'Общие.Форма.Привязка' -
класс определенный пользователем, управляющий привязками в диалоге формы обработки (Автор: Дмитрий Ощепков mailto:dmitro-75@mail.ru).
Если экземпляр класса не удается создать, в форме обработки не работают привязки элементов диалога.

3) Желательно наличие обработки 'ВыборИзСпискаЗначений_sys' для отметки значений в списках фильтра по "Видам движений документов" и фильтра по "Видам подчиненых документов" (Рис.6). Без этой обработки отметка значений осуществляется с помощью средств объекта "СписокЗначений" (Рис.5).

4) Обязательно должна быть доступна одна из обработок подбора объектов:
    - "ПодборUChoice" (
//infostart.ru/public/97811/ );
    - "Консоль1CQA" ( //infostart.ru/public/98982/ );
       Без них в обработке не будет возможности заполнить список документов для обработки.

5) Желательно наличие следующих сервисных обработок, используемых при обработке выбора в меню действий с документом при клике мыши по ячейке в таблице выборки документов или в отчете об ошибках обработки:

    - "ИзменениеВремениДокумента" - используется для изменения дата-времени документа;
    - 'Редактор Реквизитов' (автор Цылёв Владислав vet7777@mail.ru) - используется для альтернативного редактирования документа;

 

 Установка:

1) Добавить в конфигурацию или скопировать в удобный для работы каталог обработку из архива  ОбработкаВыборкиДокументов.rar.

2) Добавить в конфигурацию или скопировать в тот же каталог сервисные обработки из архива PlugIns.rar  (при их отсутствии).

3) Рекомендуется добавить в конфигурацию или скопировать в тот же каталог прочие сервисные обработки (при их отсутствии).

4) Рекомендуется обеспечить загрузку ВК  1CPP.dllFormEx.dll тем или иным способом. А также подключить класс  КОП 'Общие.Форма.Привязка'.


Возможности:
1) Обработка позволяет выполнить над выборкой документов ряд действий (выбирается из списка 'Вид обработки'):
    - "Провести"; 
    - "Отменить проведение";
    - "Пометить на удаление"; 
    - "Снять пометку на удаление"; 
    - "Удалить непосредственно";
    - "Сменить фирму" (доступно если в конфигурации есть справочник 'Фирмы' и общий реквизит документа 'Фирма');

       В таблице выборки документов в колонке "Рез." выводится статус успешности обработки документа (Рис.7).      В случае ошибок обработки, например из-за блокировок объектов (отмечается красной галкой), при клике мышью по статусу выводится информация о причине ошибки.
      При ошибках обработки документов по ее завершении также выводится отчет об ошибках (Рис.8).
      В разных колонках отчета выводится ссылка на документ и информация об ошибке. 
      При клике мышью по документу, выводится контекстное меню, позволяющее выполнит над документом различные действия, смотри ниже п.5 (Рис.3 и Рис.8).


2) Выборка документов может быть подобрана в обработках со следующими именами:
   - "ПодборUChoice" (Рис.1);
   - "Консоль1CQA" (Рис.2);
 обработки либо должны быть включены в состав конфигурации, либо должны лежать в одном каталоге с данной обработкой (если эта обработка используется как внешняя).

3) Выборка документов может быть сохранена в файл и загружена из файла  (используются функции ЗначениеВФайл(,,) и ЗначениеИзФайла(,,)).

4) При загрузке выборки документов из подбора доступны следующие возможности:
   - Принудительная сортировка выборки документов по хронологии (флаг 'сортировать по хронологии');
   - Отмена добавления документа в список, если он там уже имеется (флаг 'пропускать, уже добавленные');
   - Отмена добавления документа в список, если у него есть подчиненные (флаг 'пропускать, имеющие подчиненные');
   - Прямая загрузка выборки документов в таблицу значений диалога, вместо построчного добавления (флаг 'прямая загрузка выборки'),
     данный режим может оказаться предпочтительной в случае больших выборок документов;
   - Добавление отобранной выборки документов в подборе к уже имеющемуся списку документов без изменения структуры колонок (Рис.9).      При заполнении дополнительных колонок в новых строках списка документов последовательно делаются попытки
     чтения значений из выборки документов и из атрибута добавляемого объекта по имени колонки. 

5) При двойном клике мышью по ячейке таблицы выборки документов, выводится контекстное меню,позволяющее выполнить со значением в ячейке следующие действия:
    - открыть объект в списке или диалоге;
    - сформировать отчет о движениях документа; 
    - сформировать структуру подчиненности документа;
    - измененить временя-дату документа (требуется обработка "ИзменениеВремениДокумента");
    - открыть объект для редактирования в обработке 'Редактор Реквизитов' (автор Цылёв Владислав vet7777@mail.ru);

6) Общие опции обработки выборки документов:
    - Обработка всей выборки документов в одной транзакции (флаг 'в единой транзакции');
    - Обработка только тех документов, которые ранее были обработаны с ошибкам (флаг 'только с ошибками');
    - Задержка между обработкой документов в миллисекундах (не нулевое значение в поле выбора 'Задержка между обработкой'); 
    - Обработка документов вместе с подчиненными (флаг 'вместе с подчиненными док-тами следующих видов:')
     при этом возможна рекурсивная обработка подчиненных документов (включая подчиненные подчиненных),
     а также установка фильтра по видам подчиненных документов (Рис.5);

7) Особенности обработки документов при проведении:
    - Помеченные на удаление - пропускаются всегда;
    - Не проведенные - пропускаются, если установлен флаг 'при проведении пропускать не проведенные документы' 
      Если флаг не установлен - документы проводятся. По умолчанию флаг устанавливается при открытии обработки;
    - Документы проводятся с передачей в модуль документа параметра проведения, зависящего от значения,
      выбранного в списке "Тип параметра" (Рис.10):

      а. "Неопределено":
          В качестве параметра проведения используется пустое значение неопределенного типа. Фильтр по видам движений игнорируется.

      б. "Строка 'ВидыДвижений'":
          В качестве параметра проведения используется строка фильтра по видам движений 'ВидыДвижений'.

      в. "СписокЗначений {'ВидыДвижений'}" и "СписокЗначений {'ВидыДвижений'; 'ОсобыеПрава'}":
          В качестве параметра проведения используется список значений следующего вида

      сзПараметрыПроведения=СоздатьОбъект("СписокЗначений");
      сзПараметрыПроведения.Установить("ВидыДвижений",ВидыДвижений);
      сзПараметрыПроведения.Установить("$ОсобыеПраваПрограмногоПроведения$",1);
// - для последнего варианта с особыми правами

      ...
      рез=ДокуменОбъект.Провести(,сзПараметрыПроведения);


      В качестве строки фильтра по видам движений 'ВидыДвижений' используется значение поля ввода "Выборочно проводить по видам движений" (Рис.4),
      которая составляется строка из идентификаторов видов движений документов, отмеченных в списке фильтра, разделенных точкой с запятой.
      Строки идентификаторов видов движений соответствуют описанию встроенной процедуры ОчиститьДвижения();

 
     Параметр "$ОсобыеПраваПрограмногоПроведения$" может быть использован в модуле проведения, для обхода контроля некоторых ограничений,       например, даты запрета редактирования или особых прав на проведение документа.

      Параметр проведения документов можно произвольно переопределять с помощью текста модуля инициализации параметров проведения.
      Например, можно установить в списке значения с другими именами или перезаписать строковым значением:      сзПараметры="Операция";       Использование модуля инициализации доступно при наличии ВК 1cpp.dll (используется объект "ВыполняемыйМодуль").       С помощью кнопки "add module string" (Рис.11) можно вставить выбором из меню заготовку для строки кода модуля инициализации.         С помощью кнопки "test module" (Рис.6) можно проверить правильность модуля инициализации параметров проведения, а также       просмотреть значение переменной с параметром проведения документов.       Для просмотра списка в форме показанной на Рис.6 необходимо наличие в конфигурации подсистемы ViewValues (просмотр "табличных" объектов).

8) Для обеспечения выборочного проведения документа по видам движений в модулях документов
должна быть реализована корректная обработка параметра "ВидыДвижений", передаваемого в списке значений через аргумент процедуры ОбработкаПроведения(<Знач>).

    Примерная схема реализации выборочного проведения следующая:
       а) У интересуемых документов снимается флаг автоматического удаления движений при проведении;
       б) В глобальном модуле добавляются экспортные процедуры и функции (смотри примеры ниже):
             - isВидДвиженияЗапись(ИдВидДвиженияИд,ВидыДвижений)
               возвращает флаг записи по выбранному виду движения ИдВидДвиженияИд (Пример кода 1);
             - глПроведениеОчисткаВидовДвижений(Конт,ВидыДвижений)
               выполняет очистку видов движений с учетом значений флагов записи (Пример кода 2); 
       в) В процедуре ОбработкаПроведения(<Знач>) в самом начале из параметра вычисляется список видов движений ВидыДвижений.
           Этот список лутше хранить в переменной модуля. Затем програмно очищаются нужные виды движений вызовом 
           процедуры глПроведениеОчисткаВидовДвижений(Контекст,ВидыДвижений) (Пример кода 3);
       г) Далее во всех алгоритмах проведения запись движений должна осуществляться только тогда, когда значение флага
           записи по выбранному виду движения, возвращаемый функцией isВидДвиженияЗапись(ИдВидДвиженияИд, ВидыДвижений), больше нуля.

     При реализации выборочного проведения документов следует учесть следующее:

       а) В предлагаемой схеме, если не указан список видов движений, то выполняется запись по всем видам движений.
           Но прикладная логика конфигурации может быть иной. 
           Например, в "Комплексной конфигурации-7.7" движения по бухгалтерским проводкам зависят от настроек базы:
              - Они могут быть созданы сразу (вместе с движениями по регистрам оперативного учета);
              - А могут формироваться отдельно регламентной обработкой в конце месяца;

       б) Некоторые виды движений могут быть взаимосвязанными. Например себестоимость в регистре продаж зависит от стоимости, списанной по партиям товаров.

 

Использование:

       Администрирование данных - групповая обработка документов, подобранных произвольным образом (в зависимости от стоящей задачи).

 

Благодарности:

      Выражаю огромную благодарность Павлушиной Александре за полезные советы, дружескую помощь и живое человеческое общение за время совместной работы! Laughing 

См. также

Консоль запросов

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Консоль запросов к базе SQL, не требующая внешних компонент

10 стартмани

29.04.2015    21526    54    Gvozdod    8    

14

StartManager 1.4 - Развитие альтернативного стартера

Инструментарий разработчика Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)

Очередная редакция альтернативного стартера, являющегося продолжением StartManager 1.3. Спасибо всем, кто присылал свои замечания и пожелания, и тем, кто перечислял финансы на поддержку проекта. С учетом накопленного опыта, стартер был достаточно сильно переработан в плане архитектуры. В основном сделан упор на масштабируемость, для способности программы быстро адаптироваться к расширению предъявляемых требований (т.к. довольно часто просят добавить ту или иную хотелку). Было пересмотрено внешнее оформление, переработан существующий и добавлен новый функционал. В общем можно сказать, что стартер эволюционировал, по сравнению с предыдущей редакцией. Однако пока не всё реализовано, что планировалось, поэтому еще есть куда развиваться в плане функциональности.

1 стартмани

23.04.2014    165605    1863    Alexoniq    1596    

496

Tray Informer

Инструментарий разработчика Платформа 1С v7.7 Платформа 1С v8.3 Россия Абонемент ($m)

Согласитесь, что окно стандартное сообщений в 1С иногда приносит больше неудобств, чем пользы. И тем более разные "Предупредить"... Что с этим окном только не делают! Его отцепают от формы, делают маленьким, умудряются спрятать за границы экрана. А потом звонят программистам с претензией, что документ почему-то не проводится, отя ничего и не пишет. У вас такого не было? А вот у нас было и не раз )))

1 стартмани

04.09.2013    32866    61    O-Planet    78    

49

Изменение структуры баз 1С 7.7 без долгой реструктуризации. Часть 1. Справочники

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

На днях встретил вопрос на форуме про возможность внесения изменений в конфигурацию без долгого сохранения в рабочей базе большого объема. Вот решил поделиться опытом, как это делал я. База у нас была объемом порядка 120 Гб. К базе обращался сайт в режиме 24/7, поэтому важно было быстро сохранять изменения и желательно без последующего монопольного запуска для восстановления индексов и процедур и без отключения пользователей от базы. Это первая часть статьи и посвящена она справочникам. С одной стороны - это самый простой объект, с другой стороны, именно про справочник спрашивалось на форуме. Если статья будет востребована, то я напишу аналогичные про документы, регистры и может еще что.

1 стартмани

13.08.2013    21179    Reptile    5    

35

v7.7 1CDialogControls: Инструмент в помощь разработчику на 7.7.

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Давным давно, когда я еще плотно писал на 7.7 работа с формами была мучительной и неудобной. Приходилось каждый элемент выкладывать, выравнивать на форме ручками, прописывать код в модуле. Иногда при разработке очередной формы приходила в голову мысль: "а где-то я уже похожее делал..." и начинался мучительный поиск подходящего кода в своих запасах........

1 стартмани

21.02.2013    18023    35    MarSeN    14    

16

[Разработчику] Любая таблица значений в OLAP

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Анализируем различные данные в 1С, используя OLAP-технологии со всеми прелестями. Т.е. наглядное отображение данных, быстрые расчеты, горизонтальные и вертикальные группировки любой вложенности, удобная фильтрация, Drag'n'Drop и ещё много приятных вещей от MS. Обработка на входе принимает практически любую таблицу значений (ТЗ в которой колонкам указаны типы значений, строка, число и т.п.), на выходе имеем на форме 1С сводную таблицу и график по этой ТЗ, с которой работаем, как и в Excel со сводной таблицей и диаграммой. Взял за основу разработку «OLAP Анализ счёта» ( http://infostart.ru/public/14964/ ) от JohnyDeath и переделал под любую ТЗ. Опционально используется «Прогресс бар для 1С 77» (http://infostart.ru/public/14061/ ) от Gmix.

1 стартмани

21.12.2012    36093    51    venger    7    

23

Библиотека кода 1С 7.7 (накопленная за 8 лет)

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Весь код на 1С 7.7, собранный для повторного использования за 8 лет работы.

10 стартмани

25.11.2012    34943    248    adhocprog    51    

70
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. yuraos 991 04.01.12 22:36 Сейчас в теме
Всем доброе время суток!
Это последний велосипед из из трёх обещанных в статье об обработке ObjectsCleaner.
:))))))))))))))))))))))
Прошу сильно не ругатся :oops: ....
2. Шёпот теней 1779 06.01.12 11:03 Сейчас в теме
... увлекаясь спицами ... не потеряйте велосипед ! ...

п.с. для чего СУществует 1С ... ???

... вотВОПРОСвот ...
3. yuraos 991 06.01.12 11:18 Сейчас в теме
Шёпот теней пишет:

... увлекаясь спицами ... не потеряйте велосипед ! ...



п.с. для чего СУществует 1С ... ???



... вотВОПРОСвот ...

ОДНОЗНАЧНО - ОДНО:

щёб БОРЯ НУРАЛИЕВ ...
... мог на КАНАРАХ оттягиваться

:))))))))))))
ВОТответВОТ

ЗЫ
Всех с наступившим (новым годом) и с прошедшим (концом света) !!!
4. Гость 22.01.12 13:55
5. yuraos 991 02.02.12 11:17 Сейчас в теме
Всем доброго времени суток!

Обновлен файл поставки ОбработкаВыборкиДокументов.rar

Текущие изменения:
1) исправленн довольно неприятный баг:
при обработке команды контекстного меню при клике по ячейке таблицы значений
независимо от выбранной команды просто открывалась форма объекта для просмотра.
2) в контекстное меню добавлены команды (для документов):
- открыть в общем журнале (отыскивается первый подходящий по своствам объкта Метаданные.Журнал(о));
- открыть список подчиненных документов;
3) исравлены другие незначительные баги.
6. voyger_men 16.02.12 08:02 Сейчас в теме
Отлично, велосипед не велосипед, но мне очень помогло, спасибо большое что выкладываете обработки!
7. corsar4ik 24.02.12 09:47 Сейчас в теме
Всем доброго времени суток!

Обновлен файл поставки ОбработкаВыборкиДокументов.rar

Текущие изменения:
1) исправленн довольно неприятный баг:
при обработке команды контекстного меню при клике по ячейке таблицы значений
независимо от выбранной команды просто открывалась форма объекта для просмотра.
2) в контекстное меню добавлены команды (для документов):
- открыть в общем журнале (отыскивается первый подходящий по своствам объкта Метаданные.Журнал(о));
- открыть список подчиненных документов;
3) исравлены другие незначительные баги.


обработка умеет рекурсивно проводить подчиненные в порядке времени правильном?
Upd. извиняюсь, умеет...
8. corsar4ik 24.02.12 10:28 Сейчас в теме
В реале нужная весчь.. помогла после переноса, облегчила работу бухам ппц... Спасибо за велосипед!)
9. yuraos 991 24.02.12 13:33 Сейчас в теме
(8) corsar4ik, пожалуста! :)

по поводу (7):
рекурсивная обработка подчиненных устроена следующим образом:
после успешной обработки документа из базы дергается таблица подчиненных документов.
если доступны прямые запросы 1с++ - дергается прямым запросом,
если прямые запросы недоступны - заполняется выборкой подчиненных документов
методом ДокОбъект.ВыбратьПодчиненные(,,).
в обоих случаях таблица упорядочивается по хронологии и
передается для обработки той же процедуре,
что используется для обрабатки исходной выборки документов.

насчет "в порядке времени правильном" - тут трудно сказать...
...можно лишь утверждать:
что на каждом уровне рекурсий (уровне подчиненности) выборка подчиненных документов
(для конкретного документа владельца)
обрабатывается хронологически по возврастанию.

PS
Причем последнее относится не только к проведению, но и вообще ко всем видам обработки.
10. corsar4ik 24.02.12 14:33 Сейчас в теме
да, лютая штуковина.. только он у меня не проводил ничего сначала, пришлось обнулять параметр проведения в коде :(.. может я не разобрался?
11. yuraos 991 24.02.12 15:45 Сейчас в теме
(10) corsar4ik, да нет ...
..."обнулять" параметр проведения вроде бы не надо
(ну если конечно в алгоритмах проведения чего-нибудь такого не наворочено :) ).

В обработке правда много всяких "тыч",
например - "пропускать непроведенные документы" или "пропускать имеющие подчинненые",
случайная установка которых может привести к совсем не к тому результату, который ожидается.

PS
Использование параметра проведения - нестандартная возможность.
Нужно чтобы алгоритмы проведения "знали" что делать, если он передается.

Я параметр использовал проведения для двух вещей:
1. отключение некоторых проверок при проведении ("$ОсобыеПраваПрограммногоПроведения$").
2. выборочное проведение по регистрам.
При этом пришлось довольно основательно подправить модули проведения документов.
Об этом разсказано в статье, примеры реализации в файлах поставки:
_isВидДвиженияЗапись().txt
_глПроведениеОчисткаВидовДвижений().txt
_ОбработкаПроведения().txt

.
12. corsar4ik 05.03.12 13:26 Сейчас в теме
это, господин автор, сделайте пожалуйста, чтобы через UChoice можно было добавить много документов разных типов.. чтобы ТЧ не очищалась.. это вообще возможно?
13. yuraos 991 06.03.12 17:12 Сейчас в теме
(12) corsar4ik, как бывший физик авторитетно заверяю,
что возможно все, что не противоречит закону сохранения энергии-импульса.
;)
1. Если ты имеешь ввиду, что бы сам UChoice сам подбирал документы разных видов...
...то это довольно сильно поломает прикладную логику обработки и следовательно изменения будут довольно затратны
(выбор видов документов + организация отборов по значениям реквизитов + не поломать что-нибудь в целом).

2. Если достаточно просто добавлять подобранные в UChoice объекты к уже выбранным в "ТЧ" докуменам,
то это сделать достаточно просто.
14. yuraos 991 06.03.12 17:25 Сейчас в теме
(13) правда последовательное добавление объектов из UChoice в список документов
имеет недостаток:
если документы подбираются по довольно сложным условиям,
то можно ошибиться при установке фильтров в UChoice и получить не то, что хотелось

Я даже думал не сделать ли такую возможность, но решил не замарачиваться в связи с выше сказанным.

Лично я списки документов подбирал, как правило, с помощью консоли прямых запросов 1CQA.
Там можно "нарисовать" выборку документов по самым произвольным условиям,
например, относящся определенной фирме и двигавших по определенному регистру.

PS
Если интересно,
могу выложить настройки запроса 1CQA
для выборки документов указанных в тексте запроса видов в определенном интервале дат.
16. yuraos 991 14.03.12 15:53 Сейчас в теме
(12) corsar4ik,
СЧАСТЬЕ ЕСТЬ, ОНО не может не ЕСТЬ!
Качай!
17. yuraos 991 14.03.12 16:12 Сейчас в теме
(12)(16)
Всем доброго времени суток!
Обновлен файл поставки ОбработкаВыборкиДокументов.rar.

Текущие изменения:

1. Учтено пожелание уважаемого corsar4ik
т.е. реализован режим добавления отобранных в подборе объектов к уже имеющемуся списку документов.

При добавлении новых объектов структура колонок списка не меняется.
Значения для дополнительных колонок в новых строках читаются по именам колонок из таблицы подбора.
При неудачном чтении
(другой набор отображаемых в подборе колонок)
значения читаются по именам колонок из атрибутов объекта.
Если таких атрибутов нет - остаются незаполненными.

2. Снято ограничение на тип параметра проведения при его изменении в модуле инициализации.
До этого параметр должен быть обязательно списком значений. Теперь его можно произвольно переопределять.
Например присвоить просто строковое значение:
сзПараметры="Проводки";

Это может приготиться тем, кто "сидит" на типовой "комплексной" конфигурации.
20. yuraos 991 15.03.12 16:20 Сейчас в теме
(17), по пункту два текущих изменений - пока работает по старому.
Поправлю в бдизжайшее время.
ЗЫ
Факир был пъян ;))))
21. yuraos 991 18.03.12 12:31 Сейчас в теме
Доброе всем время суток!
Обновлены файлы поставки:
ОбработкаВыборкиДокументов.rar и
_isВидДвиженияЗапись().txt
Текущие изменения:
1. Устранено досадное недоразумение, о котором говорится в (20).
2. Оптимизирована работа с параметром проведения документов
(для большей универсальности вообще и
для совместимости с комплексной конфигурацией в частности).
Теперь тип параметра проведения документов выбирается в списке диалога обработки.
Поддерживаются следующие варианты:
- Неопределено (пустое значение неопределенного вида);
- Строка (строка фильтра по видам движений) - как в комплексной конфигурации;
- и два варианта со СпискомЗначений (Без флага особых прав и с флагом) - исходный вариант типа параметра;
3. В списке отметки фильтра видов движений добавлено значение <<Регистр>> - по любым регистрам
(для совместимости с комплексной конфигурацией).
В функции isВидДвиженияЗапись() в примерах кода внесены изменения,
учитывающие фильтр движений документа "ПоВсемРегистрам".
15. corsar4ik 06.03.12 17:57 Сейчас в теме
Да, я думал прикольно было бы если бы :)
в вопросе "ОЧИСТИТЬ ТАБЛИЧНУЮ ЧАСТЬ?" был бы пункт "Нет, добавить в существующую".. я просто без 1спп работал..
п.с. Вы лютый тип) потому что никто из авторов так активно не общался в комментах
18. corsar4ik 15.03.12 05:02 Сейчас в теме
19. yuraos 991 15.03.12 16:18 Сейчас в теме
22. пользователь 19.03.12 07:44
Сообщение было скрыто модератором.
...
23. 6630 1 20.03.12 12:46 Сейчас в теме
нужная вещь, протестирую. отпишусь
24. пользователь 23.03.12 11:41
Сообщение было скрыто модератором.
...
25. CheBurator 3119 26.05.12 19:12 Сейчас в теме
Выложить для скачик дестйок файлов вместо одного архива - это издевательство.
26. olezhe 21 06.11.12 16:29 Сейчас в теме
27. GenTay 27.10.13 16:51 Сейчас в теме
Оставьте свое сообщение