Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Заполнение на основании документа и справочника
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
scoodizzy619
1С Управление небольшой фирмой для Украины, редакция 1.4

Нужна помощь.
Заполняю документ СчетНаОплату на основании документа Котировка. Все возможные реквизиты добавил.
В документе СчетНаОплату есть реквизиты которых нету в документе Котировка, таких как: ЕдиницаИзмерения, СтавкаНДС.

Данные реквизиты нужно подтянуть с справочника Номенклатура

Уточнение: в справочнике Номенклатура есть реквизиты Наименование, ЕдиницаИзмерения и СтавкаНДС. Наименование используется в документе Котировка и СчетНаОплату, а остальные только в СчетНаОплату

Нужно чтобы при создании на основании документа Котировка реквизиты в документе СчетНаОплату заполнялись и + к этому подтягивались реквизиты по справочнику Номенклатура соответственно.
Profi_1C77
scoodizzy619 @ Вчера, 16:30 необходимо зарегистрироваться для просмотра ссылки ,
Не знаком с этой конфигурацией, но знаком с механизмом заполнения.
В модуле Объекта Документа СчетНаОплату , можно дописать свой обработчик табличной части , по такой логике :

Для Каждого Стр Из  ТаблицаТоваров ( Название Таблицы с Номенклатурой) Цикл 

Номенклатура - тут ее надо определить: либо это ссылка либо найти ссылку по Наименованию
...
Стр.ЕдиницаИзмерения = Номенклатура.ЕдиницаИзмерения;
Стр.СтавкаНДС             =  Номенклатура.СтавкаНДС;

КонецЦикла
scoodizzy619
Profi_1C77 @ Сегодня, 9:58 необходимо зарегистрироваться для просмотра ссылки ,

Можна вас попросить более детально и просто объяснить что и куда я должен прописать, так как я только учусь этому)

Вот у меня есть Процедура ОбработкаЗаполнения табличной части документа СчетНаОплату на основании документа Котировка (на скриншоте)



И я немного не могу понять как мне интегрировать обработчик который вы указали в мой код)

Profi_1C77
scoodizzy619 @ Сегодня, 11:58 необходимо зарегистрироваться для просмотра ссылки ,
НоваяСтрока.ЕдиницаИзмерения = НоваяСтрока.Номеклатура.ЕдиницаИзмерения;
НоваяСтрока.СтавкаНДС= НоваяСтрока.Номеклатура.СтакаНДС;

по логике так
scoodizzy619
Profi_1C77 @ Сегодня, 14:09 необходимо зарегистрироваться для просмотра ссылки ,

Раньше пробовал так сделать, вводил эти строки в цикл но не выходит. Сейчас покажу результат этого.

Вот ввел его в цикл


Выдает в результате такую ошибку


Проверял по точке останова, но там показывает реквизиты по документу СчетНаОплату.



Если проверить точку останова после Номенклатура то там вообще ничего не показывает

Уточнение: реквизит Номенклатура который отображается после точки останова принадлежит документу СчетНаОплату
Profi_1C77
scoodizzy619 @ Сегодня, 15:20 необходимо зарегистрироваться для просмотра ссылки ,
Пришлите структуру ДынныеЗаполнения и Отдельно ДанныеЗаполнения.Доходы;
Нету такой конфы, не начем смотреть структуры;
scoodizzy619
Profi_1C77 @ Сегодня, 15:33 необходимо зарегистрироваться для просмотра ссылки ,
ДанныеЗаполнения это у нас документ Котировка
Вот его структура



Если что-то не то показываю то говорите. Найдем, покажем)
Profi_1C77
scoodizzy619 @ Сегодня, 15:41 необходимо зарегистрироваться для просмотра ссылки ,
Я правильно понимаю, что ошибка появилась как добавили те 2 строки? Если так
Тогда : 1 . Тип у Реквизита Услуга, 2 . Если у этого справочника Реквизиты ЕдинцаИзмерения и СтавкаНДС?
3 Сделайте точку останова перед новыми строками и посмотрите что возвращает Номеклатура;
scoodizzy619
Profi_1C77 @ Сегодня, 16:23 необходимо зарегистрироваться для просмотра ссылки ,

Все верно, ошибка появляется при введение тех двух строк.

1. У реквизита Услуга документа Котировка указан тип СправочникСсылка.Номенклатура поскольку из справочника Номенклатура подтягиваю нужные товары и услуги в табличную часть.



2. У документа Котировка на основе которого создаю документ СчетНаОплату, реквизитов ЕдиницаИзмерения и СтавкаНДС нету.
Данные реквизиты есть в справочнике Номенклатура.



3. Этот пункт не понял как реализовать.
Поставить точку останова перед теми двумя новыми строками и проверить что покажет?

Типа вот так? Если так то ничего не показывает

.НоваяСтрока.ЕдиницаИзмерения = НоваяСтрока.Номеклатура.ЕдиницаИзмерения;
.НоваяСтрока.СтавкаНДС= НоваяСтрока.Номеклатура.СтакаНДС;
scoodizzy619
По третьему пункту не то вообще написал. Сейчас буду проверять по точке останова


3. Еще не совсем разобрался как работать с точкой останова но вот что показывает


Profi_1C77
scoodizzy619 @ Вчера, 23:09 необходимо зарегистрироваться для просмотра ссылки ,
НоваяСтрока.Номенклатура  = ТекСтрокаДоходы.Услуга;

тут надо поставить точку остановки, выполнить, посмотреть что в отладчике , в табло, вернет
НоваяСтрока.Номенклатура
scoodizzy619
Profi_1C77 @ Сегодня, 9:22 необходимо зарегистрироваться для просмотра ссылки ,

Понял. Ну отображает вот это. Но я не пойму почему значение такое.

scoodizzy619
Все разобрался. Сейчас буду проверять.

Profi_1C77 @ Сегодня, 9:22 необходимо зарегистрироваться для просмотра ссылки ,

Вообщем выходит так:




После проверки тех двух строк выдает ошибку:

Помилка при виконанні обробника - 'ОбработкаЗаполнения'
через:
Значення не є значенням об`єктного типу (ЕдиницаИзмерения)
{Документ.СчетНаОплату.МодульОбъекта(71)}: НоваяСтрока.ЕдиницаИзмерения = НоваяСтрока.Номенклатура.ЕдиницаИзмерения;

А потом вот так:

Profi_1C77
scoodizzy619 @ Сегодня, 14:25 необходимо зарегистрироваться для просмотра ссылки ,
Обратите внимание -
НоваяСтрока.ЕдиницаИзмерения - Справчоник КлассификаторЕдиницИзмерения
а в Номенклатуре - ЕдиницаИзмерения - вероятно Справочник ЕдиницыИзмерения;
Типы не совпадают
scoodizzy619
Profi_1C77 @ Сегодня, 15:25 необходимо зарегистрироваться для просмотра ссылки ,

Как раз по типам все должно быть окей. Вот показываю на скринах:





Может проблема в том что реквизит ЕдиницаИзмерения в справочнике Номенклатура находится на в ТЧ, а тот же реквизит в документе СчетНаОплату в ТЧ?
Хотя по идеи это не должно вызывать проблем.
Profi_1C77
scoodizzy619 @ Сегодня, 15:36 необходимо зарегистрироваться для просмотра ссылки ,
Ок. Есть AnyDesk? Напишите в личку - гляну по быстрому
scoodizzy619
Profi_1C77 @ Сегодня, 15:46 необходимо зарегистрироваться для просмотра ссылки ,
Кинул в личку
Profi_1C77
scoodizzy619 @ Сегодня, 15:49 необходимо зарегистрироваться для просмотра ссылки ,
Все оказалось банально просто - Номенклатура в Счете Тип Строка а не ссылка;
scoodizzy619
Profi_1C77 @ Сегодня, 15:58 необходимо зарегистрироваться для просмотра ссылки ,

Очень благодарен вам.
Такая мелочь, а не заметил)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.