Использование готовых инструментов

Публикация № 196526

Разработка - Практика программирования

универсальные обработки удаление помеченных загрузка данных перенести между базами

В статье перечислены довольно простые задачи, с которыми сталкивался каждый программист 1С во время своей работы, и указаны наиболее эффективные (по мнению автора) инструменты для их решения

Введение

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

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

Перечень задач

  1. Удаление помеченных объектов немонопольно, по типам объектов
  2. Перенумерация справочников, документов
  3. Групповое изменение реквизитов объектов, реквизитов подчиненных объектов
  4. Частичный и полный перенос данных между однотипными конфигурациями (миграция, подготовка урезанной базы, восстановлении данных из резервных копий)
  5. Разовая загрузка данных из других источников (.dbf, .xls, .txt)
  6. Определить, какие данные записываются в базу данных при выполнении определенных действий

Удаление помеченных объектов

   Как известно, в процессе эксплуатации базы данных все мы делаем ошибки, поэтому ненужные элементы помечаются на удаление. Для их удаления из базы данных необходимо выполнить процедуру удаления помеченных объектов. Процедура вызываемая из главного меню (обычное приложение) Операции->Удаление помеченных объектов требует монопольного доступа к базе данных, к тому же если регламентное обслуживание базы данных находится в запущенном состоянии количество помеченных объектов может быть достаточно большим и процедура контроля всех помеченных объектов может занять кучу времени или даже вызвать ошибку в процессе выполнения.

Для решения данной задачи существует замечательная обработка с диска ИТС УдалениеПомеченныхОбъектов.epf, которая позволяет осуществлять все операции в немонопольном режиме, выборочно по объектам. Так же в ней можно установить отбор по объектам метаданных и снять/установить флажки.

Обработка Удаление помеченных объектов

Рис.1. Обработка Удаление помеченных объектов

Важно! Еще одной хитростью данной обработки является возможность найти помеченный объект по ссылке и выбрать только его. О чем речь? Например, вы пометили на удаление номенклатуру, вместе с ней пометились подчиненные ей единицы измерения "шт". Открыв эту обработку вы, возможно увидите, что существует множество единиц измерения с наименованием "шт", помеченных на удаление, какой же элемент именно ваш? Вам поможет поиск по значению. Для этого:

  1. Встаем в колонку Ссылка и жмем Ctrl+F(поиск)
  2. В открывшемся окне поиска устанавливаем переключатель в положение "Поиск по значению"
  3. Выбираем тип значения(например, справочник Единицы измерения)
  4. Далее можно просто скопировать-вставить в поле ввода код искомой единицы измерения или найти ее в справочнике каким-либо другим способом
  5. Жмем кнопку Искать. Если все верно, система достаточно быстро отметит в списке найденную ссылку
Поиск в списке ссылок
Рис.2. Поиск произвольной ссылки среди помеченных на удаление

Пара существенных минусов есть у обработки с ИТС:

  1. При открытии предлагает поискать все помеченные на удаление - в большой базе это долго
  2. Нет множественного выделения в списках

Развитие данной обработки, которое лишено перечисленных недостатков: Удаление помеченных объектов за период

Перенумерация справочников, документов

   В работе с "боевой" базой данных мне приходилось всего лишь один раз выполнять перенумерацию части справочника номенклатура и для этого была написана отдельная обработка одной кнопки. Документы приходилось перенумеровывать чаще: при чем суть перенумерации была не в изменении номера документа как такового, а в изменении количества лидирующих нулей в номере, т.е. я приводил номера вида 00000001234 к виду 01234. Операция безболезненная в типовых, т.к. на печать идут только значащие цифры.

   Данную операцию перенумерации я делал с помощью достаточно универсальной обработки с того же диска ИТС УниверсальныеПодборИОбработкаОбъектов.epf. Данная обработка позволяет изменять документы и справочники. К сожалению Планы видов характеристик, планы видов расчета и планы счетов она изменять не может.

Итак, как же привести номера документов вида 00000001234 к виду 01234. Все просто:

  1. Открываем обработку УниверсальныеПодборИОбработкаОбъектов.epf
  2. В поле объект поиска выбираем интересующий нас вид документа
  3. На вкладке отбор по значениям реквизитов указываем по каким критериям необходимо отобрать документы. В моем случае, я указывал все документы с начала года, т.е. Дата >= 01.01.2013 (рис.2)
  4. Жмем кнопку Найти объекты. Выполняется переход к вкладке Найденные объекты 
  5. На вкладке Найденные объекты можно просмотреть какие объекты для обработки были отобраны и установить/снять флажки с тех объектов, которые обрабатывать не нужно. Очень удобно (рис.3)
  6. Переходим на вкладку Обработки. В дереве Обработка/Настройка добавляем новый элемент в разделе Произвольный алгоритм и пишем код 
    НоваяДлинаНомера = 7; // Это параметр, он может быть разный :-)
    СтарыйНомер = Объект.Номер;
    
    СтарыйНомер = СокрЛП(СтарыйНомер);
    НовыйНомер = Прав(СтарыйНомер, НоваяДлинаНомера);
    
    Если СтарыйНомер <> НовыйНомер Тогда
    	Объект.Номер = НовыйНомер;
    	Сообщить(Объект);
    
    	Объект.Записать(РежимЗаписиДокумента.Запись);
    	
    КонецЕсли;
  7. Жмем кнопку Выполнить
Картинки

Рис.3. Универсальный подбор и обработка объектов. Отбор
 
Рис.4. Универсальный подбор и обработка объектов. Просмотр отобранных объектов
 
Рис.5. Универсальный подбор и обработка объектов. Обработка отобранных объектов
 
В результате выполнения будут изменены номера документов, при этом документы будут переписаны БЕЗ перепроведения. Это очень неплохо, т.к. не будет затрачено время на проведение документов, движения документов не изменятся. Но, надо учитывать тот факт, что например, при записи документа ТабельУчетаРабочегоВремени удаляются записи в регистре ГрафикиРаботыПоВидамВремени 

Групповое изменение реквизитов объектов

  Это достаточно частая задача и она имеет множество вариаций. Например, необходимо пометить на удаление(или переместить) все элементы номенклатуры в определенной группе, с видом номенклатуры Материалы. Для решения данной задачи достаточно воспользоваться обработкой, которая есть во всех типовых конфигурациях - это ГрупповаяОбработкаСправочниковИДокументов (в полном интерфейсе, в главном меню Сервис ->Групповая обработка справочников и документов). Как видно из названия - эта штука умеет обрабатывать только справочники и документы, при чем обрабатываются только элементы справочников, группы(реквизит ЭтоГруппа=Истина) не обрабатываются. Кроме самих элементов справочников или документов можно так же обработать их табличные части. Как это сделать:

  1. Открываем обработку
  2. Выбираем тип объекта Справочники или Документы, если необходимо обработать табличные части ставим галку Обрабатывать табличные части(рис. 5)
  3. Добавляем виды обрабатываемых объектов в табличную часть
  4. После этого устанавливаем отбор, чтобы выбрать только интересующие объекты для обработки
  5. Жмем кнопку Отобрать. Будут отобраны объекты, выполнен переход на вкладку Обработка. Если необходимо выполнить отбор по свойствам/категориям объектов - жмем кнопку Настройка на верхней панели, ставим соответствующую галку
  6. На вкладке Обработка можно просмотреть все что отобрано и проставить отметки на тех элементах, которые нужно обработать.
  7. Выбираем действие из перечня (изменить Дата, Проведение документа, Пометка на удаление, Группа, Изменить свойство..., Изменить Категорию..., Изменить реквизит)
  8. Жмем кнопку Выполнить
Картинки
Рис 6. Групповая обработка справочников и документов. Объекты отбора
 
 
Рис. 7.  Групповая обработка справочников и документов. Выполнить действие
 
   Так же хочу отметить вот эту публикацию ГОСиД - Универсал - это та же групповая обработка справочников и документов, но доработанная и её можно использовать в любой конфигурации.  
   Но иногда задача стоит более изощренно: например, необходимо создать единицу измерения для элементов справочника номенклатура после некорректной загрузки. Здесь уже групповая обработка справочников и документов бессильна, нам  поможет УниверсальныеПодборИОбработкаОбъектов. Последовательность будет такая:
  1. Открываем обработку УниверсальныеПодборИОбработкаОбъектов.epf
  2. В поле объект поиска выбираем справочник Номенклатура
  3. На вкладке отбор по значениям реквизитов указываем по каким критериям необходимо отобрать элементы справочника. Обратите внимание, что если не установить отбор по реквизиту ЭтоГруппа, то в выборку так же попадут и группы, чего нам не нужно
  4. Жмем кнопку Найти объекты.
  5. Переходим на вкладку Обработки. В дереве Обработка/Настройка добавляем новый элемент в разделе Произвольный алгоритм и пишем код
    НачатьТранзакцию();
    
    ЕдИзм = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
    ЕдИзм.Владелец = Объект.Ссылка;
    ЕдИзм.Наименование = "Наше наименование";
    ЕдИзм.ЕдиницаПоКлассификатору = // Каким-то образом ищем единицу в классификаторе
    ЕдИзм.Коэффициент = 1;
    ЕдИзм.Записать();
    
    Объект.ЕдиницаХраненияОстатков = ЕдИзм.Ссылка;
    Объект.ЕдиницаДляОтчетов = ЕдИзм.Ссылка;
    Объект.Записать();
    
    ЗафиксироватьТранзакцию();
     
  6. Жмем кнопку Выполнить
Частичный и полный перенос данных между однотипными конфигурациями

   Задача обычно стоит такая: потерялась часть данных из определенных таблиц, которая есть в резервной копии, необходимо перенести документы с движениями, часть справочников.

   Для этого лучше всего подходит обработка ВыгрузкаЗагрузкаДанныхXML82.epf с диска ИТС. Существует версия для платформы 8.1, 8.0. Существует несколько переработанная версия обработки Очень простая в использовании обработка обмена между идентичными конфигурациями , чем она лучше/хуже типовой я не могу сказать, т.к. функционал меня вполне устраивает, а интерфейс интуитивно понятный.

 Как перенести определенные документы:

  1. Открываем обработку ВыгрузкаЗагрузкаДанныхXML82.epf
  2. В дереве отмечаем виды объектов, которые собираемся выгружать (галка слева от названия). Например, документ "Прием на работу в организацию" (рис.7)
  3. Затем, встав на строчке с видом объекта, указываем для него отбор, чтобы определить какие именно объекты надо выгрузить. В своем примере я хочу выгрузить несколько последних документов: указываем отбор по ссылке, вид сравнения в списке (рис. 8)
  4. После этого необходимо определиться, нужно ли выгружать с документом его движения или нет - галка "Выгружать с документом все его движения". Для документов Корректировка записей регистров, Бухгалтерская операция эту галку надо обязательно ставить, т.к. в противном случае вы просто ничего не выгрузите. В своем примере я поставлю эту галку, чтобы не тратить время на перепроведение загруженных документов.
  5. Еще один немаловажный момент - необходимо указать какие объекты стоит выгружать по ссылкам (колонка При необходимости - в дереве видов объектов). Если не отметить в этой колонке ни один объект, то будут выгружены только отобранные объекты - в данном примере - несколько документ Прием на работу в организацию, а ссылочные объекты, такие как Организация, подразделение организации, сотрудник, виды расчета ...  указанные в документе не будут выгружены, выгрузятся только ссылки на эти объекты и если таких объектов в загружаемой базе нет - мы получим "битые ссылки"
  6. Итак, объекты для выгрузки определены, указываем Имя файла в который будут выгружены данные - это временный файл, после загрузки он будет не нужен, поэтому с именем не заморачивайтесь. Жмем кнопку "Выгрузить данные", расположенную на нижней панели. Файл выгружен
  7. Заходим в режиме 1С:Предприятие в ту базу данных, в которую эти данные должны быть загружены
  8. Открываем обработку ВыгрузкаЗагрузкаДанныхXML82.epf, переходим на вкладку "Загрузка"
  9. Указываем Имя файла, жмем кнопку "Загрузить данные"
Картинки 
Рис. 8. ВыгрузкаЗагрузкаДанныхXML
 
Рис. 9. ВыгрузкаЗагрузкаДанныхXML. Установка отбора
 

 Перенос большого справочника по частям

  Эта тема натолкнула меня на мысль о том как можно перенести справочник по частям. Вот пример того как можно перенести справочник Хранилище дополнительной информации несколькими частями:

      1. Открываем обработку ВыгрузкаЗагрузкаДанныхXML82.epf
      2. В дереве Данные для выгрузки снимаешь все галки (рис.7)
      3. Идем на вкладку Дополнительные объекты для выгрузки, жмем кнопку "Добавить объекты для выгрузки ..." (рис.8)
      4. жмем кнопку Выбрать из запроса. Пишем запрос типа: 
        ВЫБРАТЬ
            КОЛИЧЕСТВО(ХранилищеДополнительнойИнформации.Наименование) КАК НПП,
            ХранилищеДополнительнойИнформации.Ссылка КАК Ссылка
        ПОМЕСТИТЬ ПронумерованныйСписок
        ИЗ
            Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДополнительнойИнформации
                ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДополнительнойИнформации1
                ПО ХранилищеДополнительнойИнформации.Ссылка >= ХранилищеДополнительнойИнформации1.Ссылка
        
        СГРУППИРОВАТЬ ПО
            ХранилищеДополнительнойИнформации.Ссылка
        ;
        
        ////////////////////////////////////////////////////////////////////////////////
        ВЫБРАТЬ
            ПронумерованныйСписок.НПП КАК НПП,
            ПронумерованныйСписок.Ссылка
        ИЗ
            ПронумерованныйСписок КАК ПронумерованныйСписок
        ГДЕ
            ПронумерованныйСписок.НПП МЕЖДУ 1 И 1000
        
        УПОРЯДОЧИТЬ ПО
            НПП
      5. В место цифр 1 и 1000 пишем те номера элементов справочника по-порядку, которые хотим выгрузить
      6. Жмем Выполнить, ОК. ОК. Сформируется список ссылок 
      7. Выгружаем
      8. Загружаем получившийся файл в базу-приемник
      9. Возвращаемся к пункту 5 пока не выгрузим все элементы
Картинки
Рис.10. ВыгрузкаЗагрузкаДанныхXML. Добавление объектов, отобранных по произвольному алгоритму

 Загрузка данных из других источников

  На этапе ввода в эксплуатацию какой-либо конфигурации 1С или при начале работы с какой-либо подсистемой в уже работающей базой нередко встает задача ввода начальных остатков. Как правило, в таких случаях учет уже ведется в электронном виде, в какой-либо другой системе, иногда просто в excel. Таким образом, задача сводится к вычислению остатков(если вводим остатки) и загрузке остатков, справочников.

  Конечно же можно решать каждую такую задачу отдельно, создавая узкоспециализированную обработку загрузки данных, которая умеет делать только ЭТО и после успешной загрузки её можно удалять, но я в случае

Лучше использовать обработку с ИТС ЗагрузкаДанныхИзТабличногодокумента. Я использую вот эту разработку //infostart.ru/public/21890/, т.к. она позволяет так же грузить информацию в движения документа - это становится особенно важным, когда необходимо загрузить данные в документ Корректировка записей регистров или в документ Операция (бухгалтерский и налоговый учет)

Пример, как ей пользоваться и в каких случаях она очень актуальна - будет, но чуть позже

Определить какие данные изменяются при выполнении определенных действий

  Не редко в процессе отладки алгоритмов или когда нам приходится просто разбираться как работает чужая программа, или же при отладке загрузки данных с помощью конвертации данных или из других источников возникает необходимость определить, а какие же данные(документы, справочники, регистры) появились в базе данных в результате загрузки. Для решения этой задачи можно воспользоваться журналом регистрации и просматривать его штатными средствами(что не очень удобно), можно этот же журнал загрузить в специализированную базу (например, эта публикация: Конфигурация: Журнал регистрации (управляемое приложение), есть и другие). А можно воспользоваться Планами обмена, если такие присутствуют в конфигурации и обработкой с того же диска ИТС Регистрация изменений для обмена(сейчас она есть во всех типовых).

Итак, как же этим всем пользоваться:

  1. В списке планов обмена выбираем наиболее полный. В типовых он так и называется "Полный". Планы обмена можно открыть через пункт меню Операции->Планы обмена или Все действия->Планы обмена. 
  2. Добавляем новый узел в этом плане обмена. Теперь при записи объектов в базу данных они будут зарегистрированы в этом узле
  3. Далее выполняем нашу обработку/загрузку данных
  4. После этого открываем обработку Регистрация изменений для обмена, выбираем в ней недавно созданный узел плана обмена. Будет построено дерево зарегистрированный изменений
  5. Далее эту регистрацию можно расшифровать - правой кнопкой мыши по объекту метаданных Показать зарегистрированные изменения данного типа

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

Обработка с диска ИТС не умеет регистрировать в плане обмена записи регистров сведения, а вот эта доработка умеет: Регистрация изменений для обмена(м). Регистрация записей регистров сведений в плане обмена

Картинки

Рис. 11. Выбор плана обмена

Рис. 12. Добавление нового узла

Рис. 13. Обработка Регистрация изменения для обмена. Просмотр зарегистрированных изменений

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. MikaPikina 28.08.13 18:15 Сейчас в теме
я бы, конечно, не назвала ввод произвольного алгоритма чем-то удобным, мне приятнее нажать на одну кнопку и получить счастье, но такую штуку нужно иметь под рукой - мало ли что))
2. echo77 1166 28.08.13 18:27 Сейчас в теме
(1) Согласен, произвольный алгоритм удобнее предварительно готовить в конфигураторе. Но универсальный подбор и обработка объектов создает всю обвязку, избавляя программиста от создания первичного интерфейса и описания процедур отбора по определенным критериям.
3. CratosX 108 04.09.13 03:15 Сейчас в теме
консоль кода из мобильных ИР в помощь
4. plus1s_a 04.09.13 06:12 Сейчас в теме
Пользуюсь. Еще полезно в коде обработки ...
Объект.ОбменДанными.Загрузка = Истина;
RodinMax; Painted; +2 Ответить
5. Lion heart 6 01.10.13 11:48 Сейчас в теме
Есть еще замечательные служебные обработки ПоискИЗаменаЗначений.epf и ПоискИЗаменаДублирующихсяЭлементовСправочников.epf
RodinMax; echo77; +2 Ответить
6. mikmike 5 29.10.13 19:47 Сейчас в теме
В качестве бонуса к публикации прикреплены все вышеперечисленные обработки. Групповая обработка справочников и документов доработана так, что её можно запустить в любой конфигурации

Где, если не секрет?
7. echo77 1166 29.10.13 21:42 Сейчас в теме
(6) Вот здесь : http://dfiles.ru/files/nfn9ome6d

удалил из публикации, чтобы сделать её "публикацией"
8. mikmike 5 30.10.13 07:06 Сейчас в теме
(7) вот теперь соответствует все. Правда ресурс не самый лучший - все-таки у него репутация еще та, да и процесс скачивания замудреный. Может быть лучше в обычном облаке типа яндекс.диска выложить. Там есть возможность расшарить файл.
9. Cartman 07.02.14 11:48 Сейчас в теме
(8) mikmike, переложил в облако за автора пока.
https://cloud.mail.ru/public/f36fbb65b2be/1Cv82Scripts.zip

А статья отличная, очень полезная.
10. gull22 87 23.05.14 10:18 Сейчас в теме
11. newtype 16.08.15 10:58 Сейчас в теме
12. tormozit 5962 16.08.15 11:43 Сейчас в теме
Еще есть подсистема Инструменты разработчика, позволяющая решить во многом с большими возможностями и удобством некоторые из описанных задач:
- Удаление помеченных объектов немонопольно, по типам объектов - инструмент "Удаление объектов с контролем ссылок"
- Перенумерация справочников, документов - инструмент "Подбор и обработка объектов"
- Групповое изменение реквизитов объектов, реквизитов подчиненных объектов - инструмент "Подбор и обработка объектов"
- Частичный и полный перенос данных между однотипными конфигурациями - инструмент "Выгрузка загрузка данных через файл"
aspiration; Painted; KSy; echo77; +4 Ответить
13. Muxomop 154 19.08.15 13:46 Сейчас в теме
Полезная статья, особенно для тех, кто любит изобретать велосипед)
Оставьте свое сообщение

См. также

Использование программных перечислений, ч.1: строковые константы Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    37280    unichkin    74    

Программная работа с настройками СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020    25849    ids79    26    

[СКД] Программное создание схемы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".

15.01.2020    23225    John_d    22    

Последовательности событий. Шпаргалка

Практика программирования v8 Россия Бесплатно (free)

Собрал информацию о событиях/подписках/расширениях в одном месте.

30.12.2019    17781    kuzyara    33    

Вспомогательные инструкции в коде 1С Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    30150    tormozit    100    

30 задач. Странных и не очень

Практика программирования v8 Бесплатно (free)

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019    16911    YPermitin    72    

Как передать IP адрес, который вызвал HTTP запрос в 1C (для веб-сервера Apache)

Практика программирования v8 Бесплатно (free)

Столкнулся с задачей получения IP адреса, который вызывает http сервис 1С. Итак, решение:

22.11.2019    8305    Sibars    19    

Таблица значений. Нюансы

Практика программирования v8 Бесплатно (free)

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019    32741    Yashazz    50    

Оформление и рефакторинг сложных логических выражений Промо

Практика программирования v8 Россия Бесплатно (free)

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

20.09.2012    77910    tormozit    131    

О программе Postman для тестирования API и для чего она нужна 1С-нику

Практика программирования Программное обеспечение (software) v8 Бесплатно (free)

Для чего нужна программа Postman для тестирования API и какая от него польза для 1С-программиста.

24.09.2019    11663    budidich    28    

[Шпаргалка] Программное создание элементов формы

Практика программирования Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Программное создание практически всех популярных элементов формы.

06.09.2019    48928    rpgshnik    63    

Агрегатные функции СКД, о которых мало кто знает

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    48724    ids79    54    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007    48283    tormozit    41    

Регистры бухгалтерии. Общая информация

Практика программирования Математика и алгоритмы v8 v8::БУ БУ Бесплатно (free)

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019    28053    YPermitin    24    

Три костыля. Сказ про фокусы в коде

Практика программирования v8 Бесплатно (free)

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

03.09.2019    25368    YPermitin    80    

Отслеживание выполнения фонового задания

Практика программирования Универсальные функции Разработка v8 1cv8.cf Бесплатно (free)

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    31248    ids79    16    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    44688    tormozit    74    

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    80465    ids79    49    

Фоновое выполнение кода в 1С - это просто

Практика программирования v8 1cv8.cf Бесплатно (free)

Как легко запускать выполнение в фоне, не прибегая к долгому описанию фоновых процедур.

02.08.2019    34718    avalakh    22    

Разбираемся с параметрами редактирования СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Связь по типу, Параметры выбора, Связи параметров выбора

31.07.2019    23473    json    13    

Выгрузка документа по условию Промо

Практика программирования Разработка v8 Бесплатно (free)

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    16028    m-rv    2    

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    58663    ids79    11    

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ

Инструментарий разработчика Практика программирования v8 v8::СКД Бесплатно (free)

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    35546    ids79    27    

Регистры сведений. За кулисами

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Небольшие заметки по внутреннему устройству регистров сведений.

09.07.2019    25913    YPermitin    14    

Как прикрутить ГУИД к регистру сведений Промо

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 Бесплатно (free)

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

16.04.2019    20189    m-rv    17    

"Меньше копипаста!", или как Вася универсальную процедуру писал

Практика программирования Разработка v8 v8::СКД 1cv8.cf Бесплатно (free)

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    19585    SeiOkami    50    

Работа с настройками системы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Варианты отчетов, работа с настройками вариантов: структура группировок, поля отчета, отборы, сортировка, условное оформление, другие настройки, настройки отображения диаграмм.

02.07.2019    45824    ids79    17    

Создание отчетов с помощью СКД - основные понятия и элементы

Практика программирования Математика и алгоритмы v8 v8::СКД Бесплатно (free)

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    51977    ids79    25    

Как сделать запрос на изменение данных Промо

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    30525    m-rv    21    

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017

Практика программирования Производительность и оптимизация (HighLoad) v8 v8::Запросы Бесплатно (free)

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    24903    dmurk    145    

Регистры накопления. Структура хранения в базе данных

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Структура хранения регистров накопления в базе данных для платформы 1С:Предприятие 8.x. Первая часть в серии публикаций.

16.05.2019    42614    YPermitin    30    

О расширениях замолвите слово...

Практика программирования Разработка v8 Бесплатно (free)

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    35216    ellavs    126    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Вариант решения задач с проведением по типовым регистрам нетиповыми регистраторами. Зачем - чтобы при сравнении конфигурации не обращать внимание на свойства регистров и исключить вероятность допущения горькой оплошности при обновлении информационных баз, заменив типы регистраторов основной конфигурации типами конфигурации поставщика. Для программных продуктов, имеющих в своем составе метаданных документ "Корректировка регистров"("Корректировка записей регистров").

05.12.2017    28220    itriot11    34    

Git-репозитории для 1С-кода (опыт использования при небольших проектах)

Практика программирования v8 Бесплатно (free)

Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий")...

28.03.2019    27325    ellavs    89    

Трюки с внешними источниками данных

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    31222    YPermitin    53    

Ошибки при работе с хранилищем конфигурации и способы их решения

Практика программирования v8 Бесплатно (free)

В статье собраны наиболее распространенные ошибки при работе с хранилищем конфигурации и способы их обхода и решения.

01.03.2019    38831    Смешной 1С    28    

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    76255    Serginio    108    

Разработка и сценарное тестирование с Vanessa-ADD. Отчетность Allure. Автоматизация запуска сценариев

Практика программирования Vanessa Automation v8 Россия Бесплатно (free)

Формируем отчетность о результатах выполнения сценариев. Автоматизируем запуск.

26.02.2019    21843    Vladimir Litvinenko    27    

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)

Практика программирования БСП (Библиотека стандартных подсистем) Роли и права v8 v8::Права Бесплатно (free)

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    39148    ids79    9    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

Математика и алгоритмы Практика программирования v8 v8::blocking 1cv8.cf Бесплатно (free)

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    34594    ids79    40    

EnterpriseData – часть 2. Процесс выгрузки данных

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

Основные этапы выгрузки данных через ED, обработчики событий выгрузки, правила обработки данных, правила конвертации объектов, конвертация свойств первого и второго этапов, процедуры БСП, используемые при выгрузке данных, структура «КомпонентыОбмена».

26.12.2018    26715    ids79    31    

Новый подход к обмену данными EnterpriseData

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

Хочу предложить Вашему вниманию цикл статей, посвященных обмену данными через универсальный формат (EnterpriseData или ED).

14.12.2018    41249    ids79    72    

Тестер: частые вопросы Промо

Практика программирования v8 Бесплатно (free)

Ошибкам бой - тесты норма жизни!

25.07.2018    29192    grumagargler    28    

EnterpriseData - пример доработки правил конвертации без использования КД 3.0 в расширении конфигурации

Практика программирования Обмен через XML v8 v8::УФ БП3.0 УТ11 Россия Бесплатно (free)

В статье подробно описан реальный пример доработки обмена данными через EnterpriseData (универсальный формат обмена) между конфигурациями УТ 11.4 и Бухгалтерия 3.0

16.11.2018    36856    ids79    42    

Программное заполнение пользовательских параметров и отборов СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

13.11.2018    47085    Unk92    25    

Регистрация изменений для обмена(м). Регистрация записей регистров сведений в плане обмена

Универсальные обработки Обмен через XML v8 КА1 ЗУП2.5 УТ10 УПП1 БП1.6 Абонемент ($m)

Доработанная обработка позволяет зарегистрировать записи регистра сведений в плане обмена.

2 стартмани

13.09.2018    6966    16    SITR-utyos    0    

Ускоряем 1С: модули с повторным использованием возвращаемых значений Промо

Практика программирования v8 Бесплатно (free)

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

04.09.2017    52547    m-rv    61