Архив рубрики: 1С Предприятие 8.2

1С 8.3 СКД чтобы при сохранении табличного документа в файл имя файла было уже предустановлено

Итак, имеем платформу 1С 8.2 или 1С 8.3. К примеру, ваши пользователи строго хотят сохранять выведенный табличный документ в эксель, и очень хотят, чтобы при сохранении документа имя файла было уже установлено, так как печатать его очень долго и нудно. И их можно понять. Выглядит это где то так (см. рис)

Как сохранять табличный документ СКД в файл, чтобы в диалоге выбора файла уже было предустановлено имя файла

Решение:

Предположим, у вас на форме имеется табличный документ, и он традиционно называется «Результат». То есть форму в любом случае нужно создать. Далее в событии формы «ПередЗагрузкойВариантаНаСервере(Настройки)» пишем такой текст программы:

Заметьте, расширение указывать не надо. Оно выбирается в диалоге в поле «Тип файла».

Удачи! Если я сэкономил вам много времени и сил, можете кинуть ссылку за труды на сайт в соцсетях, или пару рублей на вебмани. Реквизиты справа вверху.

Розничная торговля в неавтоматизированной торговой точке с суммовым учетом| УТП Украины 1.2 | 1С 8.3

1С 8.3, Управление торговым предприятием Украины 1.2

Описание

Основные положения

Неавтоматизированные торговые точки с суммовым учетом (СНТТ) – не ведется учет товаров в разрезе номенклатурных позиций. Отчет о продажах оформляется по упр и регл учетам. В бухучете счет номенклатуры

  1. 2822 «Товары в розничной торговле
  2. 2852 «Торговая наценка в неавтоматизированных торговых точках»

Факт продажи оформляется док. «Приходный кассовый ордер», вид операции «Прием розничной выручки».

Прием товара

Прием товара может быть выполнен перемещением с другого склада предприятия, либо поступлением от поставщика непосредственно на склад магазина.

Так как на торговой точке скорее всего нет компьютеров или кассовых аппаратов, факт приемка фиксируется копией накладной (ТТН), которая передается в офис, где и вводятся соответствующие документы:

  1. Поступление товаров и услуг в НТТ. СНТТ может принимать  только купленный товар, нельзя принимать товар на комиссию. При этом не используется ордерная схема.
  2. Перемещение с другого склада (оптового или розничного). При этом ордерную схему можно применять.

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

Цены розничные для СНТТ можно указывать только в гривнах, соответственно продажа может вестись только в гривнах.

Внимание! В СНТТ вы не увидите товар в привычных отчетах «Ведомость по товарам на складах», «Ведомость по товарам в рознице» или «Ведомость по товарам в НТТ». Независимо от того, получали вы товар на СНТТ непосредственно у поставщика, либо перемещали с другого склада. Весь товар, что отправлен в СНТТ – уходит как в черную дыру. Единственное, что вы увидите, это товар, перемещенный из СНТТ на оптовый склад.

При этом денежные обязательства перед поставщиком, и НДС кредит – возникают, как обычно в случае покупки.

Учет товаров

Фиксируется поступление выручки. В конце отчетного периода произвести инвентаризацию. Объем и номенклатура продаж СНТТ зафиксирована не будет.

Если нужно наоборот, передать деньги из кассы предприятия в кассу магазина, оформляется документ Расходный кассовый ордер с видом операции «Выдача денежных средств в кассу ККМ»

Поступление оплат на р/с фиксируется документом «Платежный ордер: поступление денежных средств» с видами операции:

  • Поступление оплаты по платежным картам
  • Поступление оплаты по банковским кредитам

Инвентаризация

Инвентаризация в СНТТ не работает!

Документ «Инвентаризация товаров на складе» служит как для фиксации реальных остатков и корректировки остатков, так и для фиксации продаж в НТТ.

Для корректировки остатков после ввода документа инвентаризации, на его основании вводятся документы «Оприходование товаров» и «Списание товаров». Сам документ «Инвентаризация товаров на складе» никаких движений по товарам не делает.

Переоценка товаров в рознице

Документ «Переоценка товаров в рознице» устанавливает цену товара на торговой точке.

Поступление товаров в СНТТ

Оформляется документами:

  1. Поступление товаров и услуг в НТТ
  2. Перемещение товаров

После поступления товаров в СНТТ их количество на складе становится неизвестным. Вы можете только увидеть, сколько поступило товара от поставщика с помощью отчета «Анализ закупок», и сколько товаров было перемещено с помощью отчета «Ведомость товаров на складах».

Приложение

Справочники

  1. Номенклатура
  2. Склады, места хранения

Документы

  1. Поступление товаров и услуг в НТТ
  2. Расходный ордер на товары
  3. Приходный кассовый ордер», вид операции «Прием розничной выручки»
  4. Расходный кассовый ордер с видом операции «Выдача денежных средств в кассу ККМ»
  5. «Платежный ордер: поступление денежных средств» с видами операции: Поступление оплаты по платежным картам или Поступление оплаты по банковским кредитам
  6. Инвентаризация товаров на складе
  7. Оприходование товаров
  8. Списание товаров

Отчеты

  1. Ведомость товаров на складах
  2. Закупки
  3. Универсальный отчет. Раздел «Товары в НТТ в продажных ценах»

Внимание: статья не завершена, так как уже выложенные на ютуб ролики из этой статьи оказались весьма не популярными. Поэтому доделывать буду медленно, по возможности. Не люблю выдавать не интересный контент. Но, если вам это интересно, и хотите продолжения, пишите в комментарии здесь, или под роликом. Ваши лайки, просмотры и комментарии — мой стимул выпускать интересные и полезные статьи и ролики.

1с 8.3 при выводе строки управляемые формы

Куда же подевалось событие «ПриВыводеСтроки» в управляемых формах, и как с этим быть? Убрали его по всей видимости потому, что это был основной источник загруженности сервера. Особенно программисты не очень высокой квалификации любят напихивать в это событие кучу запросов и циклов, которые «бомбят» сервер, при перерисовке каждой строчки, видимой на экране. Так как в управляемых формах клиентское приложение может вообще выполняться на веб-браузере, да ещё с плохим интернетом, такая тактика может привести к тому, что пользователь целый день будет сидеть, тупо уставившись в зависшую 1С.

Поэтому, решив не особо заморачиваться с запретами в коде события, 1С решили вывести основные моменты, связанные с оформлением строк в реквизиты формы, вернее свойства. Это очень похоже на условное оформление в СКД.

Вы нажимаете на шапку формы, заходите в её свойства, и ищете в разделе «Оформление» ссылку «Условное оформление».

Открывается такой же инструментарий, как в СКД для условного оформления

Добавляем новое оформление зеленым плюсом, и нажимаем на три точки, чтобы добавить само оформление. Ото пока что не связано с чем нибудь конкретным. Просто указываем нужный цвет, доступность, штифт и т.д.

Заметьте, в отличии от программной установки параметров в событии «ПриВыводеСтроки», где нужно было делать два варианта оформления — если условие выполнилось, и если условие не выполнилось — чтобы вернуть оформление на место. Здесь этого делать не нужно. Если условие не выполняется, то оформление применяется «по умолчанию», то есть которое вы видите, когда в конфигураторе создаете форму.

Вот какие параметры можно оформлять

Для подавляющего большинства случаев список вполне впечатляет.

Далее пишем условие, нажав на три точки в колонке «Условие»

Вы можете добавлять как группу условий, так и отдельные элементы. Условия между группами всегда «И», так же и между элементами, которые не находятся внутри групп всегда «И»

По сути мы написали условие :
Реквизит1 = 1 И Реквизит2 = 2 ИЛИ (НомерСтроки = 1 ИЛИ НомерСтроки = 3 ИЛИ НомерСтроки=6)

То есть внутри группы условие между отдельными элементами зависит от самой группы.

  1. Если это группа ИЛИ, условия будут ИЛИ внутри группы.
  2. Если это группа НЕ, значит конструкция такая: НЕ (условия внутри группы). Условия внутри группы будут идти через «И», поэтому, если хотите через «ИЛИ», в группу НЕ нужно добавить группу ИЛИ сразу.
  3. Группа И соответственно применяет условия «И» для выражения между элементами внутри себя.

Мои страдания и разбор «КАК ЭТО РАБОТАЕТ» можете более подробно рассмотреть в этом ролике:

1С 8.3 как открыть форму внешней обработки программно

Предположим, у Вас имеется внешняя обработка с двумя формами. Одна из форм является основной, а вторую вы должны открывать по нажатию кнопки в основной форме.

Обработка внешняя, потому что вы, как и я, не любите перезапускать каждый раз всю 1с, чтобы проверить очередной кусок кода. Тем более управляемые формы в этом плане очень заторможенно стартуют даже на хороших серверах. Однако в последствии вы хотите закинуть эту обработку в конфигурацию и использовать уже там.

Нам понадобится три функции.

Функция в модуле, которая определяет, это внешняя обработки, или нет. И функция на клиенте, которая в зависимости от результата открывает форму. Третья — функция на сервере, которая вызовет функцию из модуля. Боле элегантного решения пока что не увидел. Поэтому фиксирую сие «изобретение» для себя и для вас, дорогие читатели.

Выглядит это так. Сначала сделаем функцию в модуле:

Теперь пишем в модуле формы две функции. Первая «&НаКлиенте» — это событие от кнопки, вторая «&НаСервере» — вспомогательная, чтобы вызвать функцию из модуля.

1С Предприятие 8.3 Как проверить наличие реквизита документа или табличной части программно

В типовых конфигурациях это делается просто:

Но если у вас не типовая конфигурация, или же, как я, привыкли работать методами, предоставляемыми платформой по возможности максимально их используя, где это имеет смысл, тогда вот так:

Если реквизит отсутствует, тогда будет возвращено значение неопределено, как будет в случае с реквизитом «БабаЯга» в регистре цен.

К метаданным можно так-же обращаться через строковое имя, как в других коллекциях, что позволяет сделать гибкую программную обработку.

В случае удачного нахождения реквизита с указанным именем возвращается искомый объект метаданных, иначе, как уже упоминалось — НЕОПРЕДЕЛЕНО,

1c 8.3 (8.2, 8.1) перенос остатков товаров

Ахтунг! На момент написания статьи данная обработка выгружает только остатки оптовых и НТТ складов. Потому что я спешил и большего мне не нужно было на этот момент. Если вам нужно выгружать розничные склады, пишите в комментариях, я сделаю доработку.

Тестировалась в УТП Украины. Простые формы. В УПП не работает, так как в ней нет функции «инициализироватьДокумент». Возможно, если будет не лень, доработаю, чтобы было независимо от конфигурации. При желании можете доработать под свою конфигурацию. самостоятельно, заменив эту функцию своим кодом. Так как обмен происходит через формат csv, обработка не зависит от платформы или установленных сторонних программ типа Майкрософт Офиса и т.д.

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

Как перенести в другую базу только справочники и константы без документов, а так же цены в том числе, ну и ещё пользователей со всеми их настройками, постараюсь в ближайшее время выложить.

Я выкладываю обработку бесплатно, но надеюсь, если она окажется полезной, Вы щелкните по кнопке соцсети, или обратите внимание на некоторые объявления.

Принцип работы :

  1. Выгружается файл csv по указанному складу с остатками на конец указанной даты. Файл содержит перечень кодов номенклатуры и остатков по каждой позиции.
  2. Загружается из файла в другую базу. Номенклатура совмещается по коду. При загрузке создаются два документа: Оприходование для положительных остатков и списание — для отрицательных. Склад в этих документах берется из реквизита «Склад» обработки. Дата документа устанавливается из реквизита «Дата остатков» обработки. Так как при загрузке создаются не только количества, но и суммы в документах оприходования и списания, нужно указать тип цен.
Внешний вид обработки переноса остатков товаров

После выполнения обработки открываются формы документа оприходования и списания. Они не записаны. Вы можете внести недостающие счета и заполнить другие реквизиты, а затем провести или записать эти документы. Или же просто закрыть без сохранения.

1с 8 УТП Украины как программно получить текущего пользователя

Имеется ввиду не тот пользователь, который ПользователиИнформационнойБазы.ТекущийПользователь();

А тот, который в справочнике «Пользователи»

В УТП Украины 1.2 это можно сделать, выполнив функцию глЗначениеПеременной(«глТекущийПользователь»);

или же выполнив такие строки кода, что подходит и для других типовых конфигураций 1С:

ТекушийПользователь = ПользователиИнформационнойБазы.ТекущийПользователь();
ПользовательСсылка = Справочники.Пользователи.НайтиПоКоду(СокрЛП(ТекушийПользователь));

УТП Украины 1.3 не отображается закладка продаж по безналу в отчете о розничных продажах

В документе «Отчет о розничных продажах» будут отображаться вкладки «Оплата платежными картами» и «Оплата банковскими кредитами», если в настройке параметров учета установить соответствующие флажки на закладке «основные»: «Использовать оплату платежными картами» и «Использовать оплату банковскими кредитами» соответственно.

1с 8 в УТ 11 не открываются внешние обработки

В этой конфигурации роль «Полные права» не дает право открывать внешние отчеты и обработки. Поэтому следует ещё и добавить пользователю роль «Интерактивное открытие внешних отчетов и обработок»

После этого при следующем входе в систему пользователь увидит такое вот предупреждение:

Для некоторых это повод уйти на больничный, поэтому можете предупредить заранее, чтобы не пугались. Такая «пугалочка» появится только один раз. При последующих запусках вы её не увидите.

Как программно определить количество строк и столбцов Excel

Пример делаю на 1с 8, вместе с подключением и отключением 

Попытка
Эксель = Новый COMОбъект(«Excel.Application»);
Исключение
Предупреждение(«MS Excel не установлен на компьютере!»,10);
Возврат;
КонецПопытки;
Состояние(«Подключение к EXCEL»,50);
Книга = Эксель.WorkBooks.Open(Путь);
Лист = Книга.WorkSheets(1);
КолСтрок=Лист.Cells(1,1).SpecialCells(11).Row;
КолКолонок = Лист.Cells(1,1).SpecialCells(11).Column;

………………………

//Шо то робим

………………………