Имя: Пароль:
1C
1С v8
Сравнить таблицу Excel и ТЧ Документа Отражение зарплаты в бухучете
,
0 Zlaya-Ferio
 
25.01.19
10:05
Доброго времени суток!
Суть вот в чем: из Excel разбираю таблицу, вывожу ее в ТабличныйДокумент1 на форме (для наглядности), затем на основании этой таблицы на сервере создаю документ Отражение зарплаты в бухучете и заполняю его данными из ТабличногоДокумента1. Все бы хорошо, если бы не одно но...
За расчетный месяц из ЗУП 3.1 выгружается такой же документ, но со ВСЕМИ сотрудниками предприятия. Выбираю этот документ вручную пока что. Реквизит на форме тип ДокументСсылка.ОтражениеЗарплатыВБухучете. Вот Как ТЧ НачисленнаяЗарплатаИВзносы из выбранного документа Отражение зарплаты в бухучете вывести на форму в реквизит ТабличныйДокумент2? Или как-то иначе сравнить два документа из БД?
Нужно: найти совпадающие значения по полям (Сотрудник и Сумма) и удалить эту запись из выбранного документа. Головой понимаю, что нужно в цикле перебрать все строки в выбранном документе и при совпадении посмотреть сумму, но знаний синтаксиса не хватает((
Прошу прощение за сумбур, но третий день смотрю в книгу (она же Гугл), вижу фигу(( Прошу о помощи!
1 ZDenis
 
25.01.19
10:15
(0) Что то типа такого

Для каждого СтрокаПервогоДокумента Из ТЦПервогоДокумента Цикл

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

КонецЦикла;
2 Zlaya-Ferio
 
25.01.19
10:19
(1) А документ мне нужно как-то открыть? или вывести куда?
3 ZDenis
 
25.01.19
10:21
(2) Сделай отдельную обработку и в ней проводи все операции. Там же и выбирай второй документ.
4 El_Duke
 
гуру
25.01.19
10:24
(0) Разрешите поинтересоваться: чем обусловлена такая задача ? Почему сначала делается док с проводками из непонятного источника, потом выгружается док Отражение .. ? Для чего весь этот цирк на конной тяге ?
5 Zlaya-Ferio
 
25.01.19
10:30
(4) Сначала делается Отражение зп, выгружается в бух. Затем приносят файл Эксель, в котором привязка сумм к заказам, приносят после начисления зп, но привязать нужно. Поэтому "обычных" сотрудников оставляем в выгруженном документе, а "особых" из Эксель загружаем. Дабы не дублировалось, из одного документа удаляем, в другой пишем
6 Zlaya-Ferio
 
25.01.19
10:31
(3) так а зачем другую? В этой обработке у меня еще есть Таблица первого документа, нужно только открыть второй и сравнить.
7 El_Duke
 
гуру
25.01.19
10:39
(5) Пока не очень понятно что происходит
"Особым товарищам" суммы по заказам не в ЗУП что ли начисляются ? Откуда данные об этих суммах попадают в эксель ?
Я к чему все это: вполне возможно что все можно делать штатно в ЗУП и синхронизацией отправлять в БП.
Но для этого надо понять что происходит, откуда идут суммы обычным и особым работникам
8 ZDenis
 
25.01.19
10:42
(6) Тогда создай реквизит с типом документ отражение ЗП и в нем выбирай с чем сравнивать.
9 mistеr
 
25.01.19
11:01
(0) Загрузить из Excel в соответствие. Затем циклом один раз пройтись по ТЧ. Не изобретать лишнего.

P.S. Если данных в Excel много, то можно вместо соответствия загрузить во временную таблицу. А дальше запросом.
10 Zlaya-Ferio
 
25.01.19
11:03
(7) Из Зуп приходит отражение с сотрудниками и суммами. Затем другой отдел готовит файл Эксель, где "особому" сотруднику на эту сумму привязывается заказ, т.е способ отражения зп, в котором указывается счет, номенклатурная группа и статья затрат. Изначально, когда начисляется зарплата в зуп мы не знаем номенклатурную группу, она становится известна намного позже. Поэтому загружается Эксель с этими данными и дабы не было дубля - удаляется из старого документа. Таким образом, старый файл у нас остается с "обычными" сотрудниками, а загруженный из Эксель с исправленными.
11 Zlaya-Ferio
 
25.01.19
11:04
(9) т.е загруженный Эксель в табличный документ на форме мне не нужен?
12 ZDenis
 
25.01.19
11:05
(10) Для этого существует распределение затрат в 1С ЗУП. Намного правильнее всю информацию из экселя внести туда и далее просто перезаполнить отражение ЗП
13 mistеr
 
25.01.19
11:05
(11) Если только "для наглядности".
14 ZDenis
 
25.01.19
11:06
(10) Начислять зарплату это и не мешает, достаточно указать распределение перед заполнение отражения ЗП
15 Zlaya-Ferio
 
25.01.19
11:09
(14) а может и правда не лезть в бухгалтерию... Огромная благодарность за идею! Пойду протестирую и начну переписывать обработку под зуп :-D
16 El_Duke
 
гуру
25.01.19
11:17
(10) Такого не может быть
К концу месяца всегда известно что сотр Вася Пупкин в течение месяца работал над заказами X,Y,Z. Каждый заказ привязан к своему способу отражения, который можно указать в доке начисления суммы по заказу. Ну или как сказано в (12) распределять пропорционально.
В общем тут очередное изобретение лисапеда с квадратными колесами. Веселые у вас постановщики задач, соболезную
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.