arefaste/1C_Forums huggingface dataset:
Какова последовательность действий?
---
направление правильное, главное начать
---
ходили сюда: http://www.chernozemie-inteko.ru/index.php?do=cat&category=pr_elevator ?
---
, (3) Вопрос был не в том, какие там есть бизнес-цепочки. Вопрос о последовательности действий по созданию конфигурации.
А картинка очень хороша
---
Вопрос о последовательности действий по созданию конфигурации.
можно подробнее расшифровать что нужно?

Последовательность одна: покупается типовое решение и допиливается до нужной кондиции, либо написание конфигурации с нуля вообще.
Для создания конфигурации необходимо тщательно написанное техническое задание.
---
"Пишу с нуля" присутствует в топике.
У меня восьмерочный опыт нулевой, вот и вопрошаю здесь :(
---
1) количественно - качественный учет поступающего зерна необходим?
2) сушка зерна проводится?
3) очистка зерна производится?
---
Мой кусочек - количественно-качественный учет поступления автотранспортом. По контрагентам, естественно. Состав конфы вижу такой:
1 документ (приходная накладная).
1 регистр накопления (для этих документов)
2 регистра сведений (журнал лаб. анализов и журнал взвешиваний)
Некоторое количество справочников.
3 пользовательских интерфейса (оператор на въезде, лаборант, админ)
Технологические обработки (работа с ридерами смарт-карт и сканерами штрих-кодов)
Отчеты по стандарту Росхлебнадзора.
Интерфейстые обработки (связь с другими подсистемами).
---
направление правильное, главное начать
---
Оно так... Глаза боятся, руки делают.
---
Документооборот элеватора + презентация элеватора
Будут ли компоненты написанные для 1С7.7 в формате .ert работать в 1С 8.2 или формат компонент поменялся для 8.2 кардинально (внутренняя структура, язык программирования)
Спасибо.
---
Обработку написанную на 1С7.7 необходимо будет переписать для 1С 8.2
---
Работать не будут. Требуется полностью переписать.
---
Обработку написанную на 1С7.7 необходимо будет переписать для 1С 8.2
---
Да, преемственность кода не сохранена, пишешь заново
---
Такая фигня даже с 1С81 на 1С82
---
js-ss,
Есть обработка на ИТС, которая конвертирует внешние отчеты/обработки с 1С81 на 1С82.
---
эта обработка, далеко не панацея. во многих местах придется переписывать код.
---
например?
что бы быстро оформлять фактическую передачу товара между магазинами, тоесть в каждой строке печатать штрихкод,
картинку с именем D1 для штрихкода я создал, поможет ли мне это:

// Строки накладной
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
ОбластьМакета = Макет.ПолучитьОбласть("Строка");
ОбластьМакета.Параметры.Заполнить(Выборка);

Если Выборка.ТипШтрихкода <> NULL И Выборка.Штрихкод <> NULL Тогда
ОбластьМакета.Рисунки.D1.Объект.ТипКода = Выборка.ТипШтрихкода.Код;
ОбластьМакета.Рисунки.D1.Объект.ТекстКода = Выборка.Штрихкод;
иначе
ОбластьМакета.Рисунки.D1.Объект.ТипКода = 0;
ОбластьМакета.Рисунки.D1.Объект.ТекстКода = "00000000";
КонецЕсли;

ТабДок.Вывести(ОбластьМакета);
КонецЦикла;
---
seregapplk,
ОбластьМакета.Рисунки.D1.Объект.Сообщение = Выборка.Штрихкод;
---
seregapplk,
ОбластьМакета.Рисунки.D1.Объект.Сообщение = Выборка.Штрихкод;
1С:Предприятие 8.2 (8.2.13.202)
Бухгалтерия бюджетного учреждения, редакция 1.0 (1.0.22.2)
Здравствуйте.Создал документ "Распределенная ЛБО"(распределение лимитов бюджетных обязательств)В нем реквизиты(КБК,доп.классификация,КОГСУ) и табличная часть с реквизитами В/ч и Сумма. То есть в таб.части указывается сколько выдали денег военной части.Сделал отчет с КБК,доп.классификация,КОГСУ в/ч и суммой,причем группировка идет по В/ч и доп.классификации.Вопрос,как добавить в отчет поле сумма которая берется из документа "заявка на кассовый расход (сокращенная)"и добавляется в отчете напротив суммы по в/ч?Я так думаю надо сделать выбор документов по КБК,доп.классификация и КОГСУ из документа "заявка на кассовый расход (сокращенная)" и если они совпадают с нашими реквизитами из документа "распределенная ЛБО" то сумма ставиться напротив суммы,но как это реализовать не знаю =\
Благодаря этому отчету мы будем видеть сколько выдано денег данной в/ч и сколько они потратили,можно добавить еще колонку в которой будет остаток.
---
табличная часть предполагает наличия нескольких записей, поэтому
1) Создаем виртуальную таблицу (табЛимит), делаем левое соединение (КБК,доп.классификация,КОГСУ) и (в/ч и сумма) из табличной части. Указываем связь РаспределениеЛБО.Ссылка=РаспределениеЛБОТабличнаяЧасть.Ссылка
2) Далее делаем соединение Заявки на кассовый расход и табЛимит по полю в/ч. Создаем новое поле в котором будет вычисляться выражение: Лимиты-сумма в заявке. Указываем группировать по в/ч
---
В поле связи указать связь по полям и поставить галочку выводить данные.
---
Пробовал,не получилось.Упростим задачу,есть 2 совершенно одинаковых документа в конфигурации.В отчете выводиться весь 1ый,а у второго только поле сумма если совпало 3 реквизита с 1ым документом,как осуществить?
---
табличная часть предполагает наличия нескольких записей, поэтому
1) Создаем виртуальную таблицу (табЛимит), делаем левое соединение (КБК,доп.классификация,КОГСУ) и (в/ч и сумма) из табличной части. Указываем связь РаспределениеЛБО.Ссылка=РаспределениеЛБОТабличнаяЧасть.Ссылка
2) Далее делаем соединение Заявки на кассовый расход и табЛимит по полю в/ч. Создаем новое поле в котором будет вычисляться выражение: Лимиты-сумма в заявке. Указываем группировать по в/ч
---
Спасибо,получилось)
Здравствуйте!
Зарплата и Управление Персоналом, редакция 2.5 (2.5.30.4)
Вопрос такой, есть сменный график, 2 через 2, некоторые рабочие часы попадают на воскресенье.
Документ "Оплата праздничных и выходных" доплачивает только за праздники по производственному календарю.
Нужно сделать так, чтобы воскресенье оплачивалось тоже, причем не всем подразделениям, точнее только одному не доплачивалось.
Оплата труда почасовая.
Надеюсь на вашу помощь.
---
я не правильно выразился, это доплата не должна отностится к статье 153 ТК
"Оплата труда в выходные и нерабочие праздничные дни"
и к одноименному документу в ЗУПе
а скорее всего к статье 144
http://trydovoy.ru/article144.htm
в соответсвии с трудовым договором

Можно сделать вид расчета "Доплата за Воскресенье" с произвольной формулой и
и создать показателель схемы мотивации "КоличествоДнейПриходящихсяНаВоскресенье" - Задается при расчете

В общем формула будет выглядеть так ,если в двойном размере,

КоличествоДнейПриходящихсяНаВоскресенье * ТарифнаяСтавкаДневная
или
КоличествоЧасовПриходящихсяНаВоскресенье * ТраифнаяСтавкаЧасовая

Доком "Регистрация разовых начислений" или "Начисление ЗП" в конце месяца расчитываем
---
Сообщение было скрыто модератором.
---
а ты сам-то кто по жизни?
---
А ты к чему спрашиваешь?
---
ну, может быть, помогу, если интересно будет
---
Сам то я пытаюсь во франче работать) тяжеловато без опыта программирования вообще) третий месяц) щас занимаюсь переводом одного, по меркам нашего города, крупного предприятия с семерки на 8.2. Вот возникают вопросы, проконсультироваться не с кем
---
насколько я помню у сотруднков работающих по сменному графику нет такого понятия как "Воскресенье"
и оплачивать его в увеличенном размере не имеете права.

А с помощью языка 1с можно сделать все что угодно
---
Да, спасибо, что откликнулись.
Почему не имею права? Я понимаю, что не доплачивать я не имею права, почему переплачивать то нет?
Вот так заведено на предприятии, что именно за воскресные дни, как я думал хозяин-барин, поправьте, если не так?
---
я не правильно выразился, это доплата не должна отностится к статье 153 ТК
"Оплата труда в выходные и нерабочие праздничные дни"
и к одноименному документу в ЗУПе
а скорее всего к статье 144
http://trydovoy.ru/article144.htm
в соответсвии с трудовым договором

Можно сделать вид расчета "Доплата за Воскресенье" с произвольной формулой и
и создать показателель схемы мотивации "КоличествоДнейПриходящихсяНаВоскресенье" - Задается при расчете

В общем формула будет выглядеть так ,если в двойном размере,

КоличествоДнейПриходящихсяНаВоскресенье * ТарифнаяСтавкаДневная
или
КоличествоЧасовПриходящихсяНаВоскресенье * ТраифнаяСтавкаЧасовая

Доком "Регистрация разовых начислений" или "Начисление ЗП" в конце месяца расчитываем
---
Спасибо Вам большое) я уже начал это делать, думал только про кол-во нужных дней в месяце)
Спасибо еще раз за отклик)
В СКД 2 набора данных - объекты, с полем Дата. Нужно связать эти наборы следующим образом: Набор1.Дата >= Набор2.Дата-180 и Набор1.Дата <= Набор2.Дата+180. Подскажите как это можно сделать?
---
Набор1.Дата МЕЖДУ ДОБАВИТЬКДАТЕ(Набор2.Дата, ДЕНЬ, -180) И ДОБАВИТЬКДАТЕ(Набор2.Дата, ДЕНЬ, 180)
---
Набор1.Дата МЕЖДУ ДОБАВИТЬКДАТЕ(Набор2.Дата, ДЕНЬ, -180) И ДОБАВИТЬКДАТЕ(Набор2.Дата, ДЕНЬ, 180)
---
В СКД нельзя выбрать Вид сравнения, можно выбрать поля Наборов... пробывал так написать в условиях связи, выдает ошибку "Не найдено Набор2.Дата".
---
. В скобках пиши номер ответа, чтобы падало мне на почту.
Приведи запрос, который ты делаешь в СКД.
Есть такая задача:
Есть общая форма, в которой описаны процедуры без параметров и с "Экспорт".
Есть другая форма, которая в результате некоторых действий получает текстовую строку с названим этих процедур.
Необходимо выполнить процедуру с указанным наименованием во второй форме. Как?
---
>В коде Формы2 я не могу вписать Форма2.Процедура2();

Или

Выполнить("Форма1" + НазваниеПроцедуры + "()");
---
"Выполнить"
---
Можно поподробнее... Куда вписывать переменную с именем процедуры?
---
Выполнить (Execute)

Синтаксис:
Выполнить(<Строка>)

Параметры:
<Строка>
Строка, содержащая текст исполняемого кода.

Описание:
Позволяет выполнить фрагмент кода, который передается ему в качестве строкового значения.
---
Может немного не понятно объяснил или я немного не понял ваш ответ.
Форма1
В ней описаны процедуры:
Процедура Процедура1() Экспорт
   //Текст процедуры
КонецПроцедуры

Процедура Процедура2() Экспорт
   //Текст процедуры
КонецПроцедуры

Процедура Процедура3() Экспорт
   //Текст процедуры
КонецПроцедуры

Форма2. В результате действий получаю строку "Процедура2". Это процедура из Форма1. Как мне ее выполнить?
---
Форма2.Процедура2();
---
Форма2
В ней переменная НазваниеПроцедуры Строка(0) Значение="Процедура2".
В коде Формы2 я не могу вписать Форма2.Процедура2(); так как для этого необходимо знать название процедуры.
Сравнение типа Если Тогда ИначеЕсли КонецЕсли не подойдет, потому что процедур в Форме 2 на самом деле около 100.
---
Выполнить(НазваниеПроцедуры);
---
А где здесь Форма1 в которой описаны процедуры?
---
>В коде Формы2 я не могу вписать Форма2.Процедура2();

Или

Выполнить("Форма1" + НазваниеПроцедуры + "()");
---
Спасибо. Сработало.
---
А вот интересно, в общих формах можно описывать экспортируемые процедуры и функции ? надо почитать.
---
. Не знаю, что об этом говорит 1С, но у меня работает, значит можно.
Требуется, чтобы после печати первого листа принтер "ждал", пока ему подадут другой лист.
В данном случае 1-й лист, просто перевёрнутый наоборот.
Двустороннюю печать принтер, увы, не поддерживает ((
---
Ё.. в настройках принтёра устанавливаешь - ручная падача и привет..
Можешь завести несколько принтёров в системе на 1 устройство с разными настройками.. и печатать как хочешь.
---
Выход простой:
формируешь не 1 таблицу, а столько, сколько листов
выводишь на принтер таблицы и между выводом ждёшь подтверждения готовности от пользователя!
---
Ё.. в настройках принтёра устанавливаешь - ручная падача и привет..
Можешь завести несколько принтёров в системе на 1 устройство с разными настройками.. и печатать как хочешь.
Есть такой код:

процедура ПриНачалеРаботыСистемы()
попытка
  ЗагрузитьВнешнююКомпоненту("Scaner1C.dll");// она должна быть в BIN
исключение
  Сообщить("Не найдена компонента сканера");
конецпопытки;
попытка
  СканерШтрихКода=Новый("AddIn.Scaner45");
исключение
  Сообщить("Не найдена компонента сканера");
конецпопытки;
конецпроцедуры

Необходим при считывании штрих-кода сканером чтобы штрих-код заносился в поле ввода в обработке.
Помогите, как можно это реализовать???
---
Короче я разобрался, фигня была в том, что я не установил в настройках сканера суффикс :-)
---
Автор все перепутал.
1. Какой сканер? com-портовый, клаиатурный или usb-шный?
2. Зачем использовать Scaner1c.dll, когда можно, как посоветовали уже, обойтись бесплатной scanopos.dll?
3. Для com-портового сканера, все решает метод ОбработкаВнешнегоСобытия в форме обработки, куда нужно что-то вносить.

Код
Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
   Если Событие = "BarCodeValue" Тогда
      МоеПоле=Данные;
      глСканерПосылкаДанных(1);
   КонецЕсли;
КонецПроцедуры
Показать полностью

Для Scaner1c.dll оно может и не сработать. се зависит от того, как эта dll-ка настроена при подключении. Там в переменной Данные может лежать совсем не то.
---
Подскажи еще.
1. В модуле формы обработки нет роцедуры ОбработкаВнешнегоСобытия, есть проц. ВнешнееСобытие.
2. глСканерПосылкаДанных(1) это что за процедурка или что это?
---
ОбработкаВнешнегоСобытия() предопределенная процедура, которая выполняется при возникновении внешнего события (например сигнала от сканера)
глСканерПосылкаДанных(1) очищает буфер сканера, чтоб в следующий раз передавать только новую информацию.
---
Возьми из ТиС обработку "Настройка торгового оборудования", так проще будет.
---
подскажи, а как выглядит обработочка scanOPOS.dll в модуле приложения?
---
всмысле не обработочка а текст процедуры ПриНачалеРаботы
---
Процедура ПриНачалеРаботыСистемы()
попытка
ЗагрузитьВнешнююКомпоненту("Scanopos.dll");// она должна быть в BIN
исключение
Сообщить("Не найдена компонента сканера");
конецпопытки;
попытка
СканерШтрихКода=Новый("AddIn.Scanner");
исключение
Сообщить("Не найдена компонента сканера");
конецпопытки;
конецпроцедуры
---
Короче я разобрался, фигня была в том, что я не установил в настройках сканера суффикс :-)
Приветствую многоуважаемый ALL!
Подскажите плз, иль киньте ссылкой где прочитать:
в 1С Предприятие 7,7 для печати накладной есть форма ТОРГ-12.
Оч. нужно прикрутить простую печатную форму.
Не пойму, как это сделать.
PS. В ТиС все прикрутил, а тут - прям беда... :(
---
Можно последовательность.
Если не трудно.
---
Здесь - это где?
В Караганде? Если да - то в Караганде прикручивается так же, как и в ТиСе
---
Здесь - это в 1с предприятие.
Пытался как в тис но пишет ошибку:

(....SALE.ERT(84):Функция не обнаружена(глПолучитьПолномочие)
---
это надо делать в 1С:Конфигураторе, программировать надо печатную форму, можно испльзовать конструктор печатных форм
---
Можно последовательность.
Если не трудно.
---
В конфигураторе (в общих таблицах) создал
форму простой накладной.
Дальше что?
Как сделать чтоб печаталась?
---
Ну неужели никто не знает?
:(
---
открываешь конфигуратор,
находишь документ, щелкаешь на него, открывается форма метаданных документа.
находишь кнопку форма, открываешься форму документа,
выбираешь внизу закладку - модуль.
находишь в верхнем меню Конструкторы - Печать, далее по инструкции
---
Все сделал, сохранил.
Залезаю в 1С ... нет изменений. :(
оч. прошу помогите, чую близка развязка.
ЗЫ. 2harleq: БАЛЬШОЕ СПАСИБО!
очень помог.
осталось чуть.
---
кнопка может не видна, на другом слое
---
Нужно перестать беспокоится и позвать наконец программиста 1С
---
2Снусмумрик: Нет возможности. :(
---
support Написал:
-------------------------------------------------------
> кнопка может не видна, на другом слое

и как быть?
---
вот здесь все найдешь
http://www.firststeps.ru/1c/1cbuh1.html
---
Народ!
Всем ОГРОМНОЕ СПАСИБО!
Все получилось!
Известная всем ошибка когда что-то не заполнено в проводках:

```1c
    {Документ.РасходнаяНакладная.Форма.ФормаДокумента.Форма(5208)}: Записать(ПараметрыЗаписи);
    по причине:
    Ошибка при выполнении обработчика - 'ОбработкаПроведения'
    по причине:
    {ОбщийМодуль.ПроведениеДокументовУНФ.Модуль(189)}: Ошибка при вызове метода контекста (Записать)
    Записать(ПараметрыЗаписи);
    по причине:
    Запись не верна! Не заполнен счет дебета (Регистр бухгалтерии: Журнал проводок; Номер строки: 23)
```

Хочу ее отловить в расширении и никак.
В перед записью заходит.
В обработку проверки заполнения и в при записи не заходит.
Как отловить?
Хочу выводить пользователю список ошибок проводок.
---
```1c
    &Вместо("ПередЗаписью")
    Процедура Расширение1_ПередЗаписью(Отказ, Замещение)

    Для Каждого ТекущаяЗапись Из ЭтотОбъект Цикл
    //ТекущаяЗапись.Период = НачалоМесяца(ТекущаяЗапись.Период);

    // проверяй заполненность
    // иначе
    Отказ = Истина;
    КонецЦикла;

    КонецПроцедуры
```
---
```1c
    &Вместо("ПередЗаписью")
    Процедура Расширение1_ПередЗаписью(Отказ, Замещение)

    Для Каждого ТекущаяЗапись Из ЭтотОбъект Цикл
    //ТекущаяЗапись.Период = НачалоМесяца(ТекущаяЗапись.Период);

    // проверяй заполненность
    // иначе
    Отказ = Истина;
    КонецЦикла;

    КонецПроцедуры
```
---
это лишняя нагрузка на систему. проверка заполнения будет дважды выполняться. мелочь, конечно, но все же.
---
Модуль формы, событие ПередЗаписью
и
Модуль объект, событие ПередЗаписью

выбирай, где хочется проверить.
---
я хочу словить отказ = истина. А не нагружать систему лишними проверками. это возможно?
---
нет, нужно писать проверку, чтобы получить красивое сообщение об ошибке.
---
разве 1с выдает это сообщение не при работе процедуры "Проверка заполнения", вот на ее выходе я ожидаю Отказ = истина, но нет.
---
на форме можно сделать поле Обязательным к заполнению.
---
поле чего? ггг...
я хочу дать универсальный диагностический инструмент для определения причин пустых счетов
---
Бред какой-то пишите. Если проводки формируются значит срабатывает событие ПриЗаписи. Возможно клиент-серанрный вариант и отладка на сервере отключена. Я бы делал через подпискуНаСобытие . Вроде там даже есть возможность отловить ОбработкаПроведения
---
проводки то не формируется.
Отладчик в передзаписью заходит.
Для универсальности хочу ловить в модуле набора записей, а не в местах вызова записи набора
---
проводки то не формируется

Интересно, с чего же тогда система дает сообщение

Запись не верна! Не заполнен счет дебета (Регистр бухгалтерии: Журнал проводок; Номер строки: 23) раз по Вашему мнению проводки не формируются ? Проводки как раз формируются но не записываются из-за ошибки
---
набор записей проводок заполнен,но не верно.
В перед записью модуля набора записей заходит. В "при записи" и "проверка заполнения" уже нет.
---
В чем проблема проверить в событии перед записью ?
---
перечитайте ветку, лишняя нагрузка на систему. ПередЗаписью Отказ = ложь
---
в итоге сделал контроль перед записью, его можно отключать константой например.
но проще держать всегда включенным, тогда можно получать расшифровку ошибки.