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

Хранилище

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

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

3 страниц V   1 2 3 >

>  Объеденение полей запроса
Макс1С
Отправлено: 15.10.19, 15:47


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


ТС ушёл куда-то, видимо.
Я вижу решение такой задачи в динамическом формировании текста запроса с левыми соединениями по IDродителей. В цикле по возможному количеству вложенностей подзадач.
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #156535 · Ответов: 8 · Просмотров: 450
 

>  Как прописать процедуру для элементов формы в глобальном контексте
Макс1С
Отправлено: 15.10.19, 15:43


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


Цитата(Gigi @ 10.10.19, 16:25) *
Вот эту процедуру придется вставлять в каждую форму объекта.

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

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

В противном случае при необходимости правки, нужно не забыть прошерстить каждую форму.
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #156534 · Ответов: 7 · Просмотров: 386
 

>  Заполнение счетов учета при импорте контрагентов
Макс1С
Отправлено: 15.10.19, 15:36


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


n25 @ 11.10.19, 20:58 * ,
Данный механизм не реализован в этой конфигурации, но присутствует в других: Бухгалтерия, УТП, УПП, там есть регистр сведений, который можно настроить счета для группы или для каждого клиента(в УНФ такого нет). Поэтому - мой предыдущий пост.
  Форум: 1С Управление небольшой фирмой для Украины · Просмотр сообщения: #156533 · Ответов: 6 · Просмотров: 139
 

>  Как прописать процедуру для элементов формы в глобальном контексте
Макс1С
Отправлено: 10.10.19, 13:56


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


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

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

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

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

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

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

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

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

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

#КонецОбласти
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #156411 · Ответов: 7 · Просмотров: 386
 

>  Заполнение счетов учета при импорте контрагентов
Макс1С
Отправлено: 10.10.19, 13:37


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


n25 @ Сегодня, 14:19 * ,
Только править их обработку. В УНФ в конфигураторе задано значение заполнения этих реквизитов предопределенными элементами плана счетов. При ручном создании всё заполняется, при программном - нужно менять код обработки.
Или править УНФ, в процедуру ПередЗаписью модуля объекта справочника добавить проверку: если не заполнены счета учета - заполнить значениями по умолчанию
  Форум: 1С Управление небольшой фирмой для Украины · Просмотр сообщения: #156408 · Ответов: 6 · Просмотров: 139
 

>  Формирование QR-кодов нативными средствами 1С (компонента из БСП)
Макс1С
Отправлено: 10.10.19, 13:33


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


cos12 @ Сегодня, 14:22 * ,
помочь человеку-то надо, а там глядишь и почитает правила из любопытства, что там ещё что-то интересное есть
  Форум: Отчеты / Обработки · Просмотр сообщения: #156406 · Ответов: 6 · Просмотров: 428
 

>  Проблемы при заполнении накладной на основании реализации
Макс1С
Отправлено: 10.10.19, 13:28


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


Козлова Татьяна @ Сегодня, 11:46 * ,
Думаю программист здесь не поможет и ошибки именно в программе нет. Скорее всего была предоплата (по счету или договору, в зависимости от настроек договора) и на предоплату выписана НН. Отсюда и сообщение, что сумма неподтвержденных обязательств меньше суммы документа. Например счет на 10000, предоплата 4000 и НН на 4000, в реализации сумма будет 10000, но обязательства всего на 6000.
Предлагаю соглашаться на открытие формы обработки, в ней есть функция (кнопка) "изменить количество"- "пропорционально под сумму обязательств". Собственно такая же процедура должна была быть и при выписке НН на частичную предоплату.
Если предоплат нет или вы считает что их нет - нужно смотреть в отчет(на 100% не помню, но вроде он есть в УТ) "Ожидаемый и подтвержденный НДС продаж", в нём с детализацией до сделки видно на какие суммы уже были выписаны НН. Если и там непонятно - нужно лезть и смотреть регистры и движения документов.
  Форум: Управление торговлей для Украины редакция 2 (Уп... · Просмотр сообщения: #156405 · Ответов: 1 · Просмотров: 90
 

>  Объеденение полей запроса
Макс1С
Отправлено: 10.10.19, 8:45


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


TailorMade @ Сегодня, 9:04 * ,
Уточню, вы хотите получить дерево задач с подзадачами? Количество уровней подзадач чем-то ограничено или нет(у подзадач будут свои подзадачи)?
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #156394 · Ответов: 8 · Просмотров: 450
 

>  Формирование QR-кодов нативными средствами 1С (компонента из БСП)
Макс1С
Отправлено: 09.10.19, 16:56


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


maldinitaly @ Сегодня, 12:08 * ,
Если бы правила прочитали при регистрации - знали бы пароль )))
ps. пароль: pro1c.org.ua
  Форум: Отчеты / Обработки · Просмотр сообщения: #156365 · Ответов: 6 · Просмотров: 428
 

>  Как программно получить цену по договору
Макс1С
Отправлено: 09.10.19, 16:54


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


TailorMade @ Сегодня, 17:48 * ,
Сверьте дату/время документа в котором запускаете и дату установки цен, скорее в этом дело. А без даты в срезе последних вы получите абсолютно все записи(историю) цен по указанной номенклатуре
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #156364 · Ответов: 11 · Просмотров: 160
 

>  В печатной форме вместо фирмы НеизвестныйОбъект 1с 7.7 конф 7.7.003
Макс1С
Отправлено: 07.10.19, 10:29


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


andrew76 @ Сегодня, 9:46 * ,
Прокатит. Я имел ввиду если в базу одновременно заходят только с 7 или 10, обычно достаточно "+ текущая системная установка" и региональные настройки. Но если заходят и с ХР и с 7 или 10 - тогда с машины на ХР будет ругаться на "+ текущая системная установка"
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #156271 · Ответов: 18 · Просмотров: 328
 

>  Обробка "Обмін з банком" для БУ 2.0
Макс1С
Отправлено: 07.10.19, 8:42


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


igmig65 @ Сегодня, 8:42 * ,
Судя по всему ошибка в самом ОбмінЗБанком_ОбробкаФормату_DBF.epf, об этом и сообщение "Помилка файлу обробки формату"
Нужно смотреть отладчиком где возникает такой текст ошибки и разбираться, но это в другую тему.

А приват вроде поменял формат выгрузки, после начала использования IBAN: имя файла теперь такого вида 0000001625865193.1.0.dbf, соответсвенно нужно переименовывать перед загрузкой
названия полей те же, но начинка немного другая.
  Форум: Отчеты / Обработки · Просмотр сообщения: #156268 · Ответов: 142 · Просмотров: 20972
 

>  В печатной форме вместо фирмы НеизвестныйОбъект 1с 7.7 конф 7.7.003
Макс1С
Отправлено: 07.10.19, 8:30


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


ZUBR @ Вчера, 18:57 * ,
Не припомню чтобы нормально работало на 7 или 10 с вариантом отличным от "+ текущая системная установка".
В общем-то поддержка платформы 1С 7.7 (само приложение, не конфигурации) закончилась в 2003 году и все виндовсы после ХР и 2003 серверной могут работать с такими глюками.
В данной ситуации нужно проверить, что в конфигурации стоит кодировка именно "+ текущая системная установка", и на всех машинах с которых заходят в базу в региональных стандартах указано местоположение Россия/язык русский. По моему также подойдет Украина/украинский, главное чтобы не в перемешку (Россия/украинский или Украина/российский). Если к базе есть вход с машин с разными виндами и , в особенности, если есть ХР, можно положить в каталог с базой файл с именем OrdNoChk.prm (сохранить пустой текстовый файл с именем OrdNoChk и поменять расширение на *.prm). Этот файл просто отключит проверку кодовой страницы, такую ошибку не устраняет, а убирает сообщение при старте программы о несоответствии кодовой страницы настройкам винды.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #156267 · Ответов: 18 · Просмотров: 328
 

>  Помогите понять принцип создания запросов в 1с 7.7 конф 7.7.00
Макс1С
Отправлено: 04.10.19, 14:36


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


ZUBR @ Вчера, 17:43 * ,
На примере этого запроса:
    ТекстЗапросаАкс = 
    "
    |Период с НачДата по КонДата;
    |ОбрабатыватьДокументы Проведенные;
    |СтатусЗаказа = Документ.РасходнаяНакладная.СтатусЗаказа;    
    |Товар = Документ.РасходнаяНакладная.Товар;
    |СуммаСНДС = Документ.РасходнаяНакладная.СуммаСНДС;
    |Функция СумАкс = Сумма(СуммаСНДС);
    |Группировка Товар Без Групп;
    |Условие (СтатусЗаказа = Перечисление.Статусы.Акс);";
  
Запрос.Выполнить(ТекстЗапросаАкс);  //*1

    Пока Запрос.Группировка() = 1 Цикл   //*2
        СумАкс = Запрос.СумАкс;
    КонецЦикла;
Сообщить("Сумма акс:"+СумАкс); //*3


//*1 - на этой строке у нас выполняется запрос и мы получаем таблицу с колонками "Товар" и "СумАкс" в которой строк будет столько, сколько разных товаров мы продали за период
пусть будет 3 строки: Товар1 на сумму 5000,00, Товар2 - 7000,00, Товар3- 3000,00

//*2 - в цикле мы обходим строки этой талицы, т.е. код внутри цикла выполнится 3 раза. Если мы условно уберем цикл, то наш код (напишу со значениями которые записываем в переменную) будет выглядеть примерно так:
СумАкс = 5000;
СумАкс = 7000;
СумАкс = 3000;
т.е. мы в одну переменную просто три раза присваиваем разные значения

и вот когда мы доходим до //*3 - у нас будет СумАкс = 3000; - именно последнее значение которое мы туда записали.

А если сделаем так:
СумАкс = 0;
Пока Запрос.Группировка() = 1 Цикл
    СумАкс = СумАкс  + Запрос.СумАкс;
КонецЦикла;
Сообщить("Сумма акс:"+СумАкс);

после выхода из цикла у нас СумАкс = 15000,00.

Если у вас на выходе получается сумма, то это магия или я совсем ничего не понимаю в 1С 7.7)))

PS. Ваш вариант сработает в случае, если во всей выборке запроса будет всего 1 товар(точнее во всех документах из выборки будет одинаковый товар) и цикл выполнится 1 раз
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #156197 · Ответов: 43 · Просмотров: 1004
 

>  Помогите понять принцип создания запросов в 1с 7.7 конф 7.7.00
Макс1С
Отправлено: 03.10.19, 8:22


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


andrew76 @ Вчера, 16:03 * ,
но как минимум вот такие конструкции надо поменять:
    Пока Запрос.Группировка() = 1 Цикл
        Вал = Запрос.Сум;
        СумУс = Запрос.СумУс;
    КонецЦикла;
.............
Пока Запрос.Группировка() = 1 Цикл
        СумАкс = Запрос.СумАкс;
    КонецЦикла;

на
  
Вал  = 0;
СумУс = 0;  
СумАкс = 0;

Пока Запрос.Группировка() = 1 Цикл
        Вал = Вал + Запрос.Сум;
        СумУс = СумУс  + Запрос.СумУс;
    КонецЦикла;
.............
Пока Запрос.Группировка() = 1 Цикл
        СумАкс = СумАкс  + Запрос.СумАкс;
    КонецЦикла;

А то получим только результат последнего элемента выборки в каждом случае. Возможно в тестовой базе 1 документ удовлетворяющий условиям поэтому создается впечатление, что всё правильно

  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #156156 · Ответов: 43 · Просмотров: 1004
 

>  Помогите понять принцип создания запросов в 1с 7.7 конф 7.7.00
Макс1С
Отправлено: 02.10.19, 8:14


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


ZUBR @ Сегодня, 0:55 * ,
Предлагаю для начал изложить цель этой процедуры, пользовательскую историю, так сказать. Чего хочется получить, какова конечная цель отчета? Потому что первое впечатление, что оно работает не так )))
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #156133 · Ответов: 43 · Просмотров: 1004
 

>  В оборотке 281 сч не выводит название партий, только три точки
Макс1С
Отправлено: 01.10.19, 23:25


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


Helen1 @ Вчера, 18:12 * ,
Цитата(Helen1 @ 01.10.19, 18:12) *
обновление или переход через обновление, как вы пишите, может произвести человек не программист?

Если доработок в программе не было , то вполне доступно. У вас должны быть файлы обновлений или действующий договор сопровождения ИТС, но если никогда не делали подобные вещи лучше обратиться к специалисту.
В накладных лучше не подставлять вручную, может привести к "пересорту" партий и выровнять потом будет тяжелее.
Вот!!! Пока писал, вспомнил: аналитика партий будет заполняться только в случае если в настройках учетной политики установлен способ оценки стоимости запасов "ФИФО", если стоит "по средней" - партия всегда будет пустой. После изменений учетной политики также нужно перепровести документы.
  Форум: Бухгалтерия 8, редакция 1 для Украины · Просмотр сообщения: #156116 · Ответов: 7 · Просмотров: 191
 

>  Створення кнопки на формі табличної частини, на основі якої буде заповнення з іншого документа
Макс1С
Отправлено: 01.10.19, 15:27


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


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

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

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

взято из ИТС
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #156108 · Ответов: 3 · Просмотров: 155
 

>  В оборотке 281 сч не выводит название партий, только три точки
Макс1С
Отправлено: 01.10.19, 11:17


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


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

ps. Эта конфигурация уже не обновляется с апреля 2019 года, крайне рекомендую переходить на версию 2.0/2.1. Если только начали работу с программой - тем более лучше начинать на новой, если уже учёт вёлся, можно перейти простым обновлением
  Форум: Бухгалтерия 8, редакция 1 для Украины · Просмотр сообщения: #156098 · Ответов: 7 · Просмотров: 191
 

>  Как добавить новый реквизит товара в табличную часть расходной накладной 1с 7.7 конф 7.7.003
Макс1С
Отправлено: 28.09.19, 19:49


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


ZUBR @ Сегодня, 19:38 * ,
В 7.7. надо всё проще, немного усложнили.
Процедура Виконав()       //расчет зп по документу
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
  ЗП = СуммаСНДС*0.4;
//или
  ЗП = СуммаСНДС*Товар.КЗП; // где "Товар" - имя колонки в ТЧ; "КЗП" - имя добавленного в товар реквизита
КонецЦикла;    
КонецПроцедуры

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

В хитросплетениях не надо разбираться, всё должно происходить в форме документа в процедуре указанной в формуле поля ввода товара
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #156044 · Ответов: 8 · Просмотров: 557
 

>  Как добавить новый реквизит товара в табличную часть расходной накладной 1с 7.7 конф 7.7.003
Макс1С
Отправлено: 27.09.19, 17:25


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


ZUBR @ Сегодня, 16:07 * ,
В форме подбора видно добавленную колонку потому, что это всё поля одной таблицы (справочник товаров) , а ТЧ документа это совсем другая таблица (и физически тоже), в ней есть свои поля - Товар мы заполняем вручную, но программа не знает что поле "ЗП" должно заполнятся из реквизита товара.

на элементе уже всё прописано, в формуле указана процедура которая вызывается после выбора Товара

Вот в ней и надо прописать заполнение добавленной колонки из реквизита.
Процедура ИзмТМЦ() // процедура из формулы элемента формы
    Если ТМЦ.Выбран()=1 Тогда
        ......        
        ЗП = ТМЦ.ЗП * Кво;
    КонецЕсли;
КонецПроцедуры

Этот пример из бухгалтерии, в торговле может по другому называться процедура и колонка с товаром (ТМЦ - название справочника товаров и реквизита ТЧ в расходной накладной в бухгалтерии, сейчас нет под рукой торговли)

Также стоит обратить внимание на следующую процедуру:
Процедура ОбработкаПодбора(Выб)
    Если глОбработатьПодбор(Контекст,Выб) = 1 Тогда
        ИзмТМЦ();
    КонецЕсли;
КонецПроцедуры

Это предопределенная процедура, срабатывает когда добавляем товары через подбор. Ключевой момент что в ней вызывается та же процедура(ИзмТМЦ() - у вас может быть другая), что и при ручном изменении. Это правильный подход, так как позволяет в одном месте менять логику поведения программы в разных, но похожих событиях.
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #156028 · Ответов: 8 · Просмотров: 557
 

>  Проблема с РегистрНакопления.<Имя регистра>.ОстаткиИОбороты
Макс1С
Отправлено: 27.09.19, 17:13


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


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

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

  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #156027 · Ответов: 2 · Просмотров: 185
 

>  Как добавить новый реквизит товара в табличную часть расходной накладной 1с 7.7 конф 7.7.003
Макс1С
Отправлено: 27.09.19, 14:19


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


ZUBR @ Сегодня, 2:17 * ,
я бы ещё на количество умножал, на случай если товар/услуга в документе не в единственном экземпляре

Процедура ИзмТМЦ() // процедура из формулы элемента формы
    Если ТМЦ.Выбран()=1 Тогда
        ......        
        ЗП = ТМЦ.ЗП * Кво;
    КонецЕсли;
КонецПроцедуры
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #156019 · Ответов: 8 · Просмотров: 557
 

>  Помогите понять принцип создания запросов в 1с 7.7 конф 7.7.00
Макс1С
Отправлено: 27.09.19, 8:31


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


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

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

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

Ещё нюанс, который наглядно видно на макете - на верхних уровнях ничего не известно о том что будет во вложенном цикле, поэтому на макете такая лесенка. В самом первом цикле мы можем вывести только Родителя(группировочное поле, а также его реквизиты), количество и сумму (функции).
  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #156005 · Ответов: 43 · Просмотров: 1004
 

>  Помогите понять принцип создания запросов в 1с 7.7 конф 7.7.00
Макс1С
Отправлено: 26.09.19, 20:27


Говорящий
***

Группа: Пользователи
Сообщений: 58
Регистрация: 02.12.13
Из: Днепр
Пользователь №: 31678


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






  Форум: Программирование в 1С Предприятие 7.7 · Просмотр сообщения: #155984 · Ответов: 43 · Просмотров: 1004
 

3 страниц V   1 2 3 >

Новые сообщения  Открытая тема (есть новые ответы)
Опрос  Опрос (есть новые голоса)
Нет новых сообщений  Открытая тема (нет новых ответов)
Нет новых голосов  Опрос (нет новых голосов)
Популярная тема  Горячая тема (есть новые ответы)
Закрыта  Закрытая тема
Нет новых  Горячая тема (нет новых ответов) Перемещена  Тема перемещена
 

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