Связи параметров выбора или как связать поля ввода на форме

Если на форме два поля, один из которых подчинён другому по структуре данных, то часто бывает необходимо ограничить ввод данных по владельцу. Например, есть поле Партнёр и Вид цены поставщика.

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

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

Связи параметров выбора

Связи параметров выбора

Теперь необходимо в колонке Имя вместо Партнер ввести текст Отбор.Владелец. Задача выполнена!

 

Конструктор характеристик номенклатуры в 1С УТ

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

В карточке номенклатуры на закладке «Конструктор характеристик» были добавлены возможные списки.

barcelonadesign 2

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

barcelonadesign 3

Настройка обмена между 1С и сайтом Barcelona Design

Выполнен проект по созданию обмена «с нуля» между 1С Управление торговлей и взаимоотношениями с клиентами (CRM), редакция 2.0 и сайтом www.barcelonadesign.ru

www.barcelonadesign.ru

www.barcelonadesign.ru

Данные обмена:

  • Номенклатура и её многочисленные реквизиты
  • Характеристики
  • Цены
  • Скидки
  • Остатки
  • Статусы номенклатуры

Если не хватает лицензий 1С

Если не хватает лицензий 1С, а денег на покупку дополнительных в данный момент времени не предусмотрено, можно попробовать следующий способ.

Не секрет, что многие сотрудники пользуясь 1С не очень то любят ее закрывать и могут сидеть в программе часами, а то и сутками. При этом у них может быть запущена и 1С Бухгалтерия, и 1С Управление торговлей, и еще что-нибудь. И при этом не использоваться — потому что пока не надо, в данный момент пользователя занимается другими задачами. Но лицензия то занята, ладно еще если это «железная» лицензия, а если программная, то все еще хуже.

Программная лицензия расходуется на каждое подключение каждого пользователя на каждый сеанс каждой конфигурации. Если же у вас «железная» лицензия (USB-ключ), то на одну лицензию один пользователь может открыть сколько угодно много разных сеансов разных конфигураций.

Так вот, как раз для таких пользователей в 1С есть настройка. Нужно зайти в программу в режиме конфигуратора, далее выбрать меню Администрирование -> Параметры информационной базы.

Параметры информационной базы 1С

Параметры информационной базы 1С

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

Кстати, кто спит, а кто активен всегда можно посмотреть через консоль сервера на закладке сеансов. В соответствующей колонке есть признак Да/Нет.

Спящие сеансы 1С

Спящие сеансы 1С

Новый сайт для дизайнера Ирины Крашенинниковой

Мне, как человеку, который считает что мелочи это важно, было вдвойне интересно работать над сайтом дизайнера интерьеров Ирины Крашенинниковой irinakrasheninnikova.ru. Все же дизайнеры в этом плане очень щепетильны и любая мелочь для них очень важна.

Новый сайт для дизайнера Ирины Крашенинниковой

Новый сайт для дизайнера Ирины Крашенинниковой

Для сайтов такого типа, на мой взгляд, идеально подходит wordpress, он понятен пользователю с точки зрения добавления новых записей, управлению контентом. Также его легко структурировать под свои потребности — дополнительные текстовые поля, признаки да/нет и т.д., чтобы записи можно было визуально разделить на категории и не ограничиваться базовым функционалом.

Было потрачено много времени, но результат, думаю, того стоит. Вот, что пишет Ирина о моей работе:

Благодарю Константина за работу над моим сайтом. Точность выполнения согласованных сроков и терпеливый подход к «просьбам заказчика» сделали работу с ним не только эффективной, но и приятной. Константин, спасибо за сотрудничество! Желаю вам множества интересных проектов!

 

Путевые листы в 1С Бухгалтерия — облегчение заполнения

Существуют различные доработки для типовых программ 1С, в частности и для Бухгалтерии 2.0 по учету путевых листов автотранспорта. Как известно для нетранспортных компаний допускается заполнении путевых листов 1 раз в месяц, но тем хуже для ответственного сотрудника, т.к. это достаточно муторная работа и нужно сделать ее за раз, но при этом объем рутины велик.

У одного моего клиента как раз стояла такая задача и решение оказалось очень изящным — использование GPS автотрекеров. Благо рынок сейчас по этой услуге уже очень развит. Теперь достаточно 1 раз в месяц зайти на сайт поставщика услуг и сделать импорт точек в файл, который потом подгрузить в 1С.

Если перед вами стоит подобная проблема, пожалуйста, обращайтесь — автоматизируем этот процесс вместе.

Бюджетирование в 1С УПП 1.3 — удобство и способы настройки

Продолжая тему Настройки бюджетирования в 1С УПП 1.3 хочу поделиться тем, что еще было усовершенствовано в интерфейсе подсистемы для более удобной работы по составлению бюджетов.

В справочнике «Источники данных для расчетов бюджетирования» был добавлен режим, который позволяет получить данные написав кусок кода на встроенном языке программирования 1С. Этот режим предназначен для более сложных случаев получения данных, когда одного запроса мало. Например, возникла необходимость получения средней численности сотрудников. Для этого в системе уже есть отчет, но если посмотреть на его систему компоновки данных, то станет понятно, что просто так оттуда запрос не вытащить. Да и смысла в этом нет, можно использовать уже настроенную СКД для своего случая, что и делается через код 1С, который размещается в источнике данных для расчетов бюджетирования.

Новый режим "Выполнить" для справочника "Источники данных для расчетов бюджетирования"

Новый режим «Выполнить» для справочника «Источники данных для расчетов бюджетирования»

В справочнике «Статьи бюджета» помимо режима «Выполнить» также добавил режим «Формула» — ведь некоторые статьи бюджета являются вычисляемыми на основе других статей, логично настраивать это на уровне статей бюджета, а не источников данных для расчетов бюджетирования. Тут можно применять любые простые арифметические операции, формула выполняется столбиком, как мы учились раньше в школе считать 😉

Новый режим "Формула" для справочника "Статьи бюджета"

Новый режим «Формула» для справочника «Статьи бюджета»

Еще была добавлена функция «Бюджет-база», смысл ее в том, чтобы для случаев, когда требуется сделать отдельный бюджет, например, по какому-то ЦФО, которое не вписывается в общую картину. И чтобы не копировать все статьи, отличие то всего лишь в десятке статей, достаточно указать, что у текущего бюджета есть бюджет-база

Новая функция "Бюджет-база"

Новая функция «Бюджет-база»

а потом в текущей статье бюджета указать какую статью бюджета бюджета-базы будем замещать

Статья замещения в бюджете-базе

Статья замещения в бюджете-базе

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

Разработан отчет, который позволяет получить данные по плану и факту бюджета доходов и расходов (БДР):

  • с отклонениями
  • помесячно
  • помесячно только факт
  • сравнение фактов за разные периоды
План-факт бюджета доходов и расходов с отклонениями

План-факт бюджета доходов и расходов с отклонениями

Динамика бюджета доходов и расходов помесячно

Динамика бюджета доходов и расходов помесячно

 

Интеграция 1С и интернет-магазина

Была задача сделать сайт интернет-магазина аксессуаров для сотовых телефонов «Сотолайн»  так, чтобы все необходимые данные брались из 1С (номенклатура, цены) и возвращались обратно (заказы).

Движок написал на «голом» PHP, без применения каких-либо фреймворков или CMS типа 1С-Битрикс. Возможно читатель заметит, что сейчас это не модно, и возможно будет прав в своей ситуации. Я честно потратил некоторое время на изучение популярных CMS (1С-Битрикс, PHPShop, HotCMS и т.п.), самое сложное было найти простую поддержку нескольких цен к товару, оказывается это мало кто умеет «из коробки». Еще одна тенденция — шаг в лево от типовых настроек CMS приводит к тому, что без глубокого изучения используемых подходов и внутреннего языка CMS сделать что-либо затруднительно.

В итоге были достигнуты следующие цели:

  1. Плотная интеграция 1С и интернет-магазина — у сайта нет админки как таковой, все необходимые настройки выполняются на стороне 1С, в т.ч. наполнение статичных страниц «Доставка», «Контакты» и т.д. Пользователь работает только в привычной среде 1С.
  2. Поддержка нескольких цен, у каждой свой диапазон применения исходя из суммы заказа с автоматическим пересчётом при переходе в другой диапазон.
  3. Быстрый движок интернет-магазина за счет отказа от использования фреймворков и CMS.

 

Интернет-магазин аксессуаров для сотовых телефонов Sotoline.su

Интернет-магазин аксессуаров для сотовых телефонов Sotoline.su

 

Переход с 1С УТ 10.3 на 1С УТ 11.1

Как-то, работая еще в офисе, начинал проект по переходу с самописной торговли (аля упрощенная УТ 10) на УТ 11, но дальше подготовительного этапа дело не пошло — руководство мучало меня вопросами «а надо ли переходить?!», я понимая ситуацию честно отвечал, что нет ;), т.к. это непростой процесс, нужно обучить сотрудников новому интерфейсу, логика программы другая и т.д. Да и реально видел, что в компании мало кто заинтересован в этом, обычные менеджеры и финансисты привыкли к расположению кнопочек и циферок в отчетах, им все-равно в какой программе они работают. А чтобы перейти на новый продукт это же сколько телодвижений нужно сделать — этого никому не хочется. Так в раздумьях прошло два месяца и меня уволили, решив остаться на самописке.

Так вот, сейчас как раз начинаю новый проект по переходу с УТ 10 на УТ 11, посмотрим что из этого выйдет. Пока нахожусь в стадии обновления десятки до 10.3.21, чтобы воспользоваться стандартной обработкой по переходу на УТ 11. И уже столкнулся с тем, что через поддержку конфигурация обновляться не хочет — какой-то глюк с номером версии.

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

При выгрузке из 1С УТ 10.3 помощником перехода на 1С УТ 11 столкнулся с проблемами, из-за которых выгрузка останавливалась:

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

    ВЫБРАТЬ
    КонтактнаяИнформация.Объект,
    КонтактнаяИнформация.Тип,
    КонтактнаяИнформация.Вид,
    КонтактнаяИнформация.Представление
    ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ ТИПЗНАЧЕНИЯ(КонтактнаяИнформация.Вид) = ТИП(СТРОКА)

  2. Битые ссылки — решается через конфигуратор меню «Администрирование» -> «Тестирование и исправление»
  3. Возникли сложности с выгрузкой данных из 1С УТ 10.

 

продолжение следует…

Перенос базы PostgreSQL на другой сервер

В процессе перехода с 1С УТ 10 на 1С УТ 11 возникла задача выгрузки данных типовой обработкой перехода, но проблема — текущий сервер слабенький и памяти на эту процедуру не хватало. Также был новый сервер, более мощный для дальнейшей работы на 1С УТ 11. Было решено сперва перенести старую базу на новый сервер и уже оттуда делать выгрузку. На обоих серверах в качестве БД был PostgreSQL.

При загрузки базы возникала ошибка:

pg_restore: restoring data for table «_reference20»
pg_restore: [tar archiver] corrupt tar header found in e388645783b719e153965767e18f4baf4645229302ce9ffa13190 (expected 17, computed 35577) file position 9188850688
pg_restore: *** aborted because of error

 

Было много разных попыток, но ничего не помогало, не буду об этом подробнее, лучше расскажу, что в итоге было сделано.

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

Берем полученный pg_dump’ом файл и разархивируем его (например, 7z) в каталог, далее ищем в нем файл restore.sql, по сути это SQL-скрипт, в котором прописано как восстанавливать базу, еще в каталоге есть файлы с расширением dat — в них находится содержимое таблиц.

Нужно открыть restore.sql в текстовом редакторе (лучше использовать Notepad++) и сделать поиск+замену подстроки $$PATH$$ на путь к вашему каталогу, где лежат dat-файлы, например c:/temp/w (последний слэш не нужен). Не забываем сохранить файл.

Теперь нужно очистить dat-файл с данными нашей таблицы, где возникает ошибка. В моем случае у справочника есть еще табличная часть, а значит кроме _reference20 нужно еще почистить и _reference20_vt412. Поиском находим, что это 15523.dat и 15524.dat соответственно. Очистить нужно не буквально, а записать в файл два символа \. (обратный слэш и точка), можно для этого в командной строке использовать

echo \. > XXXX.dat

Находил мнение, что базу 1С для PostgreSQL лучше создавать средствами 1С, не знаю насколько это так, но при танцах с бубнами это может пригодится. Далее в созданную базу будем заливать данные командой psql (вместо pg_restore):

psql.exe —host localhost —port 5432 —username postgres —dbname=w —file=»C:\temp\w\restore.sql»

Ждем окончания процесса, должно получится!