Stepan Platonov

38
Рейтинг

PlatonStepan



  •   Регистрация: 08.07.2008 (14 лет назад)

  •   Был(а) на сайте: 19.05.2023

Подписчики 3

Рейтинг 38

Прерывание цикла с диалогом

Инструменты и обработки Программист Платформа 1С v8.3 Конфигурации 1cv8 Windows Абонемент ($m) Внешняя обработка (ert,epf) Работа с интерфейсом

Представляю Вам пример обработки, которая посредством windows-среды позволяет выходить из длительных циклических операций, наподобие метода ОбработкаПрерыванияПользователя(), но без прерывания выполнения кода.

1 стартмани

02.04.2013    7131    15    PlatonStepan    7       

11

Меню "Быстрый запуск" для пользователей (8.1, 8.2(обычное приложение))

Инструменты и обработки Для всех Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m) Внешняя обработка (ert,epf) Работа с интерфейсом Рабочее место

Обработка позволяет пользователям самим создавать меню вызовов и управлять ими в любой конфигурации 1С:Предприятия (надеюсь :)). Последнее обновление от 03.10.2010. (исправления)

1 стартмани

27.10.2010    9636    85    PlatonStepan    5       

27

Комментарии

DevАвтоматический запуск 1с на клиенте по расписанию#3 19.05.23 8:42
(2) а как в консоли сеанса запустится если пользователь вышел?
хотя автор не поясняет, где он там, что запускает, только догадываться остаётся.
DevНе сохраняется картинка при импорте#2 19.05.23 7:13
а записывать кто будет?
НФК.Записать(); - где?
DevКак получить номер документа при создании документа#8 17.05.23 11:42
Тут вопрос когда именно отправляются электронные письма, у вас это триггер на проведение? то есть в транзакции проведения.
Если так, то это не корректно, отправка должна отрабатываться уже после закрытия транзакции проведения.

здесь лучше создать план обмена или регистр сведений, в которых будут фиксироваться созданные документы, а какой нибудь регламент отрабатывать их отправку.
DevВыводить штрихкод в ТЧ документа#13 15.05.23 8:26
(12) Ну, по идее не должно. В запрос должен попасть список или массив, а не таблица значений.
DevПровести документы через язык запросов#4 15.05.23 2:55
(2) в куленарном, ага ))
DevВыводить штрихкод в ТЧ документа#10 15.05.23 2:48
(9)
Для отчёта сойдёт
Код
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| ШтрихкодыНоменклатуры.Номенклатура КАК Номенклатура,
| ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод
|ИЗ
| РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
|ГДЕ
| ШтрихкодыНоменклатуры.Номенклатура В(&МассивНом)";

Запрос.УстановитьПараметр("МассивНом", Объект.Товары.ВыгрузитьКолонку("Номенклатура"));
Выборка = Запрос.Выполнить().Выбрать();
СтруктураПоиска = Новый Структура("Номенклатура");

Пока Выборка.Следующий() Цикл
   СтруктураПоиска.Номенклатура = Выборка.Номенклатура;
   массивСтрокТЧ = Объект.Товары.НайтиСтроки(СтруктураПоиска);
   Для Каждого СтрокаТЧ Из массивСтрокТЧ Цикл
      СтрокаТЧ.Штрихкод = Выборка.Штрихкод;
   КонецЦикла;
КонецЦикла;
DevПрессуем Булево в Биты#22 11.05.23 7:58
Чем меньше обработчиков и кода - тем быстрее отработает программа.
Непонятно, с чем вы конкурируете и где гешефт. Может пример не тот...

Сколько можно "запрессовать" состояний в один реквизит?
В чтении/записи есть разница при разном количестве полей ничтожной длины?

Допустим, у вас несколько десятков миллионов записей.
Как индексируется ваш бинарный реквизит СУБД?
Что будет при выводе нескольких таких полей с пересечениями их значений?
для субд это будет:
select t.* from t where t.bin_a in(@a_list) and t.bin_b in(@b_list)

вместо
select t.* from t where t.state1 = @state1 and ... and t.stateN = @stateN

или
select t.* from t where (t.state1,..., t.stateN) IN (@state1,..., @stateN)

что быстрее подготовит 1С на клиенте, на сервере и отработается на субд или в файловой ИБ?

вопросов - море )
DevПотерял доступ к дерево объектов конфигуратору.#60 06.05.23 14:11
Играл в администратора и проиграл...
А разве нельзя обновить конфигурацию без открытия дерева объектов?
Команды Выгрузить/Загрузить конфигурацию работают?
Пакетный запуск конфигуратора с обновлением?
Какая версия 1С, тип. Как воспроизвести ситуацию?
Devошибка прорывается через попытку#2 05.05.23 8:37
Видимо ошибка происходит вне "попытки". Возможно при вызове: НаборЗаписей.Прочитать();
Если это всё в цикле переписывается, то у вас весь регистр блокируется, и на запись, и на чтение.
Какой контекст выполнения?
DevПисать в журнал все изменения независимого регистра сведений#9 04.05.23 10:57
Можно создать подписку на нужное событие, в подписке обработчик пусть пишет в отдельное, специально созданное событие журнала регистрации, с необходимой информацией об отборе набора записей.
Примерно так
Код
Измерение1 = Источник.Отбор[0].Значение;//Ключевое, если есть
массивОтбора = новый массив();
Для каждого ЭлементОтбора Из Источник.Отбор Цикл
   массивОтбора.Добавить(СтрШаблон("%1=%2;%3", ЭлементОтбора .ПутьКДанным, ЭлементОтбора.Значение, ТипЗначения(ЭлементОтбора.Значение)));
КонецЦикла;

Комментарий = СтрСоединить(массивОтбора);

ЗаписьЖурналаРегистрации("ИзмененияРС.МойРС", УровеньЖурналаРегистрации.Информация, МетаданныеРС, Измерение1, Комментарий);