Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 5
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Войти | Зарегистрироваться )

История благодарностей участнику Макс1С ::: Спасибо сказали: 21 раз
Дата поста: В теме: За сообщение: Спасибо сказали:
15.10.19, 15:43 Как прописать процедуру для элементов формы в глобальном контексте
Цитата(Gigi @ 10.10.19, 16:25) *
Вот эту процедуру придется вставлять в каждую форму объекта.

Предлагаю всё же вставить в каждую форму
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
       ДопОбщийМодуль.ПриСозданииНаСервере(Элементы,Параметры,Отказ, СтандартнаяОбработка);
КонецПроцедуры

а в общий модуль:
Процедура ПриСозданииНаСервере(Элементы,Параметры,Отказ, СтандартнаяОбработка)
    Если Параметры.Ключ.Пустая().Пустая()=Истина Тогда
    Элементы.ФормаКоманднаяПанель.ПодчиненныеЭлементы.ФормаОбщаяКомандаДанныеАвтозаполнения_Назначить.Видимость=Ложь;
    Элементы.ФормаКоманднаяПанель.ПодчиненныеЭлементы.ФормаОбщаяКомандаДанныеАвтозаполнения_Очистить.Видимость=Ложь;
    КонецЕсли;
КонецПроцедуры

В противном случае при необходимости правки, нужно не забыть прошерстить каждую форму.
Gigi,
10.10.19, 13:56 Как прописать процедуру для элементов формы в глобальном контексте
Gigi @ Сегодня, 11:29 * ,
В типовых(унф, ерп) реализовано достаточно неплохо. Общий модуль, в каждой форме вызов одной и той же процедуры.
Например:
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
    
    ПриЧтенииСозданииНаСервере();
    УправлениеСвойствами.ПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);

    МодификацияКонфигурацииПереопределяемый.ПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);

КонецПроцедуры

А в модуле все процедуры изначально пустые. Хочешь, пили прям в модуле события форм всех доков, хочешь - вынеси в расширение и там пили.
#Область ЗаполнениеОбработчиковФормы

// Переопределяемая процедура, вызываемая из одноименного обработчика события формы.
//
// Параметры:
//     Форма - форма, из обработчика события которой происходит вызов процедуры.
//    см. справочную информацию по событиям управляемой формы.
//
Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт

КонецПроцедуры

// Переопределяемая процедура, вызываемая из одноименного обработчика события формы.
//
// Параметры:
//     Форма - форма, из обработчика события которой происходит вызов процедуры.
//    см. справочную информацию по событиям управляемой формы.
//
Процедура ПриЧтенииНаСервере(Форма, ТекущийОбъект) Экспорт
    
КонецПроцедуры

// Переопределяемая процедура, вызываемая из одноименного обработчика события формы.
//
// Параметры:
//     Форма - форма, из обработчика события которой происходит вызов процедуры.
//    см. справочную информацию по событиям управляемой формы.
//
Процедура ПередЗаписьюНаСервере(Форма, Отказ, ТекущийОбъект, ПараметрыЗаписи)Экспорт
    
КонецПроцедуры

// Переопределяемая процедура, вызываемая из одноименного обработчика события формы.
//
// Параметры:
//     Форма - форма, из обработчика события которой происходит вызов процедуры.
//    см. справочную информацию по событиям управляемой формы.
//
Процедура ПослеЗаписиНаСервере(Форма, ТекущийОбъект, ПараметрыЗаписи)Экспорт
    
КонецПроцедуры

#КонецОбласти
Gigi,
10.10.19, 13:28 Проблемы при заполнении накладной на основании реализации
Козлова Татьяна @ Сегодня, 11:46 * ,
Думаю программист здесь не поможет и ошибки именно в программе нет. Скорее всего была предоплата (по счету или договору, в зависимости от настроек договора) и на предоплату выписана НН. Отсюда и сообщение, что сумма неподтвержденных обязательств меньше суммы документа. Например счет на 10000, предоплата 4000 и НН на 4000, в реализации сумма будет 10000, но обязательства всего на 6000.
Предлагаю соглашаться на открытие формы обработки, в ней есть функция (кнопка) "изменить количество"- "пропорционально под сумму обязательств". Собственно такая же процедура должна была быть и при выписке НН на частичную предоплату.
Если предоплат нет или вы считает что их нет - нужно смотреть в отчет(на 100% не помню, но вроде он есть в УТ) "Ожидаемый и подтвержденный НДС продаж", в нём с детализацией до сделки видно на какие суммы уже были выписаны НН. Если и там непонятно - нужно лезть и смотреть регистры и движения документов.
Козлова Татьяна,
01.10.19, 23:25 В оборотке 281 сч не выводит название партий, только три точки
Helen1 @ Вчера, 18:12 * ,
Цитата(Helen1 @ 01.10.19, 18:12) *
обновление или переход через обновление, как вы пишите, может произвести человек не программист?

Если доработок в программе не было , то вполне доступно. У вас должны быть файлы обновлений или действующий договор сопровождения ИТС, но если никогда не делали подобные вещи лучше обратиться к специалисту.
В накладных лучше не подставлять вручную, может привести к "пересорту" партий и выровнять потом будет тяжелее.
Вот!!! Пока писал, вспомнил: аналитика партий будет заполняться только в случае если в настройках учетной политики установлен способ оценки стоимости запасов "ФИФО", если стоит "по средней" - партия всегда будет пустой. После изменений учетной политики также нужно перепровести документы.
Helen1,
01.10.19, 15:27 Створення кнопки на формі табличної частини, на основі якої буде заповнення з іншого документа
bandrah @ Сегодня, 15:53 * ,
Советую покопать в сторону внешней обработки заполнения ТЧ.
Вот очень хороший пример:
Пример внешней обработки заполнения ТЧ
только вместо выбора номенклатуры, вам нужен выбор документа, потом запрос по ТЧ Материалы одного документа и заполнение ТЧ текущего документа.А в таком запросе как у вас выберутся данные из всех документов ОтчетПроизводстваЗаСмену (запросом). И ЗаполнитьЗначенияСвойств() не сработает для табличных частей, только для реквизитов "шапки". Для копирования данных из одного документа в другой, можно делать так:
   
РасходнаяНакладная = Документы.РасходнаяНакладная.СоздатьДокумент();
    // заполняем реквизиты документа
    ЗаполнитьЗначенияСвойств(РасходнаяНакладная, ПриходнаяНакладная, , "Дата, Проведен, ПометкаУдаления");

    // заполняем табличную часть документа
    Для каждого СтрокаСоставаПриходнойНакладной из ПриходнаяНакладная.Состав Цикл
          
        СтрокаСоставаРасходнойНакладной = РасходнаяНакладная.Состав.Добавить();    

        // заполняем значения очередной строки табличной части
        ЗаполнитьЗначенияСвойств(СтрокаСоставаРасходнойНакладной, СтрокаСоставаПриходнойНакладной);      
    КонецЦикла;

взято из ИТС
bandrah,
01.10.19, 11:17 В оборотке 281 сч не выводит название партий, только три точки
Helen1 @ Сегодня, 11:28 * ,
Включение настройки только добавляет субконто в движения по регистру бухгалтерии. Если данная настройка была включена после начала работы с программой, то нужно перепровести все документы (те что касаются товаров) для того, чтобы в движениях появилась аналитика. "..." же означает просто пустую аналитику.

ps. Эта конфигурация уже не обновляется с апреля 2019 года, крайне рекомендую переходить на версию 2.0/2.1. Если только начали работу с программой - тем более лучше начинать на новой, если уже учёт вёлся, можно перейти простым обновлением
Helen1,
28.09.19, 19:49 Как добавить новый реквизит товара в табличную часть расходной накладной 1с 7.7 конф 7.7.003
ZUBR @ Сегодня, 19:38 * ,
В 7.7. надо всё проще, немного усложнили.
Процедура Виконав()       //расчет зп по документу
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
  ЗП = СуммаСНДС*0.4;
//или
  ЗП = СуммаСНДС*Товар.КЗП; // где "Товар" - имя колонки в ТЧ; "КЗП" - имя добавленного в товар реквизита
КонецЦикла;    
КонецПроцедуры

А в остальном, если по примерам не понятно и не получается, то без 100 грамм вашего 1cv7.md не разобраться.

В хитросплетениях не надо разбираться, всё должно происходить в форме документа в процедуре указанной в формуле поля ввода товара
ZUBR,
27.09.19, 17:13 Проблема с РегистрНакопления.<Имя регистра>.ОстаткиИОбороты
AlexeyTN @ Сегодня, 17:14 * ,
Действительно, отображаются все позиции по которым есть или обороты или остатки.
Нужно или добавить условие
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    ЗаказыПоставщикамОстаткиИОбороты.ДоговорКонтрагента,
        |    ЗаказыПоставщикамОстаткиИОбороты.Номенклатура
        |ИЗ
        |    РегистрНакопления.ЗаказыПоставщикам.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Регистратор, , ) КАК ЗаказыПоставщикамОстаткиИОбороты
        |ГДЕ
        |    ЗаказыПоставщикамОстаткиИОбороты.КоличествоОборот <> 0";

или брать таблицу оборотов
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    ЗаказыПоставщикамОбороты.ДоговорКонтрагента,
        |    ЗаказыПоставщикамОбороты.Номенклатура
        |ИЗ
        |    РегистрНакопления.ЗаказыПоставщикам.Обороты(&НачалоПериода, &КонецПериода, Регистратор, ) КАК ЗаказыПоставщикамОбороты";

AlexeyTN,
27.09.19, 8:31 Помогите понять принцип создания запросов в 1с 7.7 конф 7.7.00
ZUBR @ Вчера, 22:24 * ,
Для каждой группировки итоги (функции запроса) рассчитаны и доступны при обходе циклами.
Вот такую таблицу генерирует конструктор запроса:

и обработку результата запроса:
     Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать"); // это имя макета
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
        // Заполнение полей Родитель
        Таб.ВывестиСекцию("Родитель");
        Пока Запрос.Группировка(2) = 1 Цикл
            // Заполнение полей Контрагент
            Таб.ВывестиСекцию("Контрагент");
            Пока Запрос.Группировка(3) = 1 Цикл
                // Заполнение полей ТМЦ
                Таб.ВывестиСекцию("ТМЦ");
                Пока Запрос.Группировка(4) = 1 Цикл
                    // Заполнение полей ТекущийДокумент
                    Таб.ВывестиСекцию("ТекущийДокумент");
                КонецЦикла;
            КонецЦикла;
        КонецЦикла;
    КонецЦикла;
    // Заполнение полей "Итого"
    Таб.ВывестиСекцию("Итого");
    // Вывод заполненной формы
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");

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

Ещё нюанс, который наглядно видно на макете - на верхних уровнях ничего не известно о том что будет во вложенном цикле, поэтому на макете такая лесенка. В самом первом цикле мы можем вывести только Родителя(группировочное поле, а также его реквизиты), количество и сумму (функции).
ZUBR,
26.09.19, 20:27 Помогите понять принцип создания запросов в 1с 7.7 конф 7.7.00
ZUBR @ Сегодня, 20:39 * ,
группировки можно представить в виде дерева или вот таких "группировок" таблицы которая получается в результате выполнения запроса

в 7.7 в запросе должна быть как минимум одна группировка - это будет соответствовать простой таблице без "вложенностей".
2 группировки будут означать "дерево" из 2х уровней вложенности, 3 - из 3х и т.д.
Несмотря на то, что картинка из 1С8 и там принцип чуть другой, результат в отчете примерно такой же.

Также для каждой группировки рассчитываются функции запроса. На картинке например это Количество и Сумма
Примерно такой запрос мог быть для отчета как на картинке:
    
        Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Контрагент = Документ.РасходнаяНакладная.Контрагент;
    |ТМЦ = Документ.РасходнаяНакладная.ТМЦ;
    |ТекущийДокумент = Документ.РасходнаяНакладная.ТекущийДокумент;
    |Кво = Документ.РасходнаяНакладная.Кво;
    |СуммаСНДС = Документ.РасходнаяНакладная.СуммаСНДС;
    |Родитель = Документ.РасходнаяНакладная.Контрагент.Родитель;
    |Функция ИтогКоличество = Сумма(Кво);
    |Функция ИтогСумма = Сумма(СуммаСНДС);
    |Группировка Родитель;
    |Группировка Контрагент;
    |Группировка ТМЦ;
    |Группировка ТекущийДокумент;
    |Условие(ТМЦ в ВыбТМЦ);
    |"//}}ЗАПРОС
;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    Пока Запрос.Группировка(1) = 1 Цикл
        // Заполнение полей Родитель
        Пока Запрос.Группировка(2) = 1 Цикл
            // Заполнение полей Контрагент
            Пока Запрос.Группировка(3) = 1 Цикл
                 // Заполнение полей ТМЦ
                Пока Запрос.Группировка(4) = 1 Цикл
                    // Заполнение полей ТекущийДокумент
                КонецЦикла;
            КонецЦикла;
        КонецЦикла;
    КонецЦикла;

если оставим обход запроса только по одной группировке - получим обычную таблицу без вложений
Пока Запрос.Группировка(1) = 1 Цикл

КонецЦикла;

в данном случае параметр функции Группировка() = 1 , это соответствует родителю, папке с клиентами.
получим таблицу такого вида (например у нас все клиенты находятся в группах: "покупатели мелкий опт" и "покупатели диллеры")

Родитель ИтогоСумма ИтогоКоличество
"покупатели мелкий опт" 23423,00 44
"покупатели диллеры" 1231545,00 444






ZUBR,
24.09.19, 21:03 Как настроить печатную форму в 1С 7.70.003 торговля склад для Украины?
ZUBR @ Сегодня, 21:53 * ,
Обратите внимание на пунктирные линии по горизонтали и вертикали, это границы печатной формы, передвигаются автоматически, достаточно активировать какую-то ячейку в колонке/строчке.

Нужно удалить эти пустые колонки и строки до ячеек с данными
takefive, ZUBR,
19.09.19, 13:37 Помогите понять принцип создания запросов в 1с 7.7 конф 7.7.00
ZUBR @ Сегодня, 2:11 * ,
Попробуйте
|Функция КолСис = Счетчик(Товар);


надо же сказать программе что мы будем считать )))

Макс1С @ Сегодня, 13:37 * ,
сорри, не досмотрел: через букву "ё"

|Функция КолСис = Счётчик(Товар);


В качестве примера предлагаю так переделать запрос:

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


По группировкам хочу добавить:
результат запроса больше будет похож на дерево, т.е. в первом цикле мы обойдем только одну группировку - Инженеров, во вложенном цикле для каждого инженера мы обойдем все услуги которые он указывал и т.д.

и таких группировок и вложенных циклов может быть сколько угодно.
к тому же такое исполнение (всё что можно выбрать в запросе, выбираем в запросе) является более "правильным" с точки зрения методологии разработки, да и работать должно быстрее чем выполнение запроса внутри цикла.
ZUBR,
15.09.19, 23:56 В чем ошибка условия? 1С 7.70.003 торговля склад для Украины?
ZUBR @ Вчера, 23:13 * ,
во-первых: Сообщить() возвращает строковое представление, для справочников это по-умолчанию наименование.
во-вторых: без отладчика точно сказать по куску кода невозможно, как писали выше.
в 3-х: .Наименование - просто реквизит справочника(надеюсь Сотрудники)

из всего этого выплывает: возможно в документе тип не Сотрудник, а Пользователи например, и мы сравниваем только названия разнотипных справочников (что в целом не очень хорошо)
даже если справочник правильный, может быть ситуация когда случайно задублировали сотрудника - в таблицу попадет 2 одинаковых строки и для каждого будет суммарное количество документов.

Поэтому сравнивать, конечно, лучше ссылки и правильный код тогда:
ТЗ.Сотрудник = Спр.ТекущийЭлемент();
//////
......
//////
Если ТЗ.Сотрудник = Расх.Инженер Тогда

, проверив отладчиком типы, или сделать запросом.



без отладчика можно проверить так:

  Сообщить("Инж:"+ Расх.Инженер.Вид());
  Сообщить("Сотр:"+ ТЗ.Сотрудник.Вид());
ZUBR,
15.09.19, 20:23 В чем ошибка условия? 1С 7.70.003 торговля склад для Украины?
Это, конечно, не решение описанной ошибки, но решения для достижения результата - ТЗ со списком у какого из инженеров сколько документов. Возможно кто-то поправит, не помню есть ли в 7.7 в запросе функция по аналогии с "Количество различных", кажется нет, поэтому складываю количество в обработке запроса.

Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Автор = Документ.РасходнаяНакладная.Автор;
    |ТекущийДокумент = Документ.РасходнаяНакладная.ТекущийДокумент;
    |Группировка Автор;
    |Группировка ТекущийДокумент;
    |"//}}ЗАПРОС
;

    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;
                  
    ТЗ = СоздатьОбъект("ТаблицаЗначений");
    
    ТЗ.НоваяКолонка ("Сотрудник");
    ТЗ.НоваяКолонка ("КолСис");   // количество систем
    
    Пока Запрос.Группировка(1) = 1 Цикл
        ТЗ.НоваяСтрока();
        ТЗ.Сотрудник = Запрос.Автор;

        К = 0;
        Пока Запрос.Группировка(2) = 1 Цикл
            К = К + 1;
        КонецЦикла;
        
        ТЗ.КолСис = К;
    КонецЦикла;


а в целом в такой ситуации, когда непонятно почему так происходит - отладчик в помощь, точку останова на "Если ТЗ.Сотрудник = Расх.Инженер" и смотреть что в одном поле и в другом. Но в первую очередь - согласен с предыдущим оратором - типы разные, строка сравнивается со справочником. Как варик - привести всё к строкам:
ТЗ.Сотрудник = Спр.Наименование;
//////
......
//////
Если ТЗ.Сотрудник = Расх.Инженер.Наименование Тогда
ZUBR,
12.09.19, 11:49 Суммирует номенклатуру приложения 2 к НН при вигрузке в xml или FREDO
Sirius83 @ Сегодня, 12:42 * ,
Корректировка заполнена неверно и ДФС не примет её. Обязательно нужно заполнить колонки в 1С:
номер строки НН - изменения в порядке заполнения ещё с 01.04.2018 если не ошибаюсь
код причины и № группы корректировки - эти изменения порядка заполнения этого года.

Для помощи в заполнении есть кнопка вверху "Преобразовать", инструкция есть в описании к обновлению (Справка - Дополнение к описанию)
В двух словах - на основании возвратной делаем Прил2, заполняется одна строчка, после преобразования программа разобьет на 2(в случае частичного возврата) и заполнит новые, обязательные колонки

ps. Бухгалтеру обязательно проштудировать Порядок заполнения НН и Приложений 2, и таких вопросов возникать не будет.
Sirius83,
12.09.19, 11:25 Другие контакты в Адреса Организации и Контрагенти
bandrah @ Вчера, 11:57 * ,
Данные сохраняются в табличной части "Контактная информация" справочника, если речь идет о новых конфигурациях Бухгалтерия 2.0/2.1, УТ 3.1, BAS ERP и т.д.
bandrah,
10.09.19, 19:07 Работает ли у вас Клиент-банк Приват + Бухгалтерия 1.2? Ждать ли обновления Бух 1.2?
andreykyiv@bigmir.net @ Сегодня, 16:32 * ,
Дело в том что поменялось несколько моментов в файлах импорта из привата:
1. Имя файла больше 8 символов, 1С до сих пор не умеет их открывать. Обход - переименовываем.
2. Р/счет организации теперь всегда в одной колонке (COUNT_A)
3. Р/счет может быть как в формате IBAN так и в старом
4. Поменялся формат даты платежа
5. Поменялось обозначение вида операции (приход/расход)

В большинстве обработок на основе распространяемой АБИ (Конто) где под каждый формат банка используется мини-обработка достаточно поменять несколько строк.

Функция ИмпортDBF(Параметры)
    ФайлDBF = Новый XBase;
    ФайлDBF.Кодировка = КодировкаXBase[Параметры.КодировкаФайла];    //DOS
    
    ИмяФайла = Параметры.ИмяФайла;
    
    Попытка
        ФайлDBF.ОткрытьФайл(ИмяФайла,,Истина); //Только для чтения
    Исключение
        Предупреждение("Ошибка открытия файла " + ИмяФайла);
        Возврат Неопределено;
    КонецПопытки;        
    
    Если НЕ ФайлDBF.Открыта() Тогда
        Предупреждение("Ошибка открытия файла " + ИмяФайла);
        Возврат Неопределено;
    КонецЕсли;
    
    тзВыписка =  Новый ТаблицаЗначений;
    тзВыписка.Колонки.Добавить("НомерПП");
    тзВыписка.Колонки.Добавить("Приход");
    тзВыписка.Колонки.Добавить("Расход");
    тзВыписка.Колонки.Добавить("ОКПО");
    тзВыписка.Колонки.Добавить("Контрагент");
    тзВыписка.Колонки.Добавить("МФО");
    тзВыписка.Колонки.Добавить("РСчет");
    тзВыписка.Колонки.Добавить("Содержание");
    
    ФайлDBF.Первая();
    Пока НЕ ФайлDBF.ВКонце() Цикл
        // проверка на дату платежа
        Если ФайлDBF.DATE <> Параметры.ДатаДок И СокрЛП(ФайлDBF.DATE) <> Формат(Параметры.ДатаДок,"ДФ=dd.MM.yyyy") Тогда
            ФайлDBF.Следующая();
            Продолжить;
        КонецЕсли;    
        
        НомерСчетаА = СокрЛП(ФайлDBF.COUNT_A);
        НомерСчетаБ = СокрЛП(ФайлDBF.COUNT_B);
        
        Если СтрДлина(НомерСчетаА) = 14 Тогда
            ПоискСчета = НомерСчетаА;
        Иначе
            ПоискСчета = Прав(НомерСчетаА,14);
        КонецЕсли;
                
        Если Найти(Параметры.Рсчет,ПоискСчета) = 0 Тогда
            ФайлDBF.Следующая();
            Продолжить;
        КонецЕсли;
        
        Если СокрЛП(ФайлDBF.TIP) = "D;R;" Тогда
            НовСтрока = тзВыписка.Добавить();
            НовСтрока.РСчет            = СокрЛП(Формат(НомерСчетаБ,"ЧГ=0"));
            НовСтрока.МФО             = СокрЛП(Формат(ФайлDBF.MFO_B,"ЧГ=0"));
            НовСтрока.ОКПО            = СокрЛП(Формат(ФайлDBF.OKPO_B,"ЧГ=0"));
            НовСтрока.Контрагент    = СокрЛП(ФайлDBF.NAME_B);
            НовСтрока.Приход        = 0;
            НовСтрока.Расход        = -ФайлDBF.SUMMA;
        ИначеЕсли СокрЛП(ФайлDBF.TIP) = "C;R;" Тогда
            НовСтрока = тзВыписка.Добавить();
            НовСтрока.РСчет            = СокрЛП(Формат(НомерСчетаБ,"ЧГ=0"));
            НовСтрока.МФО             = СокрЛП(Формат(ФайлDBF.MFO_B,"ЧГ=0"));
            НовСтрока.ОКПО            = СокрЛП(Формат(ФайлDBF.OKPO_B,"ЧГ=0"));
            НовСтрока.Контрагент    = СокрЛП(ФайлDBF.NAME_B);
            НовСтрока.Приход        = ФайлDBF.SUMMA;
            НовСтрока.Расход        = 0;
        Иначе    
            ФайлDBF.Следующая();
            Продолжить;
        КонецЕсли;
        
        НовСтрока.НомерПП             = СокрЛП(ФайлDBF.N_D);
        НовСтрока.Содержание         = СокрЛП(СтрЗаменить(ФайлDBF.N_P,Символы.ПС," "));
        
        ФайлDBF.Следующая();
    КонецЦикла;    
    
    Если НЕ тзВыписка.Количество() И ФайлDBF.КоличествоЗаписей() Тогда
        Предупреждение("В текущем файле нет платежей с данной датой выписки и расчетным счетом!");
    КонецЕсли;
    
    ФайлDBF.ЗакрытьФайл();
    
    Возврат тзВыписка;
    
КонецФункции


kihor @ Сегодня, 17:58 * ,
Кстати да. Уже можно переводить на 2.1 BAS Бухгалтерию))

В Бухгалтерии 1.2 нужно не забыть увеличить длину поля НомерСчета в справочнике Банковские счета до 29 символов
andreykyiv@bigmir.net,
10.09.19, 18:49 Подразделение в расчетной ведомости организации
aik2001 @ Сегодня, 18:00 * ,
не то же самое, конструкция в фигурных скобках используется построителем отчета и в случае пустых значений просто игнорируется.
По сути, в зависимости от выбранных на форме отборов, исполняемый в БД запрос(текст запроса) может быть разным. Не проверял на практике, но думаю профайлером SQL это будет видно наглядно

aik2001 @ Сегодня, 18:00 * ,
+ к тому же это параметры виртуальной таблицы, это совсем не то же самое что условия в разделе "ГДЕ"
аналог запроса без конструкций для построителя была бы:
ВЫБРАТЬ
    Работники.Организация,
    Работники.Сотрудник,
    Работники.ПодразделениеОрганизации
ИЗ
    РегистрСведений.РаботникиОрганизаций.СрезПоследних(КОНЕЦПЕРИОДА(&Период, МЕСЯЦ), ПодразделениеОрганизации = &ПодразделениеОрганизации И Организация = &Организация) КАК Работники
aik2001,
06.09.19, 14:44 Не работает сортировака Аналогов
bizisoft @ Сегодня, 3:05 * ,
Ага, вот что я пропустил:
ЭлементыФормы.АналогиОбъединеное

это РегистрСведенийСписок с добавленными на форме колонками. Действительно по добавленным сортировать не получится.
Лучше заменить этот стандартный элемент формы на простую таблицу значений, выгрузить в неё результат исходного запроса с остатками (можно добавить чего хочется), и , если сильно нужно, описать обработчики событий для нового элемента формы по аналогии со штатным.
bizisoft,
02.09.19, 22:41 Как создать отчет с суммой по отдельной позиции табличной части расходных накладных в 1С 7.70.003 торговля склад для Украины
ZUBR @ Сегодня, 23:25 * ,
переменную "ремонт" нужно определить до запроса.

Ремонт = СоздатьОбъект("Справочник.ТМЦ");
   Ремонт.НайтиПоНаименованию("Ремонт");


только в торговле по-моему справочник "Товары"
ZUBR,

RSS Текстовая версия Сейчас: 23.10.19, 12:40
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!