Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Автогруппировка строк. Работа над ошибками.

Здравствуйте, не кидайте сильно камнями, помогите исправить ошибки при построении макета с группировками.
1. ИтогПоВид почему-то подбивается в самом конце как общий итог.
2. Над шапкой формируется строка с суммами, происхождение которых мне до сих пор неизвестно...
Чессслово, я просто не понимаю как это работает логически и в какой последовательности нужно группировать. Я готов получить любую оценку моих умственных способностей, но прошу - объясните, научите!! или посоветуете литературу для идиотов)

Код ниже, спасибо заранее....

ТабДок = Новый ТабличныйДокумент;
Макет = Отчеты.ОтчетПоРаботам.ПолучитьМакет("Макет");
ТабДок.НачатьАвтогруппировкуСтрок();
Шапка = Макет.ПолучитьОбласть("Шапка");
Шапка.Параметры.Владелец = Владелец;
Шапка.Параметры.НачДата = Формат(НачПериода,"ДФ=dd.MM.yy");
Шапка.Параметры.КонДата = Формат(КонПериода,"ДФ=dd.MM.yy");
ТабДок.Вывести(Шапка);
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
|    СчетаИАктыОстаткиИОбороты.Владелец,
|    СчетаИАктыОстаткиИОбороты.Заказчик,
|    СчетаИАктыОстаткиИОбороты.ВыписанАкт,
|    СчетаИАктыОстаткиИОбороты.ВидУслуги КАК ВидУслуги,
|    СчетаИАктыОстаткиИОбороты.НачДата,
|    СчетаИАктыОстаткиИОбороты.КонДата,
|    СчетаИАктыОстаткиИОбороты.Наименование,
|    СчетаИАктыОстаткиИОбороты.СтоимостьКонечныйОстаток КАК Стоимость,
|    СчетаИАктыОстаткиИОбороты.НалогКонечныйОстаток КАК Налог,
|    СчетаИАктыОстаткиИОбороты.ВыручкаКонечныйОстаток КАК Выручка,
|    СчетаИАктыОстаткиИОбороты.ВыручкаМенеджераКонечныйОстаток КАК ВыручкаМенеджера
|ИЗ
|    РегистрНакопления.СчетаИАкты.ОстаткиИОбороты КАК СчетаИАктыОстаткиИОбороты
|ГДЕ
|    СчетаИАктыОстаткиИОбороты.Дата МЕЖДУ &НачПериода И &КонПериода
//|    И СчетаИАктыОстаткиИОбороты.Владелец = &Владелец

|    И СчетаИАктыОстаткиИОбороты.ВыписанАкт = &флВыписанАкт
|ИТОГИ
|    СУММА(Стоимость),
|    СУММА(Налог),
|    СУММА(Выручка),
|    СУММА(ВыручкаМенеджера)
|ПО
|    ОБЩИЕ,
|    ВидУслуги";
//Запрос.УстановитьПараметр("Владелец",Владелец());    

Запрос.УстановитьПараметр("НачПериода",НачалоДня(НачалоМесяца(НачПериода)));
Запрос.УстановитьПараметр("КонПериода",КонецДня(КонецМесяца(КонПериода)));
Запрос.УстановитьПараметр("флВыписанАкт",Истина);
Выборка = Запрос.Выполнить().Выбрать();    
Строка = Макет.ПолучитьОбласть("Строка");
СтоимостьИтог = 0;
ВыручкаИтог = 0;
ОплатаИтог = 0;
Ном = 0;
ИтогПоВид = "";
Пока Выборка.Следующий() Цикл
Если Выборка.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоГруппировке Тогда
Если ИтогПоВид <> "" Тогда
ТабДок.Вывести(ИтогПоВид,1,,Ложь);
КонецЕсли;
Итог = Макет.ПолучитьОбласть("Подвал");
//Итог.Параметры.ИтогоВидУслуги = "ИТОГО ПО " + Выборка.ВидУслуги;

Итог.Параметры.СтоимостьИтог = Выборка.Стоимость;
Итог.Параметры.ВыручкаИтог = Выборка.Выручка;
Итог.Параметры.ОплатаИтог = Выборка.ВыручкаМенеджера;
ОбластьВид = Макет.ПолучитьОбласть("Вид");
ОбластьВид.Параметры.ВидУслуги = Выборка.ВидУслуги;
ТабДок.Вывести(ОбластьВид,1,,Ложь); Ном = 0;
Продолжить;
КонецЕсли;
Строка.Параметры.Заказчик  = Выборка.Заказчик;
Строка.Параметры.Наименование = Выборка.Наименование;
Строка.Параметры.Период = Формат(Выборка.НачДата,"ДФ=dd.MM.yy") + ?(ПустоеЗначение(Выборка.НачДата) ИЛИ ПустоеЗначение(Выборка.КонДата),""," - ") + Формат(Выборка.КонДата,"ДФ=dd.MM.yy");
Строка.Параметры.Стоимость = Выборка.Стоимость;
Строка.Параметры.Выручка = Выборка.Выручка-Выборка.Налог; 
Строка.Параметры.Оплата = Выборка.ВыручкаМенеджера;
Ном = Ном+1;
Строка.Параметры.Ном = Ном;
ТабДок.Вывести(Строка,2,,Ложь);
СтоимостьИтог = СтоимостьИтог + Выборка.Стоимость;
ВыручкаИтог = ВыручкаИтог + Выборка.Выручка;
ОплатаИтог = ОплатаИтог + Выборка.ВыручкаМенеджера;
КонецЦикла;
Если ИтогПоВид <> "" Тогда
ТабДок.Вывести(ИтогПоВид);
КонецЕсли;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ОбластьИтог = Макет.ПолучитьОбласть("Подвал");
//ОбластьИтог.Параметры.ИтогоВидУслуги = "ИТОГО";

ОбластьИтог.Параметры.СтоимостьИтог = СтоимостьИтог;
ОбластьИтог.Параметры.ВыручкаИтог = ВыручкаИтог;
ОбластьИтог.Параметры.ОплатаИтог = ОплатаИтог;
ТабДок.Вывести(ОбластьИтог);
ТабДок.АвтоМасштаб = Истина;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
Табдок.ОтображатьЗаголовки = Ложь;
Табдок.ОтображатьСетку = Ложь;
ТабДок.Показать();
Ответ: () Потому что выводит по количеству строк все правильно, а по содержанию - они просто много раз дублируются
Вопрос: Работа со строками: искать строго по данному значению

Подскажите я по забыл как найти в тз строго по значению, чтобы именно введенному значению искала, вот как я делаю

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Для Каждого Стр из Результат Цикл
        НайтиМ1=Найти(Стр.М, Строка1);
        Если НайтиМ1>0 тогда            
            ОбластьСтрока.Параметры.Дата = Стр.Дата;
            ОбластьСтрока.Параметры.М = Стр.М;
            ТабДок.Вывести(ОбластьСтрока);
        КонецЕсли;
        
        НайтиМ2=Найти(Стр.М, Строка2);
        Если НайтиМ2>0 тогда        
            ОбластьСтрока.Параметры.Дата = Стр.Дата;
            ОбластьСтрока.Параметры.М = Стр.М;           
            ТабДок2.Вывести(ОбластьСтрока);
        КонецЕсли;
    КонецЦикла;    
     ТабДок.Вывести(ТабДок2);
Сейчас я ввожу значение "Вова" и мне выводит "Вова П", "Вова С", а должен вывести только строки с значением "Вова".
Ответ:

Не по теме:

Ermak27, ну как так? все по десять раз...


А что про замену символов "-" на ПС?
Короче накидала обработку, посмотрите на примере.
Код:
1C
1
2
3
4
5
6
7
8
9
10
11
    Для Каждого ТекСтр Из ТаблицаСтрок Цикл //ТаблицаСтрок - таблица значений с реквизитами СтрокаТекста(куда пишут Вася-Петя) и Дата
        ТекущаяСтрока = ТекСтр.СтрокаТекста;
        ТекущаяСтрока = СтрЗаменить(ТекущаяСтрока, "-", Символы.ПС);
        Для к = 1 по СтрЧислоСтрок(ТекущаяСтрока) Цикл
            Подстрока = СтрПолучитьСтроку(ТекущаяСтрока, к);
            Если СокрЛП(Подстрока) = СокрЛП(Поиск) Тогда
                Сообщить(ТекСтр.СтрокаТекста + " " + ТекСтр.Дата);
                Прервать;
            КонецЕсли;  
        КонецЦикла;
    КонецЦикла;
Вопрос: Выбрать количество строк в запросе, равным определенному полю

Добрый день!
Имеется запрос:
Код:
ВЫБРАТЬ
    0 КАК Поле
ПОМЕСТИТЬ Числа

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    1

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    2

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    3
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1000
    Числа1.Поле + 4 * Числа2.Поле + 16 * Числа3.Поле + 64 * Числа4.Поле + 1 КАК Число
ПОМЕСТИТЬ ВтНомера
ИЗ
    Числа КАК Числа1,
    Числа КАК Числа2,
    Числа КАК Числа3,
    Числа КАК Числа4

УПОРЯДОЧИТЬ ПО
    Число
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1000
    ВтСтроки.Число КАК Колонка,
    ВтКолонки.Число КАК Строка
ПОМЕСТИТЬ ВтДваРяда
ИЗ
    ВтНомера КАК ВтСтроки,
    ВтНомера КАК ВтКолонки
ГДЕ
    ВтСтроки.Число <= &КоличествоКолонок

УПОРЯДОЧИТЬ ПО
    Строка,
    Колонка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВЫРАЗИТЬ(ппк_МощностьСкладаОборотыОбороты.Регистратор КАК Документ.ЗаданиеНаПеревозку) КАК Ссылка,
    ВЫРАЗИТЬ(ппк_МощностьСкладаОборотыОбороты.Регистратор КАК Документ.ЗаданиеНаПеревозку).Склад КАК Склад
ПОМЕСТИТЬ ВтЗдания
ИЗ
    РегистрНакопления.ппк_МощностьСкладаОбороты.Обороты(НАЧАЛОПЕРИОДА(&День, ДЕНЬ), КОНЕЦПЕРИОДА(&День, ДЕНЬ), Регистратор, Площадка = &Площадка) КАК ппк_МощностьСкладаОборотыОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВтЗдания.Ссылка КАК Ссылка,
    ВтЗдания.Склад КАК Склад,
    ЕСТЬNULL(СегментН.Сегмент, ЗНАЧЕНИЕ(Справочник.СегментыНоменклатуры.ПустаяСсылка)) КАК Сегмент
ПОМЕСТИТЬ ВтЗданияСегменты
ИЗ
    ВтЗдания КАК ВтЗдания
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаданиеНаПеревозку.ппк_ТоварыКДоставке КАК Товары
        ПО ВтЗдания.Ссылка = Товары.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НоменклатураСегмента КАК СегментН
        ПО (Товары.Номенклатура = СегментН.Номенклатура)
            И (Товары.Характеристика = СегментН.Характеристика)
            И (СегментН.Сегмент В
                (ВЫБРАТЬ РАЗЛИЧНЫЕ
                    ппк_МощностьСкладаСрезПоследних.СегментНоменклатуры
                ИЗ
                    РегистрСведений.ппк_МощностьСклада.СрезПоследних(&Дата, Площадка = &Площадка) КАК ппк_МощностьСкладаСрезПоследних))
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1000
    ВтЗдания.Сегмент КАК Сегмент,
    ВтЗдания.Склад КАК Склад,
    ВтЗдания.Ссылка КАК Ссылка,
    КОЛИЧЕСТВО(ВтЗдания.Ссылка) КАК Номер
ПОМЕСТИТЬ ВтЗаданиеНомер
ИЗ
    ВтЗданияСегменты КАК ВтЗдания
        ЛЕВОЕ СОЕДИНЕНИЕ ВтЗданияСегменты КАК ВтЗдания1
        ПО ВтЗдания.Ссылка >= ВтЗдания1.Ссылка
            И ВтЗдания.Склад = ВтЗдания1.Склад
            И ВтЗдания.Сегмент = ВтЗдания1.Сегмент

СГРУППИРОВАТЬ ПО
    ВтЗдания.Склад,
    ВтЗдания.Сегмент,
    ВтЗдания.Ссылка

УПОРЯДОЧИТЬ ПО
    Склад,
    Сегмент
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
            ВтЗаданиеНомер.Склад КАК Склад,
            ВтЗаданиеНомер.Сегмент КАК Сегмент,
            ВтЗаданиеНомер.Ссылка КАК Ссылка,
            ВтЗаданиеНомер.Номер КАК Номер,
            ВтДваРяда.Колонка КАК Колонка,
            ВтДваРяда.Строка КАК Строка,
            ЕСТЬNULL(ппк_МощностьСкладаСрезПоследних.КоличествоНорма, 0) КАК МощностьСкладаНорма,
            ЕСТЬNULL(ппк_МощностьСкладаСрезПоследних.КоличествоМаксимум, 0) КАК МощностьСкладаМаксимум
        ИЗ
            ВтЗаданиеНомер КАК ВтЗаданиеНомер
                ЛЕВОЕ СОЕДИНЕНИЕ ВтДваРяда КАК ВтДваРяда
                ПО (ВтЗаданиеНомер.Номер = (ВтДваРяда.Строка - 1) * &КоличествоКолонок + ВтДваРяда.Колонка)
                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ппк_МощностьСклада.СрезПоследних(&День, ) КАК ппк_МощностьСкладаСрезПоследних
                ПО ВтЗаданиеНомер.Склад.ппк_Площадка = ппк_МощностьСкладаСрезПоследних.Площадка
                    И ВтЗаданиеНомер.Сегмент = ппк_МощностьСкладаСрезПоследних.СегментНоменклатуры
Результат следующий:

Не пойму как сделать, чтобы количество строк в разрезе склада и сегмента выводилось такое же количество, какое указано в поле МощностьСкладаНорма.

Попробовал следующим образом, но получилось что-то не то:
Код:
ВЫБРАТЬ
    ВтНомера.Число КАК Число,
    ВложенныйЗапрос.Склад КАК Склад,
    ВложенныйЗапрос.Сегмент КАК Сегмент,
    ВложенныйЗапрос.Ссылка КАК Ссылка,
    ВложенныйЗапрос.Номер КАК Номер,
    ВложенныйЗапрос.Колонка КАК Колонка,
    ВложенныйЗапрос.Строка КАК Строка,
    ВложенныйЗапрос.МощностьСкладаНорма КАК МощностьСкладаНорма,
    ВложенныйЗапрос.МощностьСкладаМаксимум КАК МощностьСкладаМаксимум
ИЗ
    ВтНомера КАК ВтНомера
        Правое СОЕДИНЕНИЕ (ВЫБРАТЬ
            ВтЗаданиеНомер.Склад КАК Склад,
            ВтЗаданиеНомер.Сегмент КАК Сегмент,
            ВтЗаданиеНомер.Ссылка КАК Ссылка,
            ВтЗаданиеНомер.Номер КАК Номер,
            ВтДваРяда.Колонка КАК Колонка,
            ВтДваРяда.Строка КАК Строка,
            ЕСТЬNULL(ппк_МощностьСкладаСрезПоследних.КоличествоНорма, 0) КАК МощностьСкладаНорма,
            ЕСТЬNULL(ппк_МощностьСкладаСрезПоследних.КоличествоМаксимум, 0) КАК МощностьСкладаМаксимум
        ИЗ
            ВтЗаданиеНомер КАК ВтЗаданиеНомер
                ЛЕВОЕ СОЕДИНЕНИЕ ВтДваРяда КАК ВтДваРяда
                ПО (ВтЗаданиеНомер.Номер = (ВтДваРяда.Строка - 1) * &КоличествоКолонок + ВтДваРяда.Колонка)
                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ппк_МощностьСклада.СрезПоследних(&День, ) КАК ппк_МощностьСкладаСрезПоследних
                ПО ВтЗаданиеНомер.Склад.ппк_Площадка = ппк_МощностьСкладаСрезПоследних.Площадка
                    И ВтЗаданиеНомер.Сегмент = ппк_МощностьСкладаСрезПоследних.СегментНоменклатуры) КАК ВложенныйЗапрос
ПО (ВтНомера.Число <= ВложенныйЗапрос.МощностьСкладаНорма)
И ((ВложенныйЗапрос.Строка-1)*&КоличествоКолонок+ВложенныйЗапрос.Колонка)=ВтНомера.Число
Какое условие должно быть, чтобы когда строк в разрезе склада и сегмента меньше (поле Номер), чем в поле МощностьСкладаНорма, выводились еще строки до этого количества.
Ответ:
Насколько я понял, есть какое-то решение со слотами, когда есть таблица, к примеру с десятью строками с числами от 1 до 10 и полем, к примеру с пустой ссылкой Задания на перевозку, а далее соединяется это все, и если Задания на перевозку нету, то выводится пустая ссылка. Только сам пока не понял как это реализовать правильно.
--- Объединение сообщений, 18 авг 2018 ---
Возможно придется программно таблицу результата запроса обрабатывать, что не хотелось бы.
Вопрос: Как получить выбранную строку регистра сведений в справочник

Здравствуйте!

Есть Справочник ВидыНарушений со строковыми реквизитами НормативныйДокумент и ТекстПункта.
Надо в эти два объекта поместить выбранную строку независимого непериодического Регистра сведений НормативныеДокументы: измерения НомерРД и НомерПункта, ресурс ТекстПункта
Сделала вот такое в Справочнике
Код 1C
1
2
3
4
5
6
7
8
9
10
11
&НаКлиенте
    Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
        Объект.НормативныйДокумент = ВыбранноеЗначение.НомерРД + " п. " +ВыбранноеЗначение.НомерПункта;
        Объект.ТекстПункта = ВыбранноеЗначение.ТекстПункта;
    КонецПроцедуры
 
&НаКлиенте
    Процедура РазборНарушенийПриИзменении(Элемент)
        Фрм = ПолучитьФорму("РегистрСведений.НормативныеДокументы.Форма.ФормаВыбора",,ЭтаФорма);
        Фрм.Открыть();
    КонецПроцедуры
В регистре сведений
Код 1C
1
2
3
4
5
6
7
8
9
10
11
12
13
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
    ПрочитатьЗаписьНаСервере(ВыбраннаяСтрока);  
    СтандартнаяОбработка = Ложь;
    ОповеститьОВыборе(ВыбраннаяСтрока);
КонецПроцедуры
 
&НаСервере
Процедура ПрочитатьЗаписьНаСервере(Ключ)
    Зап = РегистрыСведений.НормативныеДокументы.СоздатьМенеджерЗаписи();
    ЗаполнитьЗначенияСвойств(Зап, Ключ);
    Зап.Прочитать();
КонецПроцедуры
При отладке {Справочник.ВидыНарушений.Форма.ФормаЭлемента.Форма(43)}: Поле объекта не обнаружено (НомерРД)
Объект.НормативныйДокумент = ВыбранноеЗначение.НомерРД + " п. " +ВыбранноеЗначение.НомерПункта;

Мысли такие: НомерРД и НомерПункта - это же ключ записи. Значит я что-то с ним неверно поступаю... Пробовала убрать
Код 1C
1
Объект.НормативныйДокумент = ВыбранноеЗначение.НомерРД + " п. " +ВыбранноеЗначение.НомерПункта;
тогда такая же ошибка, "не обнаружено поле ТекстПункта"
Направьте на путь истинный...
Спасибо)
Ответ: ТаблицаФормы (FormTable)
Выбор (Selection)
Синтаксис:

Выбор(<ВыбраннаяСтрока>, <Поле>, <СтандартнаяОбработка>)
Параметры:

<ВыбраннаяСтрока>

Значение выбранной строки. Тип значения зависит от типа данных, отображаемых в таблице. Конкретные типы значения выбранной строки указаны в описаниях расширений таблицы.
Массив значений выделенных строк, если МножественныйВыбор = Истина.


Добавлено через 2 минуты
Расширение таблицы формы для табличных частей (Form table extension for tabular sections)
Свойства:


ОтборСтрок (RowFilter)

Описание:

Дополнительные свойства элемента управления ТаблицаФормы, применимые для табличных частей.
В качестве значений для свойств ТекущаяСтрока, ТекущийРодитель и элемента коллекции, содержащейся в свойстве ВыделенныеСтроки, используется идентификатор строки.
Свойство ТекущиеДанные и метод ДанныеСтроки возвращают структуру, заполненную копией данных. Их изменение не отразится на данных формы.


Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент.
Вопрос: Табличный документ с изменяемым количеством строк в присоединяемой области

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

ТабДок.Вывести(ОбластьСС);
ТабДок.Присоединить(ОбластьСС);

)

формирую отдельный ТабличныйДокумент и оперирую им. Увы и ах - не выходит каменный цветок! В частности, не удается присоединить корректно (без сдвигов и разрывов) сформированные области. Число строк в областях одной строки становится известным на этапе ее формирования (т.е. по всем мега-колонкам в одной мега-строке число строк одинаково).
Спасибо.
Ответ: не, строки)
Т.к. количество проектных задач какой-то категории может быть разным, то делаю так: 1) вычисляю максимальное количество задач в категории, 2) добиваю каждую область колонки отчета пустой строкой из макета до максимального количества строк.
Вопрос: Переход на последнюю строку в табличном поле

Подскажите пожалуйста, как реализовать чтоб при заполнении таб. поля курсор переносился на последнюю строку, а то при каждом выводе списка курсор устанавливается на начало, и становится не видно последние строки? Или чтоб при выводи строки курсор позиционировался на последней?
Ответ:
а как перенаправить порядок ?
Вопрос: ЗУП 3.1.6.37 - 6-НДФЛ строка 130, не отражаются доходы превышаемые вычетами

Доброго времени суток! Перешли с ЗУП 2.5 на ЗУП 3 с 01.01.2018.
Есть сотрудник у которого в декабре 2017 вычеты превышают доход, как следствие в документе "Перенос данных" по данному сотруднику в строке по НДФЛ значение равно 0, а в строке по доходу отражена сумма дохода. Но в строку 130 6-НДФЛ за 1 квартал 2018 она не попадает. Если ставлю сумму НДФЛ, например 1 рубль, то сумма дохода начинает отражаться в строке 130 6-НДФЛ, но при этом и 1 рубль начинает попадать в строку 140.

Это же некорректно? 1С планирует эту ситуацию исправлять? Легко ли она исправляется своими силами? И стоит ли это делать?
По крайней мере в различных источниках указывается, что сумму необходимо указывать в строке 130, даже в случае превышения вычетов над доходом.

Как пример

"Сказанное в какой-то степени подтверждает и налоговая служба, отмечающая, что по строке 130 указывают, в частности, сумму дохода работника за выполнение трудовых обязанностей (без вычитания суммы удержанного НДФЛ), которая установлена трудовым договором (письма ФНС России от 05.08.2016 № БС-4-11/14373@, от 14.06.2016 № БС-3-11/2657@)."

"Строка 130 в 6-НДФЛ предназначена для отражения суммы фактически полученного физическим лицом дохода. При этом доход в ней показывается в полной сумме, до удержания НДФЛ."
Ответ: еще информация по данной ошибке, по идее в 1С должны бы уже о ней знать и выпустить релиз с исправлением?

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

"В 6-НДФЛ на 09.02 формируется 2 комплекта, один с налогом 123 р. по дате уплаты 10.02 из формирующего документа Начисление зарплаты и второй с доходом больничных по дате уплаты концом месяца. Причина - так некорректно делает движения в регистр документ Ведомость на выплату двумя строками, из-за того, что налог с больничного пересчитывает документ Начисление зарплаты и взносов, т.к. именно в нём производится перерасчёт налога январского больничного с датой получения дохода в феврале."
Вопрос: 1с Значение из ячейки предыдущей строки

Доброго времени суток.

Такой вопрос. Как в табличной части документа в ячейке автоматически вставить значение из предыдущей строки.

То есть. В табличной части документа имеется колонка "НомерОтчета". На первой строке этот номер = 1; На второй строке следовательно = 2; На третьей = 3 и так далее. Как бы это начиная со второй строки сделать автоматически?

Вот как я пробовал
1C
1
2
ZZZ = Элемент.Документ1.ТекущиеДанные;
ZZZ.НомерОтчета = Элемент.Документ1.НомерОтчета.ТекущаяСтрока - 1;
Выдает ошибку "Метод объекта не обнаружен "НомерОтчета""

Как еще это можно сделать?
Ответ: LLIATYH, имено со второй? Как пример:
1C
1
2
3
4
5
6
&НаКлиенте
Процедура ТабличнаяЧасть1ПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
    Если НоваяСтрока И Элементы.ТабличнаяЧасть1.ТекущиеДанные.НомерСтроки > 1 Тогда
         Элементы.ТабличнаяЧасть1.ТекущиеДанные.НомерОтчета = Объект.ТабличнаяЧасть1[Элементы.ТабличнаяЧасть1.ТекущиеДанные.НомерСтроки - 2].НомерОтчета + 1; 
    КонецЕсли;  
КонецПроцедуры
вместо "ТабличнаяЧасть1" - вставьте имя вашей табличной части.
Вопрос: Поиск символов в строке

Всем привет.
имеются строки вида:

1. 72-574 L3,0 ШАЙБА РЕГУЛИРОВОЧНАЯ
2. 800.00.1925.0287 IIгр. ШПИЛЬКА
3. 90-1911-1066 ШВЕЛЛЕР N12 L=2400
4. 8-1930-823 СЕТКА N045 ГОСТ 6613-53
5. 8-1910-248 L1,2 ШАЙБА

Так как некоторые "не внимательные" (тут можно подставить любое матерное слово) пользователи не всегда во время замечают свою раскладку на клаве, то появилась необходимость проверить действительно ли слова на русском языке в этих строчках написаны на русском.
Как Вы заметили буржуйские символы могут находится в любом месте строки и при этом быть нужными, а проверять нужно именно такие части строк как:

1. ШАЙБА РЕГУЛИРОВОЧНАЯ
2. гр ШПИЛЬКА
3. ШВЕЛЛЕР
4. СЕТКА ГОСТ
5. ШАЙБА

если есть у кого какие идеи, наработки или видели где тему похожую, то подскажите позязя)

Добавлено через 1 час 2 минуты
извиняюсь поспешил) решение найдено, тему мона закрыть, удалить и придать анафеме)
Ответ: не, по Вашему примеру первая же строка попадёт в набор

1. 72-574 L3,0 ШАЙБА РЕГУЛИРОВОЧНАЯ

даже если часть строки "ШАЙБА РЕГУЛИРОВОЧНАЯ" состоит из кирилицы
чтобы получить требуемые записи нуно будет поделить строку на части, например "по пробелу", проверить каждую получившуюся строчку на присутствие кирилици и тока потом можно применить Вашу конструкцию к каждой отобранной строке.

но, всё равно мерси за не безразличие)
Вопрос: Поиск последней строки

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

Запрос.УстановитьПараметр("Код", Ссылка);
Запрос.УстановитьПараметр("Код", Ссылка);

Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.Текст = "ВЫБРАТЬ
| КА_ПриплодПриплод.НомерБирки,
| КА_Скот.Код
|ИЗ
| Документ.КА_Приплод.Приплод КАК КА_ПриплодПриплод
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КА_Скот КАК КА_Скот
| ПО КА_ПриплодПриплод.НомерМатки = КА_Скот.Ссылка
| И КА_ПриплодПриплод.Скот = КА_Скот.Ссылка
| И КА_ПриплодПриплод.НомерБирки = КА_Скот.Ссылка
|ГДЕ
| КА_ПриплодПриплод.НомерБирки > &Код";
РезультатЗапрос = Запрос.Выполнить().Выгрузить();
ТабПриплод = Приплод;
Строка = ТабПриплод.Добавить();
Строка.ДатаРождения = "ТекущаяДата()";
Если Приплод <> Неопределено Тогда
Для Каждого Строка Из Приплод Цикл
ЗаполнитьЗначенияСвойств(Приплод,Строка);
Строка.ДатаРождения = ТекущаяДата();
КонецЦикла;
КонецЕсли;
Код = Ссылка;
НомерБирки = Ссылка;
Для Каждого НомерБирки Из Приплод Цикл

Если НомерБирки > Код Тогда
НомерБирки = Истина;
КонецЕсли;
Если НомерБирки <= Код Тогда
НомерБирки = Ложь;
НомерБирки.Очистить();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Вот работает только не правильно считает.
Пропускает номера которые уже существуют,а на новые ругается
что сделать?