Всем доброе время суток!
Есть документ "Списание товаров". У него на форе реквизит "Склад" с типом Справочники.Ссылка.Склады.
Вопрос следующий:
Как реализовать так, чтобы в этой строке можно было вбивать текст и он сохранялся ? Без заведения нового склада и без изменения типа этого реквизита(составной тип + строка ).
Есть документ "Списание товаров". У него на форе реквизит "Склад" с типом Справочники.Ссылка.Склады.
Вопрос следующий:
Как реализовать так, чтобы в этой строке можно было вбивать текст и он сохранялся ? Без заведения нового склада и без изменения типа этого реквизита(составной тип + строка ).
По теме из базы знаний
- Быстрый поиск дублей в 1С с четким/нечетким поиском по любому сочетанию реквизитов/реквизитов таб. частей с отбором и быстрой заменой значений в ЛЮБЫХ базах 8.1-8.3 (УТ 10.3, БП 2, ЗУП 2.5, КА 1.1, УТ 11, БП 3, УНФ 1.6/3.0, КА 2, ЗУП 3 и т.д.)
- Изучаем 1С Предприятие 8.3 на примере построения простой конфигурации (или как "айтишник" 1С осваивал). Часть 1.
- Вывод Таблицы Значений или Дерева Значений на экран управляемой формы без объявления колонок в реквизитах формы
- Создание настраиваемых документов средствами 1С
- 1С:БСП Дополнительные реквизиты и сведения
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) То есть выход один завести составной тип ? А если этот реквизит много где используется, то могут быть ошибки, правильно я понимаю ?
Плюс ко всему если добавлять составной тип "Строка", то в документе при выборе типа всё равно открывается справочник "Склады",так как есть код в "Начало выбора".
Плюс ко всему если добавлять составной тип "Строка", то в документе при выборе типа всё равно открывается справочник "Склады",так как есть код в "Начало выбора".
(1)
Судя по всему вы не поняли всю глубину мысли пользователей, зачем им в документе списание товаров надо выбирать много складов. Раз это списание то логично предположить, что на склад с которого списывают уже должен был быть оприходован товар, значит склад уже должен был быть зарегистрирован в системе. Раз такого не происходит значит ситуация следующая.
Клиент по сути хочет регистрировать по какому подразделению (они их считают складами) идет списание, чтобы потом выкатить итоговую портянку за месяц, что вот такие то столько товаров списали.
Поэтому стоит сделать следующее, добавить реквизит типа строка в который они будут писать имя склада, спрятать реквизит склада, прописать автовыбор склада по умолчанию, куда они по факту приходуют товары.
Опять же, я бы начал с вопроса, а куда вы приходуете товар, если вы хотите списать товар со складов которых нет в базе.
Судя по всему вы не поняли всю глубину мысли пользователей, зачем им в документе списание товаров надо выбирать много складов. Раз это списание то логично предположить, что на склад с которого списывают уже должен был быть оприходован товар, значит склад уже должен был быть зарегистрирован в системе. Раз такого не происходит значит ситуация следующая.
Клиент по сути хочет регистрировать по какому подразделению (они их считают складами) идет списание, чтобы потом выкатить итоговую портянку за месяц, что вот такие то столько товаров списали.
Поэтому стоит сделать следующее, добавить реквизит типа строка в который они будут писать имя склада, спрятать реквизит склада, прописать автовыбор склада по умолчанию, куда они по факту приходуют товары.
Опять же, я бы начал с вопроса, а куда вы приходуете товар, если вы хотите списать товар со складов которых нет в базе.
Делаете два реквизита. Один будет с типом строка, где будет заводить текст, и будет являться представлением склада. Второй будет с типом склады, и на форм его не будет видно. При открытии списка первого реквизита, открываете справочники и выбранное значение записываете во второй реквизит, а строку представление в первый. Возможно что то не совсем корректно написал, по посыл должен быть потянет)
Смотря что хочет пользователь, если ему в дальнейшем нужна будет отчетность по всем этим строковым складам все равно придется разные склады заводить. Ну или заведите один склад - "Прочие склады", добавьте дополнительный строковый реквизит на форму. И этот строковый реквизит пишите дополнительно в регистры. И доставайте в отчетах. Получится связка типа "Прочие склады-ссылка" + "Склад1 - строка".
Возможно, стоило начать с вопроса, о какой конфигурации идет речь? А то тут напридумывали дальнейшее использование указанного склада в проводках документа и в отчетности, не зная, о какой программе идет речь, какое значение для дальнейшего учета имеет указанный склад, включено ли для документа проведение как таковое и тд., и т.п.
Возможно, речь вообще о какой-то уникальной нетленке, где учет по нескольким складам не предусмотрен, а реквизит "Склад" нужен только для корректного указания структурного подразделения в печатной форме (Торг-16).
Авто темы пишет:
Пользователь, который желает указывать в шапке документа разные склады, тоже ведь руководствуется какой-то логикой. Вместо "воспитательных бесед" лучше сели бы один раз с тем человеком, которому нужны результаты учета, и проговорили, какие нюансы хоз. операций регистрировать в системе, а какие там нафиг не нужны. Набросали бы мини-инструкцию оформления "Списаний", повесили на стеночку возле рабочего места пользователя... и ему (юзеру) подсказка, и конторе польза.
Бывает еще, какая-то типовая конфигурация используется только для печати первички. Реальных складов в конторе - несколько десятков, задача вести учет в разрезе складов не стоит. Забили документ, распечатали - и забыли. Реальный бух. учет ведется совсем в другой программе другими людьми. Склады там не фигурируют. Так поменять тип реквизита, доработать немножко печатные формы и не морочить людям головы!
Возможно, речь вообще о какой-то уникальной нетленке, где учет по нескольким складам не предусмотрен, а реквизит "Склад" нужен только для корректного указания структурного подразделения в печатной форме (Торг-16).
Авто темы пишет:
А если этот реквизит много где используется
Т.е. он не знает, какое значение имеет для проводок документа указанный склад, предусмотрен ли в организации учетной политикой учет МПЗ в разрезе складов...
Пользователь, который желает указывать в шапке документа разные склады, тоже ведь руководствуется какой-то логикой. Вместо "воспитательных бесед" лучше сели бы один раз с тем человеком, которому нужны результаты учета, и проговорили, какие нюансы хоз. операций регистрировать в системе, а какие там нафиг не нужны. Набросали бы мини-инструкцию оформления "Списаний", повесили на стеночку возле рабочего места пользователя... и ему (юзеру) подсказка, и конторе польза.
Бывает еще, какая-то типовая конфигурация используется только для печати первички. Реальных складов в конторе - несколько десятков, задача вести учет в разрезе складов не стоит. Забили документ, распечатали - и забыли. Реальный бух. учет ведется совсем в другой программе другими людьми. Склады там не фигурируют. Так поменять тип реквизита, доработать немножко печатные формы и не морочить людям головы!
Это же классическая ситуация из внедрения 1С, особенно если пользователи привыкли вести учет в экселе, который всё стерпит.
По теме, возможно, пользователь хочет сделать списание с разных складов одним документом, поэтому не хочет писать в шапке какой-то конкретный. Но для этого тогда должен быть реквизит табличной части Склад. Автор, не идите на поводу у пользователя, который вам сразу предлагает конечное решение. Такое происходит очень часто, когда пользователь просит сделать какую-то дичь, а при детальной проверке проблемы выясняется, что нужно совсем другое или не нужно вовсе.
По теме, возможно, пользователь хочет сделать списание с разных складов одним документом, поэтому не хочет писать в шапке какой-то конкретный. Но для этого тогда должен быть реквизит табличной части Склад. Автор, не идите на поводу у пользователя, который вам сразу предлагает конечное решение. Такое происходит очень часто, когда пользователь просит сделать какую-то дичь, а при детальной проверке проблемы выясняется, что нужно совсем другое или не нужно вовсе.
(21) По сути внедрение это процесс принуждения пользователя (заказчика) к культуре эксплуатации программы. Не хочет приобщатся к культуре - свободен как ветер! Что ж вы функционал внедренца то к принеси - подай сводите?
Идешь к заказчику захвати с собой плеть... (так говорил заратустра)
Идешь к заказчику захвати с собой плеть... (так говорил заратустра)
По описанию автора очень похоже, что пользователю требуется строковое значение для вывода на печать склада, если так то можно завести доп реквизит или просто реквизит, в котором будет возможность прописывать текстом любой склад, в поле же склада выбирать, например, "Прочие склады". Останется доработать печатную форму, чтобы выводилось значение допреквизита, если оно заполнено.
Вообще, как и писалось выше, лучше детально разобрать ситуацию, для чего все же необходим такой изврат) Понятно, что пользователь не хочет плодить склады, но не понятно, почему они у него в принципе плодятся? Если учет ведется, например, по матответственным и необходимо контролировать остатки по ним, то добавление строкового типа или допреквизита ни к чему хорошему не приведет, в плане учета.
Вообще, как и писалось выше, лучше детально разобрать ситуацию, для чего все же необходим такой изврат) Понятно, что пользователь не хочет плодить склады, но не понятно, почему они у него в принципе плодятся? Если учет ведется, например, по матответственным и необходимо контролировать остатки по ним, то добавление строкового типа или допреквизита ни к чему хорошему не приведет, в плане учета.
Предлагаю сделать так :
1 Добавить новый реквизит СкладСтрока
2. На форме добавить новый реквизит СкладДляФормы( тип составной : СправочникиСсылка.Склады, Строка) и поместить на форму вместо стандартного реквизита Склад
3. в процедуре ПриСозданииНаСервере() :
4. в процедуре ПередЗаписьюНаСервере() :
1 Добавить новый реквизит СкладСтрока
2. На форме добавить новый реквизит СкладДляФормы( тип составной : СправочникиСсылка.Склады, Строка) и поместить на форму вместо стандартного реквизита Склад
3. в процедуре ПриСозданииНаСервере() :
СкладДляФормы = ?(ЗначениеЗаполнено(Объект.Склад),Объект.Склад,Объект.СкладСтрока)
4. в процедуре ПередЗаписьюНаСервере() :
Если ТипЗнч(СкладДляФормы) = Тип("Строка") Тогда Объект.СкладСтрока = СкладДляФормы Иначе Объект.Склад = СкладДляФормы; КонецЕсли;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот