Новости экономики и финансов. Курсы валют, ситуация на биржах, акции, котировки, аналитика: 💫 💫 💫 💫 💫 читайте на сайте

1C Ссылка на Строку Табличной Части Документа • Тип данных null

Свойство РежимРедактирования определяет режим редактирования ячейки табличного поля, если его не установить в РежимРедактированияКолонки.

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Допустим, что в табличную часть Товары документа ПоступлениеТоваровУслуг добавили реквизит Назначение , которое должно проставляться при выборе склада. Обработка табличных частей для 1с 8.3 Обращайтесь в форму связи

Связанные табличные части (управляемые формы)

Про «ОтборСтрок» я уже писал в недалеком прошлом поэтому не буду повторяться. Что это и для чего это используется можно изучить в статье Отборы (поиск) в табличной части либо таблице значений (управляемые формы)

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

Конфигурация состоит из двух справочников: «Контрагенты» и «Товары» и одного документа «Поступление товаров». Данный документ имеет 2 соответствующие табличные части и предназначен для получения товаров от разных клиентов в одном документе.

Мы хотим сделать так, чтобы клиенту было удобно и он выбирая клиента видел только те товары, которые приходят от него.

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

Для нашей левой табличной части «Контрагенты» нам надо добавить следующие обработчики событий:

Нам надо при активизации строки показывать только товары, принадлежащие выбранному контрагенту (События «При активизации строки» и «При окончании редактирования») и так же отработать ситуацию удаления контрагента — нам надо удалить все товары со второй табличной части.

Для правой табличной части «Товары» нам также надо обработать несколько событий:

Мы должны отклонить выбор номенклатуры если у нас нет или не выбран контрагент и автоматически заполнять значение ключа связи — в нашем случае это ссылка на контрагента. Сами процедуры:

Промокоды на Лайм Займ на скидки

Займы для физических лиц под низкий процент

  • 💲Сумма: от 2 000 до 70 000 рублей
  • 🕑Срок: от 7 до 168 дней
  • 👍Первый заём для новых клиентов — 0%, повторный — скидка -10 % по промокоду

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

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

Сделали его заполнение при открытии формы и обрабатываем его изменение в коде:

Для большей универсальности стал использовать реквизит формы «НаименованиеКлючаСвязи», который устанавливаю 1 раз и использую потом везде.

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

Для презентации того, как можно учесть и данный случай, я добавил в конфигурацию еще один документ «ПродажаТовара», в котором в качестве ключа связи испльзуется уникальный индекс — простое число, которое уникально для каждой строки слева и привязка идет непосредственно к нему:

Обработка заполнения табличной части в 1С 8.3

Для большей универсальности стал использовать реквизит формы НаименованиеКлючаСвязи , который устанавливаю 1 раз и использую потом везде.

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Левое соединение или left inner join галочка ВСЕ стоит слева в результат запроса попадают все записи которые находятся в левой таблице, и те записи из правой таблицы которые отвечают условию связи. Связанные табличные части (управляемые формы) Обращайтесь в форму связи

Регистрация внешней обработки в 1С 8.3 и её проверка

Теперь в режиме предприятия 1С зарегистрируем нашу внешнюю обработку для заполнения табличной части:

В открывшемся бланке новой внешней обработки загрузим из файла внешнюю обработку и впоследствии запишем новую обработку:

Горящие товары с бесплатной доставкой
 «AliExpress Россия» работает отдельно от глобального «AliExpress» принадлежащего Alibaba. Он не зависит от мировых банковских систем и не попал под санкционный список со стороны США и Великобритании. Из Китая соответственно тоже можно заказывать ничего не опасаясь.

Теперь в документе «Требование-накладная» мы можем наблюдать результат регистрации нашей обработки в информационной базе. А по нажатию кнопки «Заполнить документ» увидим работу нашей обработки по заполнению табличной части.

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

1c: база: запросы wiki-1c
Для презентации того, как можно учесть и данный случай, я добавил в конфигурацию еще один документ «ПродажаТовара», в котором в качестве ключа связи испльзуется уникальный индекс — простое число, которое уникально для каждой строки слева и привязка идет непосредственно к нему:

Обработка заполнения табличной части в 1С 8.3

  • ВызовСерверногоМетода — из модуля обработки вызывается серверная процедура.
  • ОткрытиеФормы — используется для открытия формы обработки.
  • ВызовКлиентского метода — для вызова клиентской процедуры из модуля обработки.
  • СценарийвБезопасномРежиме — серверная процедура в безопасном режиме.

Регистрация внешней обработки в 1С 8.3 и её проверка

Теперь в режиме предприятия 1С зарегистрируем нашу внешнюю обработку для заполнения табличной части:

В открывшемся бланке новой внешней обработки загрузим из файла внешнюю обработку и впоследствии запишем новую обработку:

Теперь в документе «Требование-накладная» мы можем наблюдать результат регистрации нашей обработки в информационной базе. А по нажатию кнопки «Заполнить документ» увидим работу нашей обработки по заполнению табличной части.

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

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

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
В окне Изменение таблицы товаров через кнопку Добавить из документа выберите сначала вид документа, затем сам документ, из которого будут добавлены новые номенклатурные позиции. Как получить данные из табличной части документов? Получить данные из табличной части документа 1с Обращайтесь в форму связи

Методы ПоместитьВоВременноеХранилище и ПолучитьИзВременногоХранилища¶

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

Для работы со временным хранилищем используются методы ПоместитьВоВременноеХранилище и ПолучитьИзВременногоХранилища.

С методом «Получить» все просто, он по заданному адресу возвращает значение, которое лежит в хранилище.

С хранилищем формы ситуация более интересная. Если вторым параметром метода «ПоместитьВоВременноеХранилище» передать идентификатор формы (ЭтаФорма.УникальныйИдентификатор), то данные в хранилище будут привязаны к сроку жизни формы и не будут удалятся ни в первых, ни во вторых, ни во всех прочих вызовах сервера.

Таким образом, временное хранилище, это еще одно место, в котором (помимо реквизитов формы) можно сохранять состояние на сервере. Причем, в хранилище можно хранить даже данные, которые на клиенте недоступны, а стало быть, в реквизитах формы их разместить нельзя.

Копирование и перенос строк табличной части документов
Команды — этот ключ структуры содержит перечень поставляемых нашей обработкой команд. Для команд мы создадим функцию ПолучитьТаблицуКоманд() и процедуру ДобавитьКоманду().

1С скопировать строку табличной части программно

Методы ПоместитьВоВременноеХранилище и ПолучитьИзВременногоХранилища¶

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

Для работы со временным хранилищем используются методы ПоместитьВоВременноеХранилище и ПолучитьИзВременногоХранилища.

С методом «Получить» все просто, он по заданному адресу возвращает значение, которое лежит в хранилище.

С хранилищем формы ситуация более интересная. Если вторым параметром метода «ПоместитьВоВременноеХранилище» передать идентификатор формы (ЭтаФорма.УникальныйИдентификатор), то данные в хранилище будут привязаны к сроку жизни формы и не будут удалятся ни в первых, ни во вторых, ни во всех прочих вызовах сервера.

Таким образом, временное хранилище, это еще одно место, в котором (помимо реквизитов формы) можно сохранять состояние на сервере. Причем, в хранилище можно хранить даже данные, которые на клиенте недоступны, а стало быть, в реквизитах формы их разместить нельзя.

💥Принимайте участие в опросе и получайте бесплатную консультацию

Related posts

Добавить комментарий

*