|
|
|
ЭДО при поступлении товара не заполняется Характеристика | ☑ | ||
|---|---|---|---|---|
|
0
Sanchez_22
05.12.25
✎
10:52
|
Добрый день, БП 3.0, про создании Поступления товаров и услуг, как сделать так, чтобы Номенклатура создавалось вместе с Характеристикой и было наименование + размер (характеристика)
Насколько понимаю, в БУХ нету учета по характеристикам, как настроить автозаполнение?
|
|||
|
1
Sanchez_22
05.12.25
✎
10:45
|
сейчас заполняется вот так
|
|||
|
2
Sanchez_22
05.12.25
✎
10:55
|
т.е мне надо как-то настроить, что когда создается Номенклатура по поставщику, заполнялось Наименование с Характеристикой (т.е размер)
|
|||
|
3
Волшебник
05.12.25
✎
10:57
|
Объект.Наименование = Наименование + ?(Характеристика<>"", ", " + Характеристика, ""); |
|||
|
4
Sanchez_22
05.12.25
✎
11:12
|
(3) спасибо большое!
|
|||
|
5
Sanchez_22
05.12.25
✎
11:12
|
т.е только доработка решает данную задачу?
|
|||
|
6
Волшебник
05.12.25
✎
11:13
|
(5) Можно без доработок, если есть бузинная палочка.
|
|||
|
7
Sanchez_22
05.12.25
✎
11:14
|
(6) магией не владеем пока(
|
|||
|
8
Sanchez_22
10.12.25
✎
15:58
|
Добрый день еще раз!
Помогите новичку в программировании, как мне реализовать данную задачу. Требуется: При сопоставлении номенлкатуры поставщика, сделать так, чтобы по нажатию кнопки (ее я добавил), создавалась номенклатура, в Названии номенклатуры дополнительно проставлялась характеристика Направьте пжл в нужную сторону, как мне это реализовать Конфиуграция БП 3.0
|
|||
|
9
d4rkmesa
10.12.25
✎
16:33
|
(8) Допишите обработку заполнения или без нее укажите, что надо заполнить:
https://its.1c.ru/db/pubv8devui/content/131/hdoc зы: На дворе конец 2025, а у 1С в БЭД 1.9 все так же не сопоставляется нормально номенклатура. ) |
|||
|
10
Sanchez_22
10.12.25
✎
16:36
|
(9) а как мне получаить значение Характеристики тогда?
|
|||
|
11
d4rkmesa
10.12.25
✎
16:43
|
(10) У вас в этой форме откуда-то выводится Данные "ПАРТНЕР ТЕКСТИЛЬ ООО". Создавайте общее наименование (Номенклатура+Характеристика по данным контрагента) как в (3) .
|
|||
|
12
Sanchez_22
10.12.25
✎
16:48
|
(9) а тут как я понимаю типовая обработка заполнения данных? немного не понял, что она делает.
|
|||
|
13
Sanchez_22
11.12.25
✎
09:25
|
(9) прощу прощения за глупый вопрос, а раз у меня уже и так все данные получаются Номенклатура, Характеристика и т д, я могу код типовой обработки добавить в расширение и поменять там просто формирование Наименования как советовали выше?
|
|||
|
14
d4rkmesa
11.12.25
✎
09:46
|
(13) Можете, но конкретное место, где это находится, я не подскажу. А так, &ИзменениеИКонтроль в помощь.
|
|||
|
15
Sanchez_22
11.12.25
✎
10:07
|
(14) спасибо! а как будет определяться, какой именно код выполняется: типовой или мой?
Т.е у меня в типовом останется Наименование как есть, а в Расширении уже исправленное как надо. Что будет в таком случае? Верно ли понимаю, что код расширения замещает типовой код? |
|||
|
16
Sanchez_22
11.12.25
✎
11:41
|
(14) я нашел, но не могу сообразить то это или нет. Сделал ctrl +F НаименованиеНоменклатуры нашел следующие:
1. Функция НоваяТаблицаНоменклатурыКонтрагентовНаСохранение() Строка1000 = Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(1000)); ТаблицаНоменклатуры = Новый ТаблицаЗначений; ТаблицаНоменклатуры.Колонки.Добавить("Владелец", Метаданные.ОпределяемыеТипы.ВладелецНоменклатурыБЭД.Тип); ТаблицаНоменклатуры.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(300))); ТаблицаНоменклатуры.Колонки.Добавить("НаименованиеНоменклатуры", Строка1000); ТаблицаНоменклатуры.Колонки.Добавить("НаименованиеХарактеристики", Строка1000); ТаблицаНоменклатуры.Колонки.Добавить("НаименованиеУпаковки", Строка1000); Возврат ТаблицаНоменклатуры; КонецФункции 2.&НаСервере Процедура СохранитьСопоставленнуюНоменклатуруКонтрагентов(Отказ) ТаблицаНоменклатурыКонтрагентовНаСохранение = НоваяТаблицаНоменклатурыКонтрагентовНаСохранение(); ВариантУказанияНоменклатураКонтрагента = СопоставлениеНоменклатурыКонтрагентовКлиентСервер.ВариантУказанияНоменклатураКонтрагента(); ОтборЭлементовДляСохранения = Новый Структура; ОтборЭлементовДляСохранения.Вставить("Сопоставлено", Истина); ОтборЭлементовДляСохранения.Вставить("Сохранено" , Ложь); ОтборЭлементовДляСохранения.Вставить("ВариантУказанияНоменклатуры", ВариантУказанияНоменклатураКонтрагента); ЭлементыДляСохранения = Объект.Сопоставление.НайтиСтроки(ОтборЭлементовДляСохранения); ДополнительныеПараметры = СопоставлениеНоменклатурыКонтрагентов.НовыеДополнительныеПараметрыПриЗаписиНоменклатурыКонтрагентов(); ДополнительныеПараметры.ТребуетсяПоискСсылки = Ложь; ДополнительныеПараметры.ТребуетсяПоискЕдиницыИзмеренияПоОКЕИ = Ложь; ТекстОшибкиПользователю = ""; Для Каждого Элемент Из ЭлементыДляСохранения Цикл ТекстОшибки = ""; ЗаполнитьУпаковкуПоУмолчанию(Элемент); Если Не ЗначениеЗаполнено(Элемент.НоменклатураКонтрагента) Тогда НоваяСтрока = ТаблицаНоменклатурыКонтрагентовНаСохранение.Добавить(); НоваяСтрока.Владелец = Элемент.Владелец; НоваяСтрока.Идентификатор = Элемент.Идентификатор; НоваяСтрока.НаименованиеНоменклатуры = Элемент.Наименование; НоваяСтрока.НаименованиеХарактеристики = Элемент.НаименованиеХарактеристики; НоваяСтрока.НаименованиеУпаковки = Элемент.НаименованиеУпаковки; Иначе ЭлементНоменклатурыКонтрагента = НоменклатураКонтрагентаПоЗаписиСопоставления(Элемент); ЭлементНоменклатураИБ = НоменклатураИБПоЗаписиСопоставления(Элемент); СопоставлениеНоменклатурыКонтрагентов.СоздатьОбновитьНоменклатуруКонтрагента( ЭлементНоменклатурыКонтрагента, ЭлементНоменклатураИБ, Отказ, ТекстОшибки, ДополнительныеПараметры); Если Не ПустаяСтрока(ТекстОшибки) Тогда ТекстОшибкиПользователю = ?(ПустаяСтрока(ТекстОшибкиПользователю), "", ТекстОшибкиПользователю + Символы.ПС) + ТекстОшибки; КонецЕсли; КонецЕсли; КонецЦикла; Если Отказ Или Не ЗначениеЗаполнено(ТаблицаНоменклатурыКонтрагентовНаСохранение) Тогда Возврат; КонецЕсли; Выборка = ВыборкаСсылокНоменклатурыКонтрагентовПоТаблице(ТаблицаНоменклатурыКонтрагентовНаСохранение); Для Каждого Элемент Из ЭлементыДляСохранения Цикл Если ЗначениеЗаполнено(Элемент.НоменклатураКонтрагента) Тогда Продолжить; КонецЕсли; ЭлементНоменклатурыКонтрагента = НоменклатураКонтрагентаПоЗаписиСопоставления(Элемент); ЭлементНоменклатураИБ = НоменклатураИБПоЗаписиСопоставления(Элемент); ПараметрыПоиска = Новый Структура; ПараметрыПоиска.Вставить("Владелец" , Элемент.Владелец); ПараметрыПоиска.Вставить("Идентификатор", Элемент.Идентификатор); Если Выборка.НайтиСледующий(ПараметрыПоиска) Тогда ЭлементНоменклатурыКонтрагента.НоменклатураКонтрагента = Выборка.НоменклатураКонтрагента; КонецЕсли; Выборка.Сбросить(); ТекстОшибки = ""; СопоставлениеНоменклатурыКонтрагентов.СоздатьОбновитьНоменклатуруКонтрагента( ЭлементНоменклатурыКонтрагента, ЭлементНоменклатураИБ, Отказ, ТекстОшибки, ДополнительныеПараметры); Элемент.НоменклатураКонтрагента = ЭлементНоменклатурыКонтрагента.НоменклатураКонтрагента; Если Не ПустаяСтрока(ТекстОшибки) Тогда ТекстОшибкиПользователю = ?(ПустаяСтрока(ТекстОшибкиПользователю), "", ТекстОшибкиПользователю + Символы.ПС) + ТекстОшибки; КонецЕсли; КонецЦикла; КонецПроцедуры 3. &НаСервере Функция ВыборкаСсылокНоменклатурыКонтрагентовПоТаблице(ТаблицаНоменклатурыКонтрагентовНаСохранение) Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТаблицаНоменклатуры", ТаблицаНоменклатурыКонтрагентовНаСохранение); Запрос.Текст = "ВЫБРАТЬ | ТаблицаНоменклатуры.Владелец КАК Владелец, | ТаблицаНоменклатуры.Идентификатор КАК Идентификатор, | ТаблицаНоменклатуры.НаименованиеНоменклатуры КАК НаименованиеНоменклатуры, | ТаблицаНоменклатуры.НаименованиеХарактеристики КАК НаименованиеХарактеристики, | ТаблицаНоменклатуры.НаименованиеУпаковки КАК НаименованиеУпаковки |ПОМЕСТИТЬ ТаблицаНоменклатуры |ИЗ | &ТаблицаНоменклатуры КАК ТаблицаНоменклатуры |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | НоменклатураКонтрагентов.Ссылка КАК НоменклатураКонтрагента, | ТаблицаНоменклатуры.Владелец КАК Владелец, | ТаблицаНоменклатуры.Идентификатор КАК Идентификатор, | 1 КАК Приоритет |ИЗ | ТаблицаНоменклатуры КАК ТаблицаНоменклатуры | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.НоменклатураКонтрагентов КАК НоменклатураКонтрагентов | ПО ТаблицаНоменклатуры.Владелец = НоменклатураКонтрагентов.ВладелецНоменклатуры | И ТаблицаНоменклатуры.Идентификатор = НоменклатураКонтрагентов.Идентификатор |ГДЕ | НЕ НоменклатураКонтрагентов.ПометкаУдаления | И НЕ НоменклатураКонтрагентов.Недействителен | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | НоменклатураКонтрагентов.Ссылка КАК НоменклатураКонтрагента, | ТаблицаНоменклатуры.Владелец КАК Владелец, | ТаблицаНоменклатуры.Идентификатор КАК Идентификатор, | 2 |ИЗ | ТаблицаНоменклатуры КАК ТаблицаНоменклатуры | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.НоменклатураКонтрагентов КАК НоменклатураКонтрагентов | ПО ТаблицаНоменклатуры.НаименованиеНоменклатуры = НоменклатураКонтрагентов.НаименованиеНоменклатуры | И ТаблицаНоменклатуры.НаименованиеХарактеристики = НоменклатураКонтрагентов.НаименованиеХарактеристики | И ТаблицаНоменклатуры.НаименованиеУпаковки = НоменклатураКонтрагентов.НаименованиеУпаковки | И ТаблицаНоменклатуры.Владелец = НоменклатураКонтрагентов.ВладелецНоменклатуры |ГДЕ | НЕ НоменклатураКонтрагентов.ПометкаУдаления | И НЕ НоменклатураКонтрагентов.Недействителен |УПОРЯДОЧИТЬ ПО | Приоритет"; РезультатЗапроса = Запрос.Выполнить(); Возврат РезультатЗапроса.Выбрать(); КонецФункции так понимаю, мне необходимо менять НаименованиеНоменклатуры во 2 пункте? |
|||
|
17
Sanchez_22
11.12.25
✎
11:47
|
нашел процедуру Создания номенклатуры
&НаКлиенте Процедура СоздатьНоменклатуру(Команда) ВыделенныеЭлементыСопоставления = Новый Массив; Для Каждого Идентификатор Из Элементы.Сопоставление.ВыделенныеСтроки Цикл Запись = Объект.Сопоставление.НайтиПоИдентификатору(Идентификатор); ЭлементСопоставления = ЭлементСопоставленияПоЗаписи(Запись); ВыделенныеЭлементыСопоставления.Добавить(ЭлементСопоставления); КонецЦикла; ПоказатьВопросОСозданииНоменклатуры(ВыделенныеЭлементыСопоставления); |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |