Как сделать в одной процедуре массив и передать его значения в другой процедуре ?
Доброе утро всем!
Подскажите мне пожалуйста, делаю расширение для формы документа.
При открытии документа хочу его тч выгрузить в массив или тз, незнаю что лучше, но как забрать потом данные из этого массива?
Кто так делал, подскажите пожалуйста, голову сломала.
Может в хранилище выгрузить, или в переменную, но как данные забрать в другой процедуре не пойму.
Прошу помощи.
Подскажите мне пожалуйста, делаю расширение для формы документа.
При открытии документа хочу его тч выгрузить в массив или тз, незнаю что лучше, но как забрать потом данные из этого массива?
Кто так делал, подскажите пожалуйста, голову сломала.
Может в хранилище выгрузить, или в переменную, но как данные забрать в другой процедуре не пойму.
Прошу помощи.
По теме из базы знаний
- Методология i3 как основа новой экономики. Индустрия 5.0
- Как сдать экзамен 1С:Специалист по платформе?
- Что такое ОСень? Или как лучшие практики из мира Java прижились в экосистеме OneScript
- Что нам стоит обмен настроить, или Как кролик спас «зоопарк»
- "Чистый код в 1С" или как прокачать свой код? Пошаговая инструкция, часть №1
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(13)
Как-то так, писал по памяти, могут быть ошибки.
МассивСтруктур = новый массив;
Для каждого СтрокаТЧ из ТЧ Цикл
СтруктураСтрокиТЧ = новый структура;
СтруктураСтрокиТЧ.Вставить ("Номенклатура",СтрокаТЧ.Номенклатура ) ;
СтруктураСтрокиТЧ.Вставить ("Количество",СтрокаТЧ.Количество) ;
КонецЦикла;
МассивСтруктур.Добавить(СтруктураСтрокиТЧ );
Как-то так, писал по памяти, могут быть ошибки.
(4)хочу выгрузить тч, в одной процедуре и куда незнаю, хранилище, в переменную или ещё куда-то, а в другой процедуре нужна проверка на заполняемость.
Есть обработка, сторонняя которая перезаполнят тч, и записывает док, проводит его, сразу, по этому необходимо выгрузить тч в момент открытия документа, пусть пользователь запустит обработку, а я потом при закрытии документа проверю его на изменения.
И незнаю чем лучше это сделать, что в расширении работает быстрее?
Может есть у кого решение?
Есть обработка, сторонняя которая перезаполнят тч, и записывает док, проводит его, сразу, по этому необходимо выгрузить тч в момент открытия документа, пусть пользователь запустит обработку, а я потом при закрытии документа проверю его на изменения.
И незнаю чем лучше это сделать, что в расширении работает быстрее?
Может есть у кого решение?
(8)Сделать общую переменную, модуля формы, доступную на сервере, и выгрузить в нее ТЧ в "ПриСозданииНаСервере()"?
Перем КопияТЧ;
Процедура ПриСозданииНаСервере()
КопияТЧ = Объект.ИмяТЧ.Выгрузить();
КонецПроцедуры;
Процедура ПроверитьИзмененияТЧ()
Для Каждого Стр ИЗ КопияТЧ Цикл
...........
КонецЦикла;
КонецПроцедуры
Показать
(8) 2 варианта.
1. создать реквизит формы типа ТЗ с нужными колонками соответствующими ТЧ. Далее делаем выгрузку из ТЧ.
ТЗ.Загрузить(Объект.ИмяТЧ.Выгрузить());
2. использовать временное хранилище. Создать реквизит формы тип Строка, где хранить Адрес хранилища.
Ну и по аналогии, Адрес = ПоместитьВоВременноеХранилище(Объект.ИмяТЧ.Выгрузить(), УникальныйИдентификатор);
Потом при необходимости получать из временного хранилища ТЗ.
1. создать реквизит формы типа ТЗ с нужными колонками соответствующими ТЧ. Далее делаем выгрузку из ТЧ.
ТЗ.Загрузить(Объект.ИмяТЧ.Выгрузить());
2. использовать временное хранилище. Создать реквизит формы тип Строка, где хранить Адрес хранилища.
Ну и по аналогии, Адрес = ПоместитьВоВременноеХранилище(Объект.ИмяТЧ.Выгрузить(), УникальныйИдентификатор);
Потом при необходимости получать из временного хранилища ТЗ.
(15)
Мне вот тоже 1 вариант нравится, вполне простой.
Еще как вариант, можно создать еще одну таблицу, аналогичную оригинальной. Запускать свою процедуру заполнения (копирования) оригинальной таблицы в новую таблицу в процедуре ПриСозданииНаСервере, записываем. После того, как ваша обработка что-то поменяла, в момент записи можно сравнить эти 2 таблицы
Мне вот тоже 1 вариант нравится, вполне простой.
Еще как вариант, можно создать еще одну таблицу, аналогичную оригинальной. Запускать свою процедуру заполнения (копирования) оригинальной таблицы в новую таблицу в процедуре ПриСозданииНаСервере, записываем. После того, как ваша обработка что-то поменяла, в момент записи можно сравнить эти 2 таблицы
(8)
Т.е. подразумевается, что документ уже сохранен в БД? В событии ОбработкаПроверкиЗаполнения делайте запрос к БД, к ТЧ документа , передавайте в запрос ТЗ (новую выгруженную ТЧ из еще не записанного документа), помещайте её во временную таблицу. Сравнивайте в запросе обе ТЧ, по результатам сравнения делайте что нужно.
по этому необходимо выгрузить тч в момент открытия документа
Т.е. подразумевается, что документ уже сохранен в БД? В событии ОбработкаПроверкиЗаполнения делайте запрос к БД, к ТЧ документа , передавайте в запрос ТЗ (новую выгруженную ТЧ из еще не записанного документа), помещайте её во временную таблицу. Сравнивайте в запросе обе ТЧ, по результатам сравнения делайте что нужно.
Вы можете на форме создать таблицу значений с теми же Колонками.
При открытии сразу помещаете туда всю ТЧ:
Эта табличная часть будет доступна всё время, пока не закрыта форма документа.
Расширение вроде бы позволяет добавлять реквизиты формы.
При открытии сразу помещаете туда всю ТЧ:
НоваяТЧ.Загрузить(ТЧДокумента.Выгрузить())
Эта табличная часть будет доступна всё время, пока не закрыта форма документа.
Расширение вроде бы позволяет добавлять реквизиты формы.
попробуйте использовать:
ДополнительныеСвойства (AdditionalProperties)
Доступен, начиная с версии 8.1.
Использование:
Только чтение.
Описание:
Тип: Структура.
Может использоваться в тех случаях, когда необходимо хранить некоторые значения, связанные с объектом, на время выполнения некоторых операций, без изменения объекта. Например, при обработке событий в подписке на события.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.1.
ДополнительныеСвойства (AdditionalProperties)
Доступен, начиная с версии 8.1.
Использование:
Только чтение.
Описание:
Тип: Структура.
Может использоваться в тех случаях, когда необходимо хранить некоторые значения, связанные с объектом, на время выполнения некоторых операций, без изменения объекта. Например, при обработке событий в подписке на события.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.1.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот