Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
03 апр 2025, 04:31

Обновление тч после загрузки новых данных

Автор sali, 24 фев 2025, 09:27

0 Пользователей и 1 гость просматривают эту тему.

antoneus

Ну потому что один раз, видимо, этот код выполняется, после всех циклов.

sali

antoneus, таки нет в цикле &НаСервере
Процедура ЗагрузитьДанныеНаСервере( )

Для Каждого СтрокаДанных Из Объект.ДанныеФайла Цикл   

Наименование = СтрокаДанных.Номенклатурафайла;
Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(Наименование, Истина);

Если Не ЗначениеЗаполнено(Номенклатура) Тогда
Номенклатура = Справочники.Номенклатура.СоздатьЭлемент();
Иначе
Номенклатура = Номенклатура.ПолучитьОбъект();
КонецЕсли;       

Номенклатура.Код     = СтрокаДанных.КодТовара;
Номенклатура.Артикул    = СтрокаДанных.Артикул;
Номенклатура.Наименование    = Наименование;
Номенклатура.Родитель    = Справочники.Номенклатура.НайтиПоНаименованию("Товары");

ШтрихкодНоменклатуры = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьНаборЗаписей();
ШтрихкодТовара = ШтрихкодНоменклатуры.Добавить();
ШтрихкодТовара.Номенклатура = справочники.Номенклатура.НайтиПоНаименованию(Наименование, истина)лка; 
ШтрихкодТовара.Штрихкод = строкаданных.штрихкод;
ШтрихкодНоменклатуры.Записать();   

//Номенклатура.Штрихкод    = СтрокаДанных.Штрихкод;
Номенклатура.КодТНВЭД    = СтрокаДанных.ТНВЭД;
Номенклатура.ЕдиницаИзмерения  = СтрокаДанных.ЕдиницаИзмерения;   
Номенклатура.Записать(); 
СтрокаДанных.номенклатура1с    = Номенклатура.Ссылка;

КонецЦикла;

Сообщить("Данные сохранены успешно!");   

КонецПроцедуры

antoneus

Номенклатура.КодТНВЭД            = СтрокаДанных.ТНВЭД;
Номенклатура.ЕдиницаИзмерения  = СтрокаДанных.ЕдиницаИзмерения;   
Номенклатура.Записать(); 

ШтрихкодНоменклатуры = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьНаборЗаписей();
ШтрихкодТовара = ШтрихкодНоменклатуры.Добавить();
ШтрихкодТовара.Номенклатура = Номенклатура.Ссылка; 
ШтрихкодТовара.Штрихкод = строкаданных.штрихкод;
ШтрихкодНоменклатуры.Записать();   

sali


sali


antoneus

Блин, потому что набор записей при таком коде затирает все данные, какие в регистре есть. И я такой смотрю на все это.

Номенклатура.КодТНВЭД            = СтрокаДанных.ТНВЭД;
Номенклатура.ЕдиницаИзмерения  = СтрокаДанных.ЕдиницаИзмерения;   
Номенклатура.Записать(); 

МенеджерЗаписи = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Номенклатура = Номенклатура.Ссылка; 
МенеджерЗаписи.Штрихкод = строкаданных.штрихкод;
МенеджерЗаписи.Записать();   

sali

antoneus, ааа да
а вот скажите при создании документа подставить счет учета так же верно ?
счетучета = БухгалтерскийУчетПовтИсп.ПолучитьСчетаУчетаНоменклатуры(справочники.Организации.ОрганизацияПоУмолчанию(), строка.Номенклатура);
строка.СчетУчета = счетучета;


sali

antoneus, &НаСервере
Функция СоздатьДокументНаСервере() 

НовыйДокумент = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
НовыйДокумент.Дата = ТекущаяДата(); 

Для Каждого СтрокаДанных Из Объект.ДанныеФайла Цикл 

Строка = НовыйДокумент.Товары.Добавить();     
Наименование = СтрокаДанных.НоменклатураФайла;
Строка.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(Наименование, Истина);
Строка.Штрихкод = СтрокаДанных.Штрихкод;
// Строка.Номенклатура.ЕдиницаИзмерения = СтрокаДанных.ЕдиницаИзмерения;
Строка.Количество  = СтрокаДанных.Количество;
Строка.Всего = СтрокаДанных.Сумма;
Строка.Сумма  = СтрокаДанных.Сумма;
Строка.Цена = СтрокаДанных.Цена;         

счетучета = БухгалтерскийУчетПовтИсп.ПолучитьСчетаУчетаНоменклатуры(справочники.Организации.ОрганизацияПоУмолчанию(), строка.Номенклатура);
строка.СчетУчета = счетучета;

КонецЦикла; 

НовыйДокумент.Записать(РежимЗаписиДокумента.Запись);

Возврат НовыйДокумент.Ссылка;

КонецФункции


antoneus

Зачем опять по наименованию искать, мы же заполнили всё?

Строка.Номенклатура = СтрокаДанных.Номенклатура1С
а так вроде да.

sali

antoneus, antoneus, ой,,, я за это и забыл проблемы та с этим не было ..

спасибо, за тык
а со счетом разобрался, добавил простоЗаполнитьЗначенияСвойств(строка, СчетУчетаНоменклатуры)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск