Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Дек 2017, 19:49
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Помогите со связкой таблиц 8.1  (Прочитано 11311 раз)

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

Оффлайн Элен62

  • **
  • Сообщений: 60
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-21
  • Сайт: 
  • Профессия: Программист 1С
Есть документ с табличными полями, Есть тп Услуги с колонками (Наименование, Кол-во...) и есть тп. Сотрудники с теми же колонками. Нужно чтобы все что введено и будет вводиться в колонки  "Услуги" дублировалось в тп "Сотрудники". Как связку сделать? По коду подскажете. Я через запрос делала...но зашпарилась.  Вот такой код в "Услугах" при изменении Номенклатуры
Процедура УслугиНоменклатураПриИзменении(Элемент)

   СтрокаТабличнойЧасти = ЭлементыФормы.Услуги.ТекущиеДанные;
         // Заполняем реквизиты табличной части.
   ОбработкаТабличныхЧастей.ЗаполнитьСодержаниеТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);
   ОбработкаТабличныхЧастей.ЗаполнитьСодержаниеТабЧасти(СтрокаТабличнойЧасти,ЭтотОбъект);

   ЗаполнитьСчетаУчетаВСтрокеТабЧастиРегл(СтрокаТабличнойЧасти, "Услуги", ОтражатьВБухгалтерскомУчете, ОтражатьВНалоговомУчете);
       ОбработкаТабличныхЧастей.ЗаполнитьСтавкуНДСТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект, "Реализация");
   
   // Заполнение цены зависит от розничности операции.
   ОбработкаТабличныхЧастей.ЗаполнитьЦенуПродажиТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект, мВалютаРегламентированногоУчета);

   // Рассчитываем реквизиты табличной части.
   ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);
   ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);
   
   КонецПроцедуры



Вот, а что же писать При изменении номенклатуры в Сотрудниках к примеру. Подскажите пожалуйста.


Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Ну добавляем в процедуру УслугиНоменклатураПриИзменении код по изменению таб.части Сотрудники. Можно даже сделать так: раз там должна тч Услуги полностью копироваться, то номер строки в Услуги будет совпадать с соответствующей строкой в Сотрудники. То есть как-то так:

ТабЧастьСотрудники=ЭтотОбъект.Сотрудники;
Если ТабЧастьСотрудники.Количество()<СтрокаТабличнойЧасти.НомерСтроки тогда
      СтрокаТабличнойЧастиСотрудники=ТабЧастьСотрудники.Добавить();
Иначе
      СтрокаТабличнойЧастиСотрудники=ТабЧастьСотрудники.Получить(СтрокаТабличнойЧасти.НомерСтроки-1);
КонецЕсли;

// дальше меняем все нужные поля
СтрокаТабличнойЧастиСотрудники.Колонка1=СтрокаТабличнойЧасти.Колонка1;
и т.д.


xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн Элен62

  • **
  • Сообщений: 60
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-21
  • Сайт: 
  • Профессия: Программист 1С
Спасибо)

Оффлайн Элен62

  • **
  • Сообщений: 60
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-21
  • Сайт: 
  • Профессия: Программист 1С
Процедура УслугиНоменклатураПриИзменении(Элемент)

   СтрокаТабличнойЧасти = ЭлементыФормы.Услуги.ТекущиеДанные;
   ТабЧастиСотрудники=ЭтотОбъект.Сотрудники;
         // Заполняем реквизиты табличной части.
   ОбработкаТабличныхЧастей.ЗаполнитьСодержаниеТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);
   ЗаполнитьСчетаУчетаВСтрокеТабЧастиРегл(СтрокаТабличнойЧасти, "Услуги", ОтражатьВБухгалтерскомУчете, ОтражатьВНалоговомУчете);
    //ЗаполнитьСчетаУчетаВСтрокеТабЧастиРегл(СтрокаТабличнойЧасти, "Сотрудники", ОтражатьВБухгалтерскомУчете, ОтражатьВНалоговомУчете);
   ОбработкаТабличныхЧастей.ЗаполнитьСтавкуНДСТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект, "Реализация");
   
   // Заполнение цены зависит от розничности операции.
   ОбработкаТабличныхЧастей.ЗаполнитьЦенуПродажиТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект, мВалютаРегламентированногоУчета);
       // Рассчитываем реквизиты табличной части.
   ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);
   ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);
Если ТабЧастиСотрудники.Количество()<СтрокаТабличнойЧасти.НомерСтроки тогда   
   
   СтрокаТабличнойЧастиСотрудники=ТабЧастиСотрудники.Добавить();
    СтрокаТабличнойЧастиСотрудники.Номенклатура=СтрокаТабличнойЧасти.Номенклатура;
    СтрокаТабличнойЧастиСотрудники.Исполнители=СтрокаТабличнойЧасти.Исполнители;
СтрокаТабличнойЧастиСотрудники.Содержание=СтрокаТабличнойЧасти.Содержание;
СтрокаТабличнойЧастиСотрудники.Количество=0;
СтрокаТабличнойЧастиСотрудники.Количество=СтрокаТабличнойЧасти.Количество;
СтрокаТабличнойЧастиСотрудники.Цена=СтрокаТабличнойЧасти.Цена;
//СтрокаТабличнойЧастиСотрудники.Сумма=СтрокаТабличнойЧасти.Сумма;
СтрокаТабличнойЧастиСотрудники.ПроцентСкидкиНаценки=СтрокаТабличнойЧасти.ПроцентСкидкиНаценки;
СтрокаТабличнойЧастиСотрудники.ПроцентАвтоматическихСкидок=СтрокаТабличнойЧасти.ПроцентАвтоматическихСкидок;
СтрокаТабличнойЧастиСотрудники.СтавкаНДС=СтрокаТабличнойЧасти.СтавкаНДС;
СтрокаТабличнойЧастиСотрудники.СчетДоходовБУ=СтрокаТабличнойЧасти.СчетДоходовБУ;
СтрокаТабличнойЧастиСотрудники.СубконтоБУ=СтрокаТабличнойЧасти.СубконтоБУ;
СтрокаТабличнойЧастиСотрудники.СчетРасходовБУ=СтрокаТабличнойЧасти.СчетРасходовБУ;
СтрокаТабличнойЧастиСотрудники.СчетДоходовНУ=СтрокаТабличнойЧасти.СчетДоходовНУ;
СтрокаТабличнойЧастиСотрудники.СубконтоНУ=СтрокаТабличнойЧасти.СубконтоНУ;
СтрокаТабличнойЧастиСотрудники.СчетРасходовНУ=СтрокаТабличнойЧасти.СчетРасходовНУ;
СтрокаТабличнойЧастиСотрудники.ЗаказПокупателя=СтрокаТабличнойЧасти.ЗаказПокупателя;
СтрокаТабличнойЧастиСотрудники.Всего=СтрокаТабличнойЧасти.Всего;
Иначе
     СтрокаТабличнойЧастиСотрудники=ТабЧастиСотрудники.Получить(СтрокаТабличнойЧасти.НомерСтроки-1);
КонецЕсли;


Не считает все остальные значения кроме Номенклатуры и Содержания. Пишет не находит поле.
Я понимаю что надо УслугиКоличествоПриИзменении к примеру там код дописывать. Но что не пишу...в табличную часть Сотрудники не воодится-пишет что не накодет такое поле в т.чСотрудники. Вот коод работающий, подскажите еще на базе кол-ва тогда.
Процедура УслугиКоличествоПриИзменении(Элемент)
   ОбработкаТабличныхЧастей.РассчитатьКоличествоМестТабЧасти(ЭлементыФормы.Услуги.ТекущиеДанные, ЭтотОбъект);
   ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(ЭлементыФормы.Услуги.ТекущиеДанные, ЭтотОбъект);
   ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(ЭлементыФормы.Услуги.ТекущиеДанные, ЭтотОбъект);
 
   
КонецПроцедуры

Оффлайн Элен62

  • **
  • Сообщений: 60
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-21
  • Сайт: 
  • Профессия: Программист 1С
 =ЭлементыФормы.Услуги.ТекущиеДанные.Количество;
вот это поле он видит значение...но к чему присваивать его. Было так...СтрокаТабличнойЧастиСотрудники.Количество=ЭлементыФормы.Услуги.ТекущиеДанные.Количество;
При этом объявляла СтрокаТабличнойЧасти = ЭлементыФормы.Услуги.ТекущиеДанные;
   ТабЧастиСотрудники=ЭтотОбъект.Сотрудники;


Но не находит поле и все тут. ПРобовала методом при изменении таблияных форм...данные все переносятся...но повально заполняют все графы. дублируют в общем. Но потом чтобы вручную что то дописать-не получается. При изменении страницы- все обновляется со страницы Услуги. Этот варик не подходит.

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Проверьте, чтобы поля действительно были в табличной части Сотрудники. Как вариант, их там нет или есть орфографические ошибки в них.

И плюс, повторюсь, структура кода должна получиться такая:
Если ТабЧастиСотрудники.Количество()<СтрокаТабличнойЧасти.НомерСтроки тогда  
   СтрокаТабличнойЧастиСотрудники=ТабЧастиСотрудники.Добавить();
Иначе
   СтрокаТабличнойЧастиСотрудники=ТабЧастиСотрудники.Получить(СтрокаТабличнойЧасти.НомерСтроки-1);
КонецЕсли;

//а дальше уже заполняем поля
СтрокаТабличнойЧастиСотрудники.Номенклатура=СтрокаТабличнойЧасти.Номенклатура;
СтрокаТабличнойЧастиСотрудники.Исполнители=СтрокаТабличнойЧасти.Исполнители;
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
=ЭлементыФормы.Услуги.ТекущиеДанные.Количество;
вот это поле он видит значение...но к чему присваивать его. Было
Попробуйте ТекущаяСтрока вместо ТекущиеДанные.

ТабличноеПоле (TableBox)
ТекущаяСтрока (CurrentRow)
Использование:
Чтение и запись.
Описание:
Содержит текущую строку табличного поля.
Недоступно на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.


ТабличноеПоле (TableBox)
ТекущиеДанные (CurrentData)
Использование:
Только чтение.
Описание:
Содержит данные текущей строки табличного поля.
Недоступно на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн Элен62

  • **
  • Сообщений: 60
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-21
  • Сайт: 
  • Профессия: Программист 1С
Значение не является значением объектного типа
{Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента(4343)}: Значение не является значением объектного типа (Количество)
ЭлементыФормы.Сотрудники.ТекущаяСтрока.Количество = ЭлементыФормы.Услуги.ТекущиеДанные.Количество;

Оффлайн Элен62

  • **
  • Сообщений: 60
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-21
  • Сайт: 
  • Профессия: Программист 1С
на наличие опеток проверила-все гуд.

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Попробуйте:
Сообщить(ЭлементыФормы.Сотрудники.ТекущаяСтрока.Количество);
Сообщить(ЭлементыФормы.Услуги.ТекущиеДанные.Количество);

На какой строке будет ругаться?))
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать


Теги:
 

Помогите срочно!! В вкладке "Сервис"--> "Журнал регистрации" отражаются все операции как можно определить сделаны ли операции "задним числом" и как вычислить первоначальную информацию какой расчет поменял на другой?

Автор 2ronРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4304
Последний ответ 24 Дек 2015, 15:34
от дфтын
Помогите подобрать Back-office и Front-office

Автор avrnskРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 5565
Последний ответ 07 Сен 2010, 12:01
от mohock
Помогите с отчётами в УТ 10.3. (Ведомость по товарам и ведомость по заказам)

Автор chum710Раздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 5903
Последний ответ 28 Мар 2012, 13:02
от chum710
Помогите с отчетом "Валовая прибыль"

Автор Dm109Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 4398
Последний ответ 10 Сен 2015, 13:57
от Dm109
помогите с отчетом "характеристики контрагентов"

Автор Vasya PovarРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 1987
Последний ответ 07 Дек 2016, 15:53
от Kironten

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
141 Сообщений
AIFrame
71 Сообщений
ilyay ilyay
65 Сообщений
alex0402
52 Сообщений
andron81_81
44 Сообщений
oleg-x
41 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
31 Сообщений
Golickoff Golickoff
27 Сообщений
alexandr_ll
23 Сообщений

* Кто онлайн

  • Точка Гостей: 337
  • Точка Скрытых: 0
  • Точка Пользователей: 5
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal