как связать две таблицы ?

Программирование на языке СБиС++, создание обработчиков событий, редактирование окон, создание отчетов и т.д.

как связать две таблицы ?

Добрый день.
Нужна помощь.
В конфигурации задачи ЗиК стоит флаг Переносить остатки на следующий месяц
С начала работы программы в ведомостях на выдачу з/п в поле ДатаНачисления заносили Дату выдачи заработной платы.
были написаны свои отчеты, которые использовали это поле.

Все работало , пока не появился 6-НДФЛ. были сделаны свои доработки, тоже все работало.
Сейчас есть желание перейти на стандартную работу программы,
В ДатаНачисления заносим последний день месяца начисления з/п, в Ведомостях в Банк (и кассу ) меняем дату на дату фактической выдачи,
привязываем к платежке. строим 6-НДФЛ, все строится
Но теперь возникли проблемы со своими отчетами, которые используют ДатуНачисления, как дату выдачи з/п.

Был такой кусок программы

Если(ТабНомер)
оСотр=Лицо(ТабНомер,"Сотрудники");
Расч = Таблица("Расчеты");
Пока(Следующий(оСотр.Лицо_, Расч, "СотрудникРасчеты"))
{
Установить(Расч);
Если (Тип=="КВыдаче" )
{ Если('РАСЧ.ДатаРасчета'>=ДатНач и 'РАСЧ.ДатаРасчета'<=ДатКнц)
{
ДатаВыдачи = 'РАСЧ.ДатаНачисления';
СуммаВ = 'РАСЧ.Сумма';
}
}
}

Как мне сейчас в таком тексте привязать запись Таблицы Расчет с Датой Ведомости в банк(или Кассу),
т.е. где мне взять дату фактической выдачи, какую можно использовать функцию ?
vlb 
» 10 мар 2018, 02:47


скорее всего, как-то так:

Код: Выделить всё
{ Если('РАСЧ.ДатаРасчета'>=ДатНач и 'РАСЧ.ДатаРасчета'<=ДатКнц)
{
ДатаВыдачи = 'РАСЧ.ДокументРасчеты.ДатаНачисления';
СуммаВ = 'РАСЧ.Сумма';
}
}
Благушин Виктор 
» 12 мар 2018, 13:30


не так, это было по старому.
сейчас после перехода на стандартную технологию в ДатаНачисления стоит последний день месяца, за который выдается з/п. мне же надо взять дату из ведомости в банк, либо из платежки. т.е. сейчас в данном примере ДатаВыдачи = 28.02.2018, а она должна быть 05.03.2018
как еще можно нписать ?
vlb 
» 12 мар 2018, 20:27


да, согласен - это в моей базе немного не по правилам заносят и нам такой вариант подходит...

Проверил на чистой базе - можно достать дату из поля 'РАСЧ.ДокументРасчеты.ДатаВремяНач'...
Либо сложный вариант:
- брать запись 'РАСЧ.ДокументРасчеты.Документ_'
- от нее перебирать связи по полю "ДокОснование"
- из перебора доставать записи по связи "ДокСледствие" - и в них уже будет дата
Благушин Виктор 
» 13 мар 2018, 13:20




Вернуться в Разработка и администрирование в СБиС++