Обработка для печати ТТН, 1-Т и торг-12 с весом товара, расчетом количества мест и возможностью сохранения данных о товаре и водителе, для использования в следующих документах. Предназначена для бухгалтерии 3.0 (проверена на версии 3.0.50.19). Прописывается как печатная форма и в списке печатных форм документа реализация будет называться Печать ТТН (надеюсь, что с подключением внешних печатных форм большинство знакомы, а если нет, то легко найти описание этого процесса). Обработка легко адаптируется, в том числе и под не обновленные, сильно измененные конфигурации. Выполнена в виде печатной формы с предварительной обработкой данных в открывающейся форме. Выбран компактный вариант и при разрешении 1080*1920 позволяет на одном экране комфортно разместить всю нужную информацию. В одной форме собраны данные из гиперссылки Доставка, табличной части документа и информация о марке, типе автомобиля и удостоверении (номере прав), сохраняемых в справочнике физические лица. Независимо от возможно сохранения, нужные данные можно ввести в одной форме и использовать их для печати всех трех печатных форм. Если создать указанные ниже доп.реквизиты (сведения), то введенные данные будут сохраняться и использоваться в следующих документах (при использовании данной обработки). Доп. сведения привязаны к номенклатуре МассаНетто, МассаБрутто, Упаковка, ВМесте. Упаковка с типом классификатор единиц измерения, остальные число. К реализации привязан Водитель с типом Физические Лица и к Физ.лицам ВодительскоеУдостоверение, МаркаАвтомобиля и ГосНомер с типом дополнительное значение. Набор доп.сведений не обязательно полный, если Вас например не интересует количество мест и вид упаковки, можно не вводить реквизиты ВМесте и Упаковка. Имена и тип доп.сведений важны, поиск чувствителен к регистру. Более подробно о создании этих реквизитов написано в отдельном приложенном файле.
Недавно обратился клиент с просьбой помочь автоматизировать печать Товарно транспортной накладной (1-Т) и Транспортной накладной с указанием веса, вида упаковки и количества мест. Я уже занимался такими вещами, но применительно к данным водителя. 1С почему-то разместила эти данные в документе, хотя количество водителей явно меньше чем количество документов и логичнее было бы разместить такие данные в физ.лице, а в документе просто выбирать нужного. Ну что тут сделаешь. С весом и упаковками оказалось еще хуже. В табличной части есть только один полезный реквизит – Количество мест. Хотя, мне кажется, было бы логичнее указать количество штук в одном месте. Это бы позволило автоматически все пересчитывать при изменении количества. Правда есть еще и коэффициент, правда с совершенно темным назначением. Ну а с весом еще хуже, никаких реквизитов для их хранения 1с не предусмотрела. Если учесть, что в Торг-12 тоже желательно указывать вес и количество мест, то дорабатывать мне надо три печатных формы. Плюс к этому, часть данных спрятаны в документе и видны только по ссылке Доставка, и не все знают, что они вообще есть. Я решил поступить по другому. Создал обработку, которая при открытии считывает данные, уже имеющиеся в документе и имеет поля для внесения остальных (недостающих). В том числе я считываю и табличную часть документа. Номенклатура, единица измерения и количество считаны из табличной части и недоступны для изменения. Добавлены поля для Веса Нетто, Брутто, Количества мест (считывается, если заполнено), штук в месте и вида упаковки. Для удобства расчета добавлены Брутто и Нетто по строке (вдруг не известен вес отдельной бутылки, но известен вес всего количества).
Можно конечно вбивать эти данные в печатной форме, но тогда придется самостоятельно подбивать итоги по документу и страницам. А введя их в обработке, Вы получите итоги автоматически. Можно просто использовать эту обработку в такой ограниченной функциональности, но хотелось бы еще и сохранять введенные данные. Менять конфигурацию для этого я не могу, поэтому воспользовался Дополнительными реквизитами (точнее дополнительными сведениями). Я привязываю Номер водительского удостоверения, марку и номер автомобиля к Физическому лицу, водителя к документу реализации и четыре реквизита к номенклатуре. Эта обработка не предназначена для баз с сотней тысяч (или миллионами) единиц номенклатуры и бешенным количеством реализаций в месяц. Надеюсь, что у таких пользователей есть свой программист и пусть он решает, можно ли заводить эти реквизиты (или модернизирует обработку, или все делает сам). Это сделано для небольших баз. Для баз с несколькими сотнями единиц номенклатуры, такой размер регистра сведений (куда будут заноситься сохраненные данные) не критичен.
Если создать эти доп.реквизиты (это должен сделать только один раз наиболее опытный из пользователей) и больше о них можно не вспоминать, обработка будет работать с ними сама. Но если таких опытных нет, то в отдельном файле хранится инструкция, как это сделать (это надо сделать только один раз). При нажатии в обработке кнопки Выполнить, все будет автоматически сохранено, если Вы не снимите флажки (в верхней части обработки), управляющие этим сохранением. Можно отдельно управлять сохранением данных в шапке, в табличной части документа (количество мест) и отдельно для каждого дополнительного реквизита. Если такой реквизит не создан, то пункт недоступен и установленного флажка для сохранения, там конечно не будет. Отменять сохранение может быть полезным, например при разовой отгрузке с нестандартными упаковками. Предполагается, что обработку можно использовать не с полным набором созданных доп.реквизитов, если есть сомнения, что объем хранимой информации окажется слишком велик.
Над табличной частью есть кнопка Повторить. Когда отпускается несколько похожих товаров в одинаковой упаковке (вино, соки и т.д), то можно один раз набить вес, количество штук в одном месте и тип упаковки, а затем повторить это на следующие н-строк (правее стоит общее число строк, т.е. повторить для всех, но можно указать конкретное количество строк для повторения).
Внизу размещены флажки для управления выводом на печать. Можно указать какие формы печатать, сколько экземпляров и отправить вывод на экран или сразу на принтер.
Данные о водителе хранятся в справочнике физические лица. Если Вы откроете документ, где уже введен водитель, я попытаюсь найти его по наименованию в справочнике физ.лиц. если это не удастся, то поле окажется пустым, а при выборе его (это ссылка на справочник) будет сделана попытка считать сохраненные данные, а если их еще не было, то очистятся уже введенные в документ данные. Чтобы этого не произошло, поставьте флажок Не считывать. Очистки не произойдет и при сохранении (по кнопке Выполнить) эти данные будут привязаны к этому, выбранному физ.лицу. При выборе его в любом другом документе, данные считаются и разместятся в соответствующих полях.
Если доп.реквизиты у номенклатуры созданы и данные сохраняются, то при следующем использовании этой номенклатуры, вес, упаковка и количество штук в месте будут считаны и пересчитаны на новое количество. Т.е. повторный ввод не потребуется. А при выборе водителя будут подставлены сохраненные у него данные об его удостоверении, марке и номере автомобиля. Остальные поля, типа Грузополучатель, грузоотправитель, Сопроводительные документы и т.д. будут считаны (а при выполнении сохранены) в реквизитах, которые доступны на закладке Доставка. Если там что-то хранилось, то будет считано в момент открытия формы (при изменении документа прямо из этой формы документ не перечитывается, надо открывать форму заново). Кнопка Выполнить сохраняет данные из формы обработки в соответствии с установленными флажками (вверху обработки) и печатает, если установлен флаг хотя бы у одной из печатных форм (внизу обработки).
К каждой номенклатуре можно привязать только один набор сохраненных данных. Если товары отправляются в разных упаковках, то информация будет затираться. Удобнее будет завести отдельную номенклатуру для каждого вида упаковок. Но это можно решить и в процессе использования.
Обработка должна помочь в заполнении данных о весе и виде упаковки товаров и данных о водителе. В ней в удобном виде (в одном месте) собраны основные данные для печати ТТН. Я не учитывал объем товара и некоторые другие данные, встречающиеся в печатных формах. Но текст обработки открыт. В нем комментариями выделены три группы процедур – написанные полностью мной, стандартные процедуры, взятые из конфигурации той версии, на которой шла разработка (3.0.49.20) и процедуры, взятые из конфигурации, но доработанные. Начало и конец доработок обозначены. Любой начинающий программист сумеет адаптировать обработку под другие версии (например более старые) или изменить способ сохранения данных (если конфигурации не стандартные).
Разработка написана более месяца назад, но по некоторым причинам использовалась очень ограниченно. Полноценного тестирования не состоялось. Но ждать тестирования дольше смысла не имеет, выйдут новые версии бухгалтерии, придется перерабатывать (что вообщем-то не сложно). Буду рад замечаниям и пожеланиям, чтобы сделать обработку более удобной.
Не нашел куда вставить бесплатный файл с описанием добавления доп.сведений. Вставляю сюда.
Создание дополнительных сведений в бухгалтерии 3.0.
Описываю создание в интерфейсе такси при не урезанных правах и только тех доп.сведений, что нужны для полноценной работы обработки). Администрирование, Общие настройки, Дополнительные реквизиты и сведения. Ставим флажок, что собираемся использовать дополнительные реквизиты и сведения. Список значений и общие реквизиты нам не нужны (но если у Вас уже есть, не помешают). Нажимаем гиперссылку Дополнительные сведения. Слева полный список объектов, к которым можно их привязать. Ищем номенклатуру (можно набрать несколько первых символов). Стоя напротив номенклатуры нажимаем кнопку Создать. В наименовании набираем название ВМесте. Именно так, без пробелов и заглавными буквами в начале слов. Поиск чувствителен к регистру, поэтому только так ВМесте. Тип значения – Число. Внизу можно выбрать длину и точность. Это значение будет содержать количество штук в одной упаковке. В большинстве случаев можно обойтись целым числом в 3-5 символов. Но на работу это не повлияет. Важно, что это именно число. Больше ничего можно не указывать, при работе с данной обработкой Вы не увидите ни подсказок, ни комментариев, ни значений (опять же, работе не помешает, если вы их зададите). Создаем еще два дополнительных сведения МассаНетто и МассаБрутто с типом число. Названия строго так. Если будете использовать в полном объеме, то нужно еще одно доп.сведение в номенклатуре – Упаковка. Только тип значения нужно выбрать Классификатор единиц измерения. Здесь будет храниться название единицы места (упаковки). Например Поддон, Контейнер, Ящик и т.д. Естественно их надо до начала работы с обработкой занести в классификатор, выбрав из ОКЕИ. С номенклатурой все. Ищем Реализация (акты, накладные). Кнопка Создать, наименование Водитель, тип Физическое лицо. Это позволит нам в документе сохранить не произвольную строку с именем водителя, а ссылку на справочник Физическое лицо, где будут привязки к номеру прав (удостоверения), марке и гос.номеру автомобиля. Если один водитель может приезжать на разных авто, можно создать несколько физ лиц, как-то различая их (лишний пробел, подчеркивание и т.д.). У реализации одно доп.сведение – Водитель, тип Физическое лицо. Осталось найти Физические лица и создать там 3 доп сведения ВодительскоеУдостоверение, МаркаАвтомобиля и ГосНомер. Именно так, без пробелов, с заглавными в начале слов. У всех тип значения оставляем тот, что по умолчанию – дополнительное значение. Это некий аналог справочника, но для работы обработки важно только правильный тип значения (и конечно имя), остальное Вы не увидите.
Все необходимое для сохранения данных мы создали. Теперь обработка может работать в полном режиме, сохраняя нужные Вам сведения.