Как добавить колонку Номенклатура в списке документов Заявка покупателя?
Как добавить колонку Номенклатура в списке документов Заявка покупателя как это реализовано в списке документов Заказы на производство (номенклатура+характеристика+количество)?
При этом в реквизитах ЗаказПокупателя уже есть реквизит СписокНоменклатуры аналогичный ЗаказаНаПроизводство.
При этом в реквизитах ЗаказПокупателя уже есть реквизит СписокНоменклатуры аналогичный ЗаказаНаПроизводство.
Прикрепленные файлы:
По теме из базы знаний
- Резервирование по заявкам в ТиС
- Перенос данных из УПП 1.3 / КА 1.1 в БП 3. Переносятся документы, справочники и начальные остатки
- Список заказов поставщикам (новая форма) + два ноу-хау для разработчиков
- Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.
- Загрузка документов поступления из XML формата 820 (Контур.Диадок) в 1С:УТ10/11, БП 3.0, КА2.5, УПП1.3 и обработка выгрузки УПД в Контур Диадок и СБИС для 1С:Бухгалтерии 3.0
Найденные решения
(17) Нашел у себя на компе старенькую конфигурацию унф трехлетней давности))) Посмотрел. Там список номенклатуры заполняется только если вид операции = заказ наряд. Т.е. по-сути можно даже новый реквизит не создавать, а запихнуть все в имеющийся, если вы заказ-нарядами не пользуетесь.
Если ВидОперации = Перечисления.ВидыОперацийЗаказПокупателя.ЗаказНаряд Тогда
СписокРесурсов = "";
Для Каждого СтрокаРесурс Из РесурсыПредприятия Цикл
СписокРесурсов = СписокРесурсов + ?(СписокРесурсов = "","","; " + Символы.ПС) + СокрЛП(СтрокаРесурс.РесурсПредприятия);
КонецЦикла;
СписокНоменклатуры = "";
Для Каждого СтрокаНоменклатура Из Работы Цикл
ХарактеристикаПредставление = "";
Если Константы.ФункциональнаяОпцияИспользоватьХарактеристики.Получить()
И ЗначениеЗаполнено(СтрокаНоменклатура.Характеристика) Тогда
ХарактеристикаПредставление = " (" + СокрЛП(СтрокаНоменклатура.Характеристика) + ")";
КонецЕсли;
КоличествоНоменклатуры = СтрокаНоменклатура.Количество * СтрокаНоменклатура.Кратность * СтрокаНоменклатура.Коэффициент;
СписокНоменклатуры = СписокНоменклатуры + ?(СписокНоменклатуры = "","","; " + Символы.ПС) + СокрЛП(СтрокаНоменклатура.Номенклатура) + ХарактеристикаПредставление + ", " + КоличествоНоменклатуры + " " + СокрЛП(Справочники.КлассификаторЕдиницИзмерения.ч);
КонецЦикла;
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьВидыЗаказНарядов") Тогда
ЭтотОбъект.ВидЗаказа = Справочники.ВидыЗаказНарядов.Основной;
КонецЕсли;
Иначе
//////Сюда вставь заполнение списка из запасов
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьВидыЗаказовПокупателей") Тогда
ЭтотОбъект.ВидЗаказа = Справочники.ВидыЗаказовПокупателей.Основной;
КонецЕсли;
КонецЕсли;
Если ВидОперации = Перечисления.ВидыОперацийЗаказПокупателя.ЗаказНаряд Тогда
СписокРесурсов = "";
Для Каждого СтрокаРесурс Из РесурсыПредприятия Цикл
СписокРесурсов = СписокРесурсов + ?(СписокРесурсов = "","","; " + Символы.ПС) + СокрЛП(СтрокаРесурс.РесурсПредприятия);
КонецЦикла;
СписокНоменклатуры = "";
Для Каждого СтрокаНоменклатура Из Работы Цикл
ХарактеристикаПредставление = "";
Если Константы.ФункциональнаяОпцияИспользоватьХарактеристики.Получить()
И ЗначениеЗаполнено(СтрокаНоменклатура.Характеристика) Тогда
ХарактеристикаПредставление = " (" + СокрЛП(СтрокаНоменклатура.Характеристика) + ")";
КонецЕсли;
КоличествоНоменклатуры = СтрокаНоменклатура.Количество * СтрокаНоменклатура.Кратность * СтрокаНоменклатура.Коэффициент;
СписокНоменклатуры = СписокНоменклатуры + ?(СписокНоменклатуры = "","","; " + Символы.ПС) + СокрЛП(СтрокаНоменклатура.Номенклатура) + ХарактеристикаПредставление + ", " + КоличествоНоменклатуры + " " + СокрЛП(Справочники.КлассификаторЕдиницИзмерения.ч);
КонецЦикла;
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьВидыЗаказНарядов") Тогда
ЭтотОбъект.ВидЗаказа = Справочники.ВидыЗаказНарядов.Основной;
КонецЕсли;
Иначе
//////Сюда вставь заполнение списка из запасов
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьВидыЗаказовПокупателей") Тогда
ЭтотОбъект.ВидЗаказа = Справочники.ВидыЗаказовПокупателей.Основной;
КонецЕсли;
КонецЕсли;
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) дело в том, что менеджеры при оформлении заказа, в комментариях для каждого наименования оставляют заметки для быстрого поиска. Но помимо этого напротив каждого наименования есть еще комментарии, это уже важно для производства. Нужно чтобы в колонке Номенклатура выводилась информация из заказа
Прикрепленные файлы:
(15) На всякий случай дам совет: если надумали изменять конфигурацию - ко всем новым объектам подставляйте какой-нибудь префикс. Например, "прф_" или что-то в этом духе. Т.е. новый реквизит называете не "СписокТоваров", а "прф_СписокТоваров". В дальнейшем себе спасибо скажете. Ну либо другой программист, который будет обновлять конфигурацию скажет вам спасибо)))
(17) Я бы поставил точку останова (F9) на строчке "Изм_СписокНоменклатуры = Изм_СписокНоменклатуры + ..." и посмотрел, что там присваивается. Возможно до этой строчки вообще не доходит (например, выше есть какое-либо условие на вид заказа). Еще бы проверил тип новой переменной, убедился бы что он строковый.
(17) Нашел у себя на компе старенькую конфигурацию унф трехлетней давности))) Посмотрел. Там список номенклатуры заполняется только если вид операции = заказ наряд. Т.е. по-сути можно даже новый реквизит не создавать, а запихнуть все в имеющийся, если вы заказ-нарядами не пользуетесь.
Если ВидОперации = Перечисления.ВидыОперацийЗаказПокупателя.ЗаказНаряд Тогда
СписокРесурсов = "";
Для Каждого СтрокаРесурс Из РесурсыПредприятия Цикл
СписокРесурсов = СписокРесурсов + ?(СписокРесурсов = "","","; " + Символы.ПС) + СокрЛП(СтрокаРесурс.РесурсПредприятия);
КонецЦикла;
СписокНоменклатуры = "";
Для Каждого СтрокаНоменклатура Из Работы Цикл
ХарактеристикаПредставление = "";
Если Константы.ФункциональнаяОпцияИспользоватьХарактеристики.Получить()
И ЗначениеЗаполнено(СтрокаНоменклатура.Характеристика) Тогда
ХарактеристикаПредставление = " (" + СокрЛП(СтрокаНоменклатура.Характеристика) + ")";
КонецЕсли;
КоличествоНоменклатуры = СтрокаНоменклатура.Количество * СтрокаНоменклатура.Кратность * СтрокаНоменклатура.Коэффициент;
СписокНоменклатуры = СписокНоменклатуры + ?(СписокНоменклатуры = "","","; " + Символы.ПС) + СокрЛП(СтрокаНоменклатура.Номенклатура) + ХарактеристикаПредставление + ", " + КоличествоНоменклатуры + " " + СокрЛП(Справочники.КлассификаторЕдиницИзмерения.ч);
КонецЦикла;
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьВидыЗаказНарядов") Тогда
ЭтотОбъект.ВидЗаказа = Справочники.ВидыЗаказНарядов.Основной;
КонецЕсли;
Иначе
//////Сюда вставь заполнение списка из запасов
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьВидыЗаказовПокупателей") Тогда
ЭтотОбъект.ВидЗаказа = Справочники.ВидыЗаказовПокупателей.Основной;
КонецЕсли;
КонецЕсли;
Если ВидОперации = Перечисления.ВидыОперацийЗаказПокупателя.ЗаказНаряд Тогда
СписокРесурсов = "";
Для Каждого СтрокаРесурс Из РесурсыПредприятия Цикл
СписокРесурсов = СписокРесурсов + ?(СписокРесурсов = "","","; " + Символы.ПС) + СокрЛП(СтрокаРесурс.РесурсПредприятия);
КонецЦикла;
СписокНоменклатуры = "";
Для Каждого СтрокаНоменклатура Из Работы Цикл
ХарактеристикаПредставление = "";
Если Константы.ФункциональнаяОпцияИспользоватьХарактеристики.Получить()
И ЗначениеЗаполнено(СтрокаНоменклатура.Характеристика) Тогда
ХарактеристикаПредставление = " (" + СокрЛП(СтрокаНоменклатура.Характеристика) + ")";
КонецЕсли;
КоличествоНоменклатуры = СтрокаНоменклатура.Количество * СтрокаНоменклатура.Кратность * СтрокаНоменклатура.Коэффициент;
СписокНоменклатуры = СписокНоменклатуры + ?(СписокНоменклатуры = "","","; " + Символы.ПС) + СокрЛП(СтрокаНоменклатура.Номенклатура) + ХарактеристикаПредставление + ", " + КоличествоНоменклатуры + " " + СокрЛП(Справочники.КлассификаторЕдиницИзмерения.ч);
КонецЦикла;
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьВидыЗаказНарядов") Тогда
ЭтотОбъект.ВидЗаказа = Справочники.ВидыЗаказНарядов.Основной;
КонецЕсли;
Иначе
//////Сюда вставь заполнение списка из запасов
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьВидыЗаказовПокупателей") Тогда
ЭтотОбъект.ВидЗаказа = Справочники.ВидыЗаказовПокупателей.Основной;
КонецЕсли;
КонецЕсли;
У вас самое главное принципиальное отличие - в производстве (в заказе) тип номенклатуры - Строка, а в Заявке - динамический список.
Я подозреваю, что в заказе номенклатура просто добавляется в строку через разделитель и выводится одной строкой и потому доступна в колонке.
Если вы приведете в заявке список к такому же виду - то есть вся номенклатура в одной строке, то имеет смысл выводить ее в колонку.
Ибо в форме списка должна быть 1 строка по каждому документу и соответственно вся номеклатура в строчном формате...
Я подозреваю, что в заказе номенклатура просто добавляется в строку через разделитель и выводится одной строкой и потому доступна в колонке.
Если вы приведете в заявке список к такому же виду - то есть вся номенклатура в одной строке, то имеет смысл выводить ее в колонку.
Ибо в форме списка должна быть 1 строка по каждому документу и соответственно вся номеклатура в строчном формате...
(4)В реквизитах ЗаказаНаПроизводства и ЗаказПокупателя реквизит СписокНоменклатуры это Строка. В ЗаказеНаПроизводство СписокНоменклатуры находится в динамическом списке, а в ЗаказеПокупателя этого реквизита совсем нет, но он есть в Данных-Реквизиты документа ЗаказПокупателя
(7) Вы пониаете что у документа может быть табличная часть? И если номенклатура там, то КАК вы хотите ее вывести в одну строчку в колонке формы списка?
Я и говорю вам что сначала ее нужно привести к строковому реквизиту документа суммированием названий номенклатур из таблицы возможно, и потом благополучно выводить на форму...
Я и говорю вам что сначала ее нужно привести к строковому реквизиту документа суммированием названий номенклатур из таблицы возможно, и потом благополучно выводить на форму...
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот