|
Добавление номенклатуры в табличную часть |
☑ |
0
Ikera
21.05.16
✎
16:58
|
Добрый день. Столкнулся с такой проблемой. В документе Поступление товаров имеется столбец Номенклатура, требуется программно заполнить его. Как мне по наименованию(или артикулу) выбрать запись в справочнике и добавить ее в эту таблицу? 1С:БП 8.3
Спасибо! :)
|
|
1
zak555
21.05.16
✎
17:09
|
Откуда получаешь наименование или артикул?
|
|
2
Chameleon1980
21.05.16
✎
17:22
|
Запрос
|
|
3
Ikera
21.05.16
✎
17:36
|
(2) данные получаю из таблицы эксель, все читается нормально ( например АртикулТекст = Excel.Cells(К,2).Text;)
(3) Можно по подробнее, пожалуйста, ну или куда мне следует гуглить
Серьезным программированием в 1С еще не занимался, но для начальства я "тыжпрограммист"
|
|
4
Ikera
21.05.16
✎
17:38
|
*опечатался
(1) данные получаю из таблицы эксель, все читается нормально ( например АртикулТекст = Excel.Cells(К,2).Text;)
(2) Можно по подробнее, пожалуйста, ну или куда мне следует гуглить
|
|
5
Masquerade
21.05.16
✎
17:51
|
Дело серьезное.
НужноеНаименование = //Какое то твоё наименование.
Номенклатура = Справчоники.Номенклатура.НайтиПоНаименованию(НужноеНаименование);
Если Номенклатура.Пустая() тогда
Возврат;
КонецЕсли;
ДокПоступление = ВернутьНужныйДокПоступления();
ДокПоступлениеОб = ДокПоступление.ПолучитьОбъект();
НовСтрокаВТЧ = ДокПоступлениеОб.Товары.Добавить();
НовСтрокаВТЧ.Номенклатура = Номенклатура;
|
|
6
Chameleon1980
21.05.16
✎
17:53
|
&НаСервереБезКонтекста
Функция НайтиНоменклатуруПоАртикулу(СтрокаАртикул)
Запрос=Новый Запрос;
ТекстЗапроса="ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Артикул = &ВыбАртикул";
Запрос.Текст=ТекстЗапроса;
Запрос.УстановитьПараметр("ВыбАртикул", СтрокаАртикул);
Результат=Запрос.Выполнить();
Если Результат.Пустой() Тогда
НоменклатураСсылка=Неопределено;
Иначе
Выборка=Результат.Выбрать();
Если Выборка.Следующий() Тогда
НоменклатураСсылка=Выборка.Ссылка;
Иначе
НоменклатураСсылка=Неопределено;
КонецЕсли;
КонецЕсли;
Возврат НоменклатураСсылка;
КонецФункции
&НаСервере
Процедура ЗагружаемНаСервере();
...
...
АртикулТекст = Excel.Cells(К,2).Text;
НоваяСтрока=Объект.Товары.Добавить();
НоваяСтрока.Номенклатура = НайтиНоменклатуруПоАртикулу(АртикулТекст);
...
...
КонецПроцедуры
|
|
7
Ikera
21.05.16
✎
19:07
|
(6) большое спасибо, использовал ваш метод
|
|
8
zak555
21.05.16
✎
19:17
|
(7) не забываем, что под одним артикулом может быть более одного элемента
|
|
9
Chameleon1980
21.05.16
✎
19:31
|
это точно
ну какой вопрос был - такой ответ
|
|